<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">127.0.0.1:32322</a> -> <a href="http://127.0.0.1:8000">127.0.0.1:8000</a> [AP]<br>POST /RPC HTTP/1.1.<br>User-Agent: curl/<a href="http://7.29.0.">7.29.0.</a><br>Host: <a href="http://127.0.0.1:8000">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">127.0.0.1:8000</a> -> <a href="http://127.0.0.1:32322">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">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">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">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">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">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">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">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">sr-users@lists.kamailio.org</a>
<a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" target="_blank">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">www.asipto.com</a>
<a href="http://www.twitter.com/miconda" target="_blank">www.twitter.com/miconda</a> -- <a href="http://www.linkedin.com/in/miconda" target="_blank">www.linkedin.com/in/miconda</a>
Kamailio Advanced Training - March 9-11, 2020, Berlin - <a href="http://www.asipto.com" target="_blank">www.asipto.com</a>
Kamailio World Conference - April 27-29, 2020, in Berlin -- <a href="http://www.kamailioworld.com" target="_blank">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">www.asipto.com</a>
<a href="http://www.twitter.com/miconda" target="_blank">www.twitter.com/miconda</a> -- <a href="http://www.linkedin.com/in/miconda" target="_blank">www.linkedin.com/in/miconda</a>
Kamailio Advanced Training - March 9-11, 2020, Berlin - <a href="http://www.asipto.com" target="_blank">www.asipto.com</a>
Kamailio World Conference - April 27-29, 2020, in Berlin -- <a href="http://www.kamailioworld.com" target="_blank">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">www.asipto.com</a>
<a href="http://www.twitter.com/miconda" target="_blank">www.twitter.com/miconda</a> -- <a href="http://www.linkedin.com/in/miconda" target="_blank">www.linkedin.com/in/miconda</a>
Kamailio Advanced Training - March 9-11, 2020, Berlin - <a href="http://www.asipto.com" target="_blank">www.asipto.com</a>
Kamailio World Conference - April 27-29, 2020, in Berlin -- <a href="http://www.kamailioworld.com" target="_blank">www.kamailioworld.com</a></pre>
  </div>

</blockquote></div><div><br></div><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div></div></div></div></div></div></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>