<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hello,</p>
<p>do you have http_reply_parse=yes ?</p>
<p>The error is from topos catching the http reply being sent out
and trying to handle it.</p>
<p>Cheers,<br>
Daniel<br>
</p>
<div class="moz-cite-prefix">On 22.01.20 12:34, Nuno Ferreira wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CA+945_O-e6si8fj-o=Cb+JSEjYUn0UB7M+j6qin4Q5bzTpQLOw@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr">
<div dir="ltr">Hi,
<div><br>
</div>
<div>I'm using kamailio 5.2.4 (topos enabled) and HTTP 1.1</div>
<div>Here's ngrep output:</div>
<div><font face="monospace">####<br>
T <a href="http://127.0.0.1:32322" moz-do-not-send="true">127.0.0.1:32322</a>
-> <a href="http://127.0.0.1:8000"
moz-do-not-send="true">127.0.0.1:8000</a> [AP]<br>
POST /RPC HTTP/1.1.<br>
User-Agent: curl/<a href="http://7.29.0."
moz-do-not-send="true">7.29.0.</a><br>
Host: <a href="http://127.0.0.1:8000"
moz-do-not-send="true">127.0.0.1:8000</a>.<br>
Accept: */*.<br>
Content-Type: application/json.<br>
Content-Length: 75.<br>
.<br>
{"id": 1, "jsonrpc": "2.0", "method": "pl.list", "params":
["pipe_INVITE"]}<br>
##<br>
T <a href="http://127.0.0.1:8000" moz-do-not-send="true">127.0.0.1:8000</a>
-> <a href="http://127.0.0.1:32322"
moz-do-not-send="true">127.0.0.1:32322</a> [AP]<br>
HTTP/1.1 400 Unknown pipe id pipe_INVITE.<br>
Sia: SIP/2.0/TCP <a href="http://127.0.0.1:32322"
moz-do-not-send="true">127.0.0.1:32322</a>.<br>
Content-Type: application/json.<br>
Server: SIP Proxy (v1.1.0-360).<br>
Content-Length: 105.<br>
.<br>
{<br>
."jsonrpc":."2.0",<br>
."error":.{<br>
.."code":.400,<br>
.."message":."Unknown pipe id pipe_INVITE"<br>
.},<br>
."id":.1<br>
}<br>
####</font><br>
</div>
<div><br>
</div>
<div>Debug logs from kamailio:</div>
<div><font face="monospace">Jan 22 11:20:50 proxy1
kamailio[19000]: DEBUG: <core> [core/ip_addr.c:229]:
print_ip(): tcpconn_new: new tcp connection: 127.0.0.1<br>
Jan 22 11:20:50 proxy1 kamailio[19000]: DEBUG:
<core> [core/tcp_main.c:999]: tcpconn_new(): on port
32304, type 2<br>
Jan 22 11:20:50 proxy1 kamailio[19000]: DEBUG:
<core> [core/tcp_main.c:1309]: tcpconn_add():
hashes: 3634:3788:434, 41<br>
Jan 22 11:20:50 proxy1 kamailio[19000]: DEBUG:
<core> [core/io_wait.h:380]: io_watch_add(): DBG:
io_watch_add(0xa85ba0, 39, 2, 0x7f87c726b9e0), fd_no=29<br>
Jan 22 11:20:50 proxy1 kamailio[19000]: DEBUG:
<core> [core/io_wait.h:602]: io_watch_del(): DBG:
io_watch_del (0xa85ba0, 39, -1, 0x0) fd_no=30 called<br>
Jan 22 11:20:50 proxy1 kamailio[19000]: DEBUG:
<core> [core/tcp_main.c:4196]: handle_tcpconn_ev():
sending to child, events 1<br>
Jan 22 11:20:50 proxy1 kamailio[19000]: DEBUG:
<core> [core/tcp_main.c:3878]: send2child():
selected tcp worker idx:0 proc:19 pid:18996 for activity
on [tcp:<a href="http://127.0.0.1:8000"
moz-do-not-send="true">127.0.0.1:8000</a>],
0x7f87c726b9e0<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/tcp_read.c:1759]: handle_io(): received
n=8 con=0x7f87c726b9e0, fd=11<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/tcp_read.c:1560]: tcp_read_req():
content-length=75<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/parser/msg_parser.c:610]: parse_msg():
SIP Request:<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/parser/msg_parser.c:612]: parse_msg():
method: <POST><br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/parser/msg_parser.c:614]: parse_msg():
uri: </RPC><br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/parser/msg_parser.c:616]: parse_msg():
version: <HTTP/1.1><br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/parser/msg_parser.c:185]:
get_hdr_field(): content_length=75<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/parser/msg_parser.c:89]:
get_hdr_field(): found end of header<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG: topos
[topos_mod.c:269]: tps_prepare_msg(): non sip request
message<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/parser/msg_parser.c:610]: parse_msg():
SIP Request:<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/parser/msg_parser.c:612]: parse_msg():
method: <POST><br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/parser/msg_parser.c:614]: parse_msg():
uri: </RPC><br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/parser/msg_parser.c:616]: parse_msg():
version: <HTTP/1.1><br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/parser/msg_parser.c:185]:
get_hdr_field(): content_length=75<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/parser/msg_parser.c:89]:
get_hdr_field(): found end of header<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/receive.c:246]: receive_msg(): ---
received sip message - request - call-id: [] - cseq: []<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: [328B blob data]<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/parser/msg_parser.c:610]: parse_msg():
SIP Request:<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/parser/msg_parser.c:612]: parse_msg():
method: <POST><br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/parser/msg_parser.c:614]: parse_msg():
uri: </RPC><br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/parser/msg_parser.c:616]: parse_msg():
version: <HTTP/1.1><br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/parser/parse_via.c:2639]: parse_via():
end of header reached, state=5<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/parser/msg_parser.c:498]:
parse_headers(): Via found, flags=2<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/parser/msg_parser.c:500]:
parse_headers(): this is the first via<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/parser/msg_parser.c:185]:
get_hdr_field(): content_length=75<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/parser/msg_parser.c:89]:
get_hdr_field(): found end of header<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: ERROR: pipelimit
[pl_ht.c:519]: rpc_pl_list(): no pipe: pipe_INVITE<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG: jsonrpcs
[jsonrpcs_mod.c:423]: jsonrpc_send(): sending response
with body: 0x7ffce2bc6810 - 400 Unknown pipe id
pipe_INVITE<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG: xhttp
[xhttp_mod.c:429]: xhttp_send_reply(): response with
content-type: application/json<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG: xhttp
[xhttp_mod.c:439]: xhttp_send_reply(): response with body:
{<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG: xhttp
[xhttp_mod.c:441]: xhttp_send_reply(): sending out
response: 400 Unknown pipe id pipe_INVITE<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/msg_translator.c:162]:
check_via_address(): (127.0.0.1, 127.0.0.1, 0)<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG: sl
[sl_funcs.c:500]: sl_run_callbacks(): execute callback for
event type 1<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG: siptrace
[siptrace.c:1369]: trace_sl_onreply_out(): trace off...<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/parser/parse_fline.c:249]:
parse_first_line(): parse_first_line: bad request first
line<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/parser/parse_fline.c:251]:
parse_first_line(): at line 0 char 20:<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/parser/parse_fline.c:257]:
parse_first_line(): parsed so far: HTTP/1.1 400 Unknown<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: ERROR:
<core> [core/parser/parse_fline.c:262]:
parse_first_line(): parse_first_line: bad message (offset:
20)<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/parser/msg_parser.c:606]: parse_msg():
invalid message<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: [456B blob data]<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG: topos
[topos_mod.c:263]: tps_prepare_msg(): outbuf buffer
parsing failed!<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/tcp_main.c:2226]: tcpconn_send_put():
send from reader (18996 (19)), reusing fd<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/tcp_main.c:2460]: tcpconn_do_send():
sending...<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/tcp_main.c:2494]: tcpconn_do_send():
after real write: c= 0x7f87c726b9e0 n=278 fd=11<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: [431B blob data]<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/usr_avp.c:636]: destroy_avp_list():
destroying list (nil)<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/usr_avp.c:636]: destroy_avp_list():
destroying list (nil)<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/usr_avp.c:636]: destroy_avp_list():
destroying list (nil)<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/usr_avp.c:636]: destroy_avp_list():
destroying list (nil)<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/usr_avp.c:636]: destroy_avp_list():
destroying list (nil)<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/usr_avp.c:636]: destroy_avp_list():
destroying list (nil)<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/xavp.c:495]: xavp_destroy_list():
destroying xavp list (nil)<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/receive.c:458]: receive_msg(): cleaning
up<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/io_wait.h:380]: io_watch_add(): DBG:
io_watch_add(0xaf1560, 11, 2, 0x7f87c726b9e0), fd_no=1<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/tcp_read.c:198]:
tcp_emit_closed_event(): TCP closed event creation
triggered (reason: 0)<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/tcp_read.c:206]:
tcp_emit_closed_event(): no callback registering for
handling TCP closed event<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/tcp_read.c:318]: tcp_read_data(): EOF
on 0x7f87c726b9e0, FD 11 ([127.0.0.1]:32304 -><br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/tcp_read.c:319]: tcp_read_data(): ->
[127.0.0.1]:8000)<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/tcp_read.c:1527]: tcp_read_req(): EOF<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/io_wait.h:602]: io_watch_del(): DBG:
io_watch_del (0xaf1560, 11, -1, 0x10) fd_no=2 called<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/tcp_read.c:1683]: release_tcpconn():
releasing con 0x7f87c726b9e0, state -1, fd=11, id=4137
([127.0.0.1]:32304 -> [127.0.0.1]:8000)<br>
Jan 22 11:20:50 proxy1 kamailio[18996]: DEBUG:
<core> [core/tcp_read.c:1684]: release_tcpconn():
extra_data (nil)<br>
Jan 22 11:20:50 proxy1 kamailio[19000]: DEBUG:
<core> [core/tcp_main.c:3308]: handle_tcp_child():
reader response= 7f87c726b9e0, -1 from 0</font><br>
</div>
<div><br>
</div>
<div>Regards,</div>
<div><br>
</div>
<div>Nuno</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Wed, Jan 22, 2020 at 7:19
AM Daniel-Constantin Mierla <<a
href="mailto:miconda@gmail.com" moz-do-not-send="true">miconda@gmail.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div>
<p>Hello,</p>
<p>what version of kamailio are you using and what http
version is curl using? Can you paste here the http
request taken with ngrep from the network?</p>
<p>Cheers,<br>
Daniel<br>
</p>
<div>On 21.01.20 19:00, Nuno Ferreira wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div dir="ltr">Hi Daniel,
<div><br>
</div>
<div>There's no other traffic than the HTTP
requests.</div>
<div>This comment in src/core/parser/parse_fline.c
99 - 113, caugh my attention:</div>
<div><br>
</div>
<div> <font face="monospace">} else if
(http_reply_parse != 0 &&<br>
(*tmp=='H' || *tmp=='h') &&<br>
/* 'HTTP/1.' */<br>
strncasecmp( tmp+1, HTTP_VERSION+1,
HTTP_VERSION_LEN-1)==0 &&<br>
/* [0|1] */<br>
((*(tmp+HTTP_VERSION_LEN)=='0') ||
(*(tmp+HTTP_VERSION_LEN)=='1')) &&<br>
(*(tmp+HTTP_VERSION_LEN+1)==' ') ){ <br>
<b> /* ugly hack to be able to route http
replies<br>
* Note: - the http reply must have a via<br>
* - the message is marked as SIP_REPLY
(ugly)</b><br>
*/<br>
fl->type=SIP_REPLY;<br>
fl->flags|=FLINE_FLAG_PROTO_HTTP;<br>
fl->u.reply.version.len=HTTP_VERSION_LEN+1
/*include last digit*/;<br>
tmp=buffer+HTTP_VERSION_LEN+1 /* last digit */;</font><br>
</div>
<div><font face="monospace"><br>
</font></div>
<div><font face="arial, sans-serif">and later in
error1:</font></div>
<div><font face="monospace">error1:<br>
fl->type=SIP_INVALID;<br>
LOG((core, core_cfg, corelog),
"parse_first_line: bad message (offset: %d)\n",
offset);<br>
/* skip line */<br>
nl=eat_line(buffer,len);<br>
return nl;<br>
</font></div>
<div><font face="monospace"><br>
</font></div>
<div><font face="arial, sans-serif">So that log line
can be conditional if FLINE_FLAG_PROTO_HTTP is
not part of fl->flags.</font></div>
<div><font face="arial, sans-serif">I just don't
know where the "</font><span
style="font-family:monospace">[466B blob data]</span><span
style="font-family:arial,sans-serif">" is
getting printed</span></div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Tue, Jan 21,
2020 at 4:30 PM Daniel-Constantin Mierla <<a
href="mailto:miconda@gmail.com" target="_blank"
moz-do-not-send="true">miconda@gmail.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px
0px 0px 0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div>
<p>Hello,</p>
<p>as I said, watch the traffic on port 8000
with ngrep or some other network sniffer to
see what data comes there. You can also start
kamailio with debug=3 in config, more debug
logs should be printed to syslog to get the
context of what is processed at that time.</p>
<p>Cheers,<br>
Daniel<br>
</p>
<div>On 21.01.20 16:31, Nuno Ferreira wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div dir="ltr">Hi Daniel,
<div><br>
</div>
<div>Thanks for your feedback.</div>
<div>I have a dedicated listen directive
for JSONRPC</div>
<div><font face="monospace">listen = <a
href="http://127.0.0.1:8000"
target="_blank"
moz-do-not-send="true">127.0.0.1:8000</a></font><br>
</div>
<div><br>
</div>
<div>and then an event_route for it:</div>
<div><font face="monospace">event_route[xhttp:request]
{<br>
if ($Rp != 8000) {<br>
xhttp_reply("403",
"Forbidden", "text/html",
"<html><body>Forbidden</body></html>");<br>
exit;<br>
}<br>
if ($hu =~ "^/RPC") {<br>
jsonrpc_dispatch();<br>
} else {<br>
xhttp_reply("200", "OK",
"text/html",
"<html><body>Wrong URL
$hu</body></html>");<br>
}<br>
return;<br>
}<br>
</font></div>
<div><br>
</div>
<div>So, I'm already doing HTTP traffic
only in port 8000.</div>
<div>The interesting part is that if I use
kamcmd pl.list pipe_INVITE, only the
first log line is printed. Using curl, I
see the other 2 logs all the time.</div>
<div><br>
</div>
<div>Thank you</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Tue,
Jan 21, 2020 at 2:45 PM
Daniel-Constantin Mierla <<a
href="mailto:miconda@gmail.com"
target="_blank" moz-do-not-send="true">miconda@gmail.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote"
style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div>
<p>Hello,</p>
<p>can you want the traffic on port
8000 and see if there is no
"unexpected" traffic there? There
should be no error message for
parsing the first line of an HTTP
request.</p>
<p>The error message related the
missing pipe can be made debug.<br>
</p>
<p>Cheers,<br>
Daniel<br>
</p>
<div>On 21.01.20 15:34, Nuno Ferreira
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>Hi all,</div>
<div><br>
</div>
<div>I'm using pipelimit with the
"clean_unused" option to get rid
of pipes that are not used for
quite some time. At the same
time we are monitoring pipelimit
with a jsonrpc call similar to:</div>
<div><br>
</div>
<div><font face="monospace"># curl
--header 'Content-Type:
application/json'
--data-binary '{"id": 1,
"jsonrpc": "2.0", "method":
"pl.list", "params":
["pipe_INVITE"]' <a
href="http://127.0.0.1:8000/RPC"
target="_blank"
moz-do-not-send="true">http://127.0.0.1:8000/RPC</a><br>
<br>
</font></div>
<div><font face="arial,
sans-serif">Reply:</font></div>
<div><font face="monospace">{<br>
"jsonrpc": "2.0",<br>
"error": {<br>
"code": 400,<br>
"message": "Unknown pipe
id pipe_INVITE"<br>
},<br>
"id": 1</font><br>
</div>
<div><font face="monospace">}</font></div>
<div><br>
</div>
<div>The above reply is valid
because the pipe_INVITE was not
loaded yet, but the request
makes kamailio to log the
following log messages:</div>
<div><br>
</div>
<div><font face="monospace">Jan 20
11:21:48 proxy1
kamailio[24474]: ERROR:
pipelimit [pl_ht.c:519]:
rpc_pl_list(): no pipe:
pipe_INVITE<br>
Jan 20 11:21:48 proxy1
kamailio[24474]: ERROR:
<core>
[core/parser/parse_fline.c:262]:
parse_first_line():
parse_first_line: bad message
(offset: 20)<br>
Jan 20 11:21:48 proxy1
kamailio[24474]: [466B blob
data]</font></div>
<div><br>
</div>
<div>Since the monitoring system
does periodic requests, those
log lines get a bit annoying and
fill the log with ERROR messages
that aren't really errors.</div>
<div><br>
</div>
<div>IMHO the first log line
should be converted to DEBUG
instead of ERROR, but I have
some doubts about the one
from parse_fline.c:262. parse_first_line()
is used to process both SIP and
HTTP. It makes sense to log
ERROR if SIP but not in the case
of HTTP...</div>
<div>Regarding the "[466B blob
data]" I really don't know from
where it's coming from.</div>
<div>I can submit a PR, but I
would like to have first some
feedback from you.</div>
<div><br>
</div>
Thank you,
<div><br>
</div>
<div>Nuno<br clear="all">
<div><br>
</div>
</div>
</div>
<br>
<span
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">*Confidentiality
Notice: The information contained
in this e-mail and any</span><br
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
<span
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">attachments
may be confidential. If you are
not an intended recipient, you</span><br
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
<span
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">are
hereby notified that any
dissemination, distribution or
copying of this</span><br
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
<span
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">e-mail
is strictly prohibited. If you
have received this e-mail in
error,</span><br
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
<span
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">please
notify the sender and permanently
delete the e-mail and any</span><br
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
<span
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">attachments
immediately. You should not
retain, copy or use this e-mail or</span><br
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
<span
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">any
attachment for any purpose, nor
disclose all or any part of the</span><br
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
<span
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">contents
to any other person. Thank you.*</span>
<br>
<fieldset></fieldset>
<pre>_______________________________________________
Kamailio (SER) - Users Mailing List
<a href="mailto:sr-users@lists.kamailio.org" target="_blank" moz-do-not-send="true">sr-users@lists.kamailio.org</a>
<a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" target="_blank" moz-do-not-send="true">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a>
</pre>
</blockquote>
<pre cols="72">--
Daniel-Constantin Mierla -- <a href="http://www.asipto.com" target="_blank" moz-do-not-send="true">www.asipto.com</a>
<a href="http://www.twitter.com/miconda" target="_blank" moz-do-not-send="true">www.twitter.com/miconda</a> -- <a href="http://www.linkedin.com/in/miconda" target="_blank" moz-do-not-send="true">www.linkedin.com/in/miconda</a>
Kamailio Advanced Training - March 9-11, 2020, Berlin - <a href="http://www.asipto.com" target="_blank" moz-do-not-send="true">www.asipto.com</a>
Kamailio World Conference - April 27-29, 2020, in Berlin -- <a href="http://www.kamailioworld.com" target="_blank" moz-do-not-send="true">www.kamailioworld.com</a></pre>
</div>
</blockquote>
</div>
<div><br>
</div>
</div>
<br>
<span
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">*Confidentiality
Notice: The information contained in this
e-mail and any</span><br
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
<span
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">attachments
may be confidential. If you are not an
intended recipient, you</span><br
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
<span
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">are
hereby notified that any dissemination,
distribution or copying of this</span><br
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
<span
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">e-mail
is strictly prohibited. If you have received
this e-mail in error,</span><br
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
<span
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">please
notify the sender and permanently delete the
e-mail and any</span><br
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
<span
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">attachments
immediately. You should not retain, copy or
use this e-mail or</span><br
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
<span
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">any
attachment for any purpose, nor disclose all
or any part of the</span><br
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
<span
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">contents
to any other person. Thank you.*</span> </blockquote>
<pre cols="72">--
Daniel-Constantin Mierla -- <a href="http://www.asipto.com" target="_blank" moz-do-not-send="true">www.asipto.com</a>
<a href="http://www.twitter.com/miconda" target="_blank" moz-do-not-send="true">www.twitter.com/miconda</a> -- <a href="http://www.linkedin.com/in/miconda" target="_blank" moz-do-not-send="true">www.linkedin.com/in/miconda</a>
Kamailio Advanced Training - March 9-11, 2020, Berlin - <a href="http://www.asipto.com" target="_blank" moz-do-not-send="true">www.asipto.com</a>
Kamailio World Conference - April 27-29, 2020, in Berlin -- <a href="http://www.kamailioworld.com" target="_blank" moz-do-not-send="true">www.kamailioworld.com</a></pre>
</div>
</blockquote>
</div>
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<p
style="font-family:Arial;color:rgb(0,0,0);font-size:12px"><br>
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<br>
<span
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">*Confidentiality
Notice: The information contained in this e-mail and
any</span><br
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
<span
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">attachments
may be confidential. If you are not an intended
recipient, you</span><br
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
<span
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">are
hereby notified that any dissemination, distribution
or copying of this</span><br
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
<span
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">e-mail
is strictly prohibited. If you have received this
e-mail in error,</span><br
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
<span
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">please
notify the sender and permanently delete the e-mail
and any</span><br
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
<span
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">attachments
immediately. You should not retain, copy or use this
e-mail or</span><br
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
<span
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">any
attachment for any purpose, nor disclose all or any
part of the</span><br
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
<span
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">contents
to any other person. Thank you.*</span> </blockquote>
<pre cols="72">--
Daniel-Constantin Mierla -- <a href="http://www.asipto.com" target="_blank" moz-do-not-send="true">www.asipto.com</a>
<a href="http://www.twitter.com/miconda" target="_blank" moz-do-not-send="true">www.twitter.com/miconda</a> -- <a href="http://www.linkedin.com/in/miconda" target="_blank" moz-do-not-send="true">www.linkedin.com/in/miconda</a>
Kamailio Advanced Training - March 9-11, 2020, Berlin - <a href="http://www.asipto.com" target="_blank" moz-do-not-send="true">www.asipto.com</a>
Kamailio World Conference - April 27-29, 2020, in Berlin -- <a href="http://www.kamailioworld.com" target="_blank" moz-do-not-send="true">www.kamailioworld.com</a></pre>
</div>
</blockquote>
</div>
<div><br>
</div>
</div>
<br>
<span
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">*Confidentiality
Notice: The information contained in this e-mail and any</span><br
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
<span
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">attachments
may be confidential. If you are not an intended recipient, you</span><br
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
<span
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">are
hereby notified that any dissemination, distribution or copying
of this</span><br
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
<span
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">e-mail
is strictly prohibited. If you have received this e-mail in
error,</span><br
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
<span
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">please
notify the sender and permanently delete the e-mail and any</span><br
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
<span
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">attachments
immediately. You should not retain, copy or use this e-mail or</span><br
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
<span
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">any
attachment for any purpose, nor disclose all or any part of the</span><br
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">
<span
style="color:rgb(51,51,51);font-family:Arial,sans-serif;font-size:14px;background-color:rgb(255,255,255)">contents
to any other person. Thank you.*</span>
</blockquote>
<pre class="moz-signature" cols="72">--
Daniel-Constantin Mierla -- <a class="moz-txt-link-abbreviated" href="http://www.asipto.com">www.asipto.com</a>
<a class="moz-txt-link-abbreviated" href="http://www.twitter.com/miconda">www.twitter.com/miconda</a> -- <a class="moz-txt-link-abbreviated" href="http://www.linkedin.com/in/miconda">www.linkedin.com/in/miconda</a>
Kamailio Advanced Training - March 9-11, 2020, Berlin - <a class="moz-txt-link-abbreviated" href="http://www.asipto.com">www.asipto.com</a>
Kamailio World Conference - April 27-29, 2020, in Berlin -- <a class="moz-txt-link-abbreviated" href="http://www.kamailioworld.com">www.kamailioworld.com</a></pre>
</body>
</html>