<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">I had a similar issue with RTP engine. When I got hold and called rtpengine_manage it had errors.<div class=""><br class=""></div><div class=""> I’m using rtpengine_manage, so doing something like this:<div class=""><br class=""></div><div class=""><div class=""> if(!is_present_hf("x-purpose")) {</div><div class="">                if(nat_uac_test("8")) {</div><div class="">                        xlog("L_ERR","NATMANAGE DBG test 8\n");</div><div class=""><br class=""></div><div class="">                        if(ds_is_from_list()){</div><div class="">                                rtpengine_manage("replace-session-connection replace-origin direction=priv direction=pub");</div><div class="">                        } else {</div><div class="">                                rtpengine_manage("replace-session-connection replace-origin direction=pub direction=priv");</div><div class="">                        }</div><div class="">                } else {</div><div class="">                        if(ds_is_from_list()) {</div><div class="">                                rtpengine_manage("replace-session-connection replace-origin trust-address direction=priv direction=pub");</div><div class="">                        } else {</div><div class="">                                rtpengine_manage("replace-session-connection replace-origin trust-address direction=pub direction=priv");</div><div class="">                        }</div><div class="">                }</div><div class="">        }</div><div class=""><br class=""></div><div class="">The x-purpose is a header I added in my sip client whenever I do hold.</div><div class=""><br class=""></div><div class="">I hope that helps.</div><div class=""><br class=""></div><div class="">Best Regards,</div><div class="">Arik </div><div class=""><br class=""></div><div><br class=""><blockquote type="cite" class=""><div class="">On 23 Mar 2018, at 16:50, gerry kernan <<a href="mailto:gerry.kernan@infinityit.ie" class="">gerry.kernan@infinityit.ie</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="WordSection1" style="page: WordSection1; font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">I’ve been testing with jitsi softphone from a different location( customer was using Zoiper which fails every time) and hold/unhold works every time, mightn’t  be a Kamailio or rtpengine issue. I’ll do further tests to see if it local firewall/network<o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""><o:p class=""> </o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""><o:p class=""> </o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""><o:p class=""> </o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">Best Regards<o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""><o:p class=""> </o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">Gerry Kernan<o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""><o:p class=""> </o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><b class=""><span lang="EN-US" style="font-size: 11pt; font-family: Calibri, sans-serif;" class="">From:</span></b><span lang="EN-US" style="font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="Apple-converted-space"> </span>sr-users [<a href="mailto:sr-users-bounces@lists.kamailio.org" class="">mailto:sr-users-bounces@lists.kamailio.org</a>]<span class="Apple-converted-space"> </span><b class="">On Behalf Of<span class="Apple-converted-space"> </span></b>Sergiu Pojoga<br class=""><b class="">Sent:</b><span class="Apple-converted-space"> </span>23 March 2018 12:50<br class=""><b class="">To:</b><span class="Apple-converted-space"> </span>Kamailio (SER) - Users Mailing List <<a href="mailto:sr-users@lists.kamailio.org" class="">sr-users@lists.kamailio.org</a>><br class=""><b class="">Subject:</b><span class="Apple-converted-space"> </span>Re: [SR-Users] <UNJUNKED> Re: Audio stops after resuming call from hold<o:p class=""></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><o:p class=""> </o:p></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class="">Config code looks solid to me. Look at the 'c=' in SDP in the forward and reply re-INVITEs. If it gets properly overwritten (same way as it is for the dialog forming INVITE) when rtpengine is engaged, then I believe we are facing some kind of bug in the 4.2 version of Kamailio, something about this thread:<span class="Apple-converted-space"> </span><a href="https://lists.kamailio.org/pipermail/sr-users/2012-September/074567.html" style="color: purple; text-decoration: underline;" class="">https://lists.kamailio.org/pipermail/sr-users/2012-September/074567.html</a><o:p class=""></o:p></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><o:p class=""> </o:p></div></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class="">I can't upgrade Kamailio at the moment to test my theory as it's a production environment, but may be you can?<o:p class=""></o:p></div></div></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><o:p class=""> </o:p></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class="">On Fri, Mar 23, 2018 at 6:17 AM, gerry kernan <<a href="mailto:gerry.kernan@infinityit.ie" target="_blank" style="color: purple; text-decoration: underline;" class="">gerry.kernan@infinityit.ie</a>> wrote:<o:p class=""></o:p></div><blockquote style="border-style: none none none solid; border-left-width: 1pt; border-left-color: rgb(204, 204, 204); padding: 0cm 0cm 0cm 6pt; margin-left: 4.8pt; margin-right: 0cm;" class="" type="cite"><div class=""><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">Hi<span class="Apple-converted-space"> </span></span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">I think my issue is related to rtpengine when the call is take off hold. Im using a private address and a public address . below is route section of our Kamailio.cfg and do I have somethimg setup incorrectly for handleing re-invites?</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">/usr/sbin/rtpengine --pidfile /var/run/rtpengine.pid --table=-1 --interface=priv/192.X.X.X --interface=pub/212.X.X.X --listen-ng=<a href="http://127.0.0.1:7722/" target="_blank" style="color: purple; text-decoration: underline;" class="">127.0.0.1:7722</a><span class="Apple-converted-space"> </span>--tos=184 --timeout=60 --log-level=7 --log-facility=local5 --homer-protocol=udp --homer-id=2011</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">request_route {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        route(SANITY);</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        force_rport();</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        # CANCEL processing</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        if (is_method("CANCEL")) {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                if (t_check_trans()) {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                        route(RELAY);</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                }</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                exit;</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        }</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        # handle retransmissions</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        if (!is_method("ACK")) {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                if(t_precheck_trans()) {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                        t_check_trans();</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                        exit;</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                }</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                t_check_trans();</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        }</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        # handle requests within SIP dialogs</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        route(WITHINDLG);</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        ### only initial requests (no To tag)</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        # record routing for dialog forming requests (in case they are routed)</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        if (is_method("INVITE|SUBSCRIBE")) {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                record_route();</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        }</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        if (af==INET) {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                route(SIPIPV4);</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        } else {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                route(SIPIPV6);</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        }</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">}</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""># Stateful fowarding</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">route[RELAY] {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        if (!t_relay()) {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                sl_reply_error();</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        }</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        exit;</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">}</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""># Handle requests within SIP dialogs</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">route[WITHINDLG] {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        if (!has_totag()) return;</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        # sequential request withing a dialog should</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        # take the path determined by record-routing</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        if (loose_route()) {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                route(DLGURI);</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                if ( is_method("ACK") ) {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                        # ACK is forwarded statelessly</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                        if (has_body("application/sdp")) {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                                rtpengine_answer();</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                        }</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                } else if ( is_method("NOTIFY") ) {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                        # Add Record-Route for in-dialog NOTIFY as per RFC 6665.</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                        record_route();</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                }</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                route(DISPATCH);</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                exit;</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        }</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        if ( is_method("ACK") ) {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                if ( t_check_trans() ) {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                        # no loose-route, but stateful ACK;</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                        # must be an ACK after a 487</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                        # or e.g. 404 from upstream server</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                        route(RELAY);</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                        exit;</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                } else {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                        # ACK without matching transaction ... ignore and discard</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                        exit;</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                }</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        }</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        sl_send_reply("404","Not here");</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        exit;</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">}</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">route[SIPIPV4] {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        if (src_ip != BACKEND_NET4)</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                # device (client) to server (backend)</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                route(V4DEVTOSRV);</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        } else {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                # server (backend) to devuce (client)</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                route(V4SRVTODEV);</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        }</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">}</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">route[SIPIPV6] {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        sl_send_reply("404", "Not routing for IPv6");</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        exit;</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">}</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">route[V4DEVTOSRV] {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        xlog("L_NOTICE", "client->backend FROM CLIENT IP: $si $rm $ru  $td ID=$ci\n");</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        # SIP request packet client->backend</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        # - remove preloaded route headers</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        remove_hf("Route");</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        if (!lookup_domain("$td", "dattr_")) {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                xlog("L_ERR", "$si $rm $ru -- domain \"$td\" is not "</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                                "found in domain table\n");</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                xlog("attempt to login with unkown domain from $si");</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                sl_send_reply("404", "No route for domain");</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                exit;</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        }</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        if (!defined $avp(dattr_routeset)) {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                xlog("L_ERR", "$si $rm $ru -- attribute \"routeset\" is " +</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                                "undefined for domain $td\n");</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                sl_send_reply("404", "No route id for domain");</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                exit;</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        }</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        if( !ds_select_dst(4000 + $avp(dattr_routeset), "1") ) {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                xlog("L_NOTICE", "Drop....\n");</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                sl_send_reply("404", "No destination");</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        }</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        if (is_method("REGISTER")) {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                add_path_received();</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        } else {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                if (nat_uac_test("19")) {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                        if(is_first_hop()) {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                                add_contact_alias();</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                        }</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                }</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        }</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        if (has_body("application/sdp")) {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                rtpengine_offer("direction=pub direction=priv ICE=remove");</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        }</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        route(DISPATCH);</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        xlog("L_NOTICE", "DISPATCH: source address: $si SIP request's method: $rm SIP Request's URI: $ru ID=$ci\n");</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        exit;</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">}</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">route[V4SRVTODEV] {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        # SIP request packet backend->client</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        # Invites from backend contain Route field and it should be used</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        # to reach the registered client</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        xlog("L_NOTICE", "backend->client FROM BACKEND: source address: $si"</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                        "  METHOD: $rm  $ru  To-URI: $tu ID=$ci \n");</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        xlog("L_NOTICE", "backend->client $rm: TO $ru FROM $fu ID=$ci\n");</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        if (has_body("application/sdp")) {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                rtpengine_offer("direction=priv direction=pub ICE=remove");</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        }</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        if(!is_present_hf("Route")) {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                sl_send_reply("404", "No record routing");</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                exit;</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        }</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        loose_route();</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        route(DISPATCH);</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">}</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">route[DISPATCH] {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        xlog("L_NOTICE", "ROUTE-DISPATCH $si $rm $ru ID=$ci \n");</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        xlog("L_NOTICE", "ROUTE-DISPATCH Messege buff.... ID=$ci $rm  \n $mb\n");</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        if(!is_method("ACK")) {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                if (has_body("application/sdp")) {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                        xlog("L_NOTICE", "SDP Offer....ID=$ci\n");</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                        t_on_reply("INVSDP");</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                } else {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                        t_on_reply("INVNOSDP");</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                }</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        }</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        xlog("L_NOTICE", "DISPATCH $si METHOD: $rm $ru $du ID=$ci\n");</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        xlog("L_NOTCIE", "Return code: $rc ID=$ci\n");</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        route(RELAY);</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        exit;</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">}</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""># URI update for dialog requests</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">route[DLGURI] {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        if(!isdsturiset()) {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                handle_ruri_alias();</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        }</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        return;</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">}</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">route[REPLYALIAS] {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        if(src_ip != BACKEND_NET4) {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                # SIP reply packet client->backend</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                xlog("L_NOTICE", "FROM CLIENT($si onreply_route- ): Method: $rm"</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                                "$ru To: $tu Recieved on: $Ri ID=$ci ");</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                add_contact_alias();</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        } else {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                # SIP reply packet backend->client</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                xlog("L_NOTICE", "FROM BACKEND($si onreply_route): Method: $rm"</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                                " $ru To: $tu Recieved on: $Ri  ID=$ci");</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                xlog("L_NOTICE", "FROM BACKEND #rtpengine_answer# ($si onreply_route):"</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                                " source address: $si SIP request's method: $rm SIP Request's"</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                                " URI: $ru ID=$ci\n");</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        }</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">}</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">onreply_route[INVSDP] {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        if (af!=INET) {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                exit;</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        }</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        if (has_body("application/sdp")) {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        xlog("L_NOTICE", "INVSDP Route: Method: $rm"</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                                " $ru To: $tu Recieved on: $Ri  ID=$ci\n $mb\n");</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                rtpengine_answer();</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        }</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        route(REPLYALIAS);</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        exit;</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">}</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">onreply_route[INVNOSDP] {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        if (af!=INET) {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                exit;</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        }</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        if (has_body("application/sdp")) {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        xlog("L_NOTICE", "INVNOSDP Route: Method: $rm"</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                                " $ru To: $tu Recieved on: $Ri  ID=$ci\n $mb\n");</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">       <span class="Apple-converted-space"> </span></span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                if(src_ip == BACKEND_NET4) {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                        rtpengine_offer("direction=priv direction=pub ICE=remove");</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                } else {</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                        rtpengine_offer("direction=pub direction=priv ICE=remove");</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">                }</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        }</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        route(REPLYALIAS);</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">        exit;</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class="">}</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Lucida Console";" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span><o:p class=""></o:p></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">Best Regards</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">Gerry Kernan</span><o:p class=""></o:p></div></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span><o:p class=""></o:p></div><div class=""><div style="border-style: solid none none; border-top-width: 1pt; border-top-color: rgb(225, 225, 225); padding: 3pt 0cm 0cm;" class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><b class=""><span lang="EN-US" style="font-size: 11pt; font-family: Calibri, sans-serif;" class="">From:</span></b><span lang="EN-US" style="font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="Apple-converted-space"> </span>sr-users [mailto:<a href="mailto:sr-users-bounces@lists.kamailio.org" target="_blank" style="color: purple; text-decoration: underline;" class="">sr-users-bounces@lists.kamailio.org</a>]<span class="Apple-converted-space"> </span><b class="">On Behalf Of<span class="Apple-converted-space"> </span></b>gerry kernan<br class=""><b class="">Sent:</b><span class="Apple-converted-space"> </span>23 March 2018 08:50<br class=""><b class="">To:</b><span class="Apple-converted-space"> </span>'Kamailio (SER) - Users Mailing List' <<a href="mailto:sr-users@lists.kamailio.org" target="_blank" style="color: purple; text-decoration: underline;" class="">sr-users@lists.kamailio.org</a>><br class=""><b class="">Subject:</b><span class="Apple-converted-space"> </span>Re: [SR-Users] <UNJUNKED> Re: Audio stops after resuming call from hold</span><o:p class=""></o:p></div></div></div><div class=""><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""> <o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">Hi Segriu</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">I think my issue is with  rtpengine . I’m using direction parameter to set a LAN and WAN IP on the offer and I think it’s getting messed up during re-invites</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">Best Regards</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">Gerry Kernan</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><b class=""><span lang="EN-US" style="font-size: 11pt; font-family: Calibri, sans-serif;" class="">From:</span></b><span lang="EN-US" style="font-size: 11pt; font-family: Calibri, sans-serif;" class=""><span class="Apple-converted-space"> </span>sr-users [<a href="mailto:sr-users-bounces@lists.kamailio.org" target="_blank" style="color: purple; text-decoration: underline;" class="">mailto:sr-users-bounces@lists.kamailio.org</a>]<span class="Apple-converted-space"> </span><b class="">On Behalf Of<span class="Apple-converted-space"> </span></b>Sergiu Pojoga<br class=""><b class="">Sent:</b><span class="Apple-converted-space"> </span>23 March 2018 01:34<br class=""><b class="">To:</b><span class="Apple-converted-space"> </span>Kamailio (SER) - Users Mailing List <<a href="mailto:sr-users@lists.kamailio.org" target="_blank" style="color: purple; text-decoration: underline;" class="">sr-users@lists.kamailio.org</a>><br class=""><b class="">Subject:</b><span class="Apple-converted-space"> </span><UNJUNKED> Re: [SR-Users] Audio stops after resuming call from hold</span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""> <o:p class=""></o:p></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class="">OMG, what are the odds, a client reported the same problem today! Edge proxy running same 4.2.3, requests are forwarded to a farm of Asterisks v13 in a similar way based on $rd, far-end NAT traversal is handled by Kamailio.<o:p class=""></o:p></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""> <o:p class=""></o:p></div></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class="">I've had only an hour or so to debug today. Re-invites containing SDP are handled the same way as invites in terms of SDP mangling, all looks good in that sense. There's nothing special to be done about re-invites.<o:p class=""></o:p></div></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""> <o:p class=""></o:p></div></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class="">Preliminary clue is that this happens (or not) depending on the type of firewall/NAT behind which the phone is located. In the case with the trouble, it's a Sonicwall, probably a Symmetric NAT. Is doesn't happen to a phone behind a Full/Restricted Cone NAT. <o:p class=""></o:p></div></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""> <o:p class=""></o:p></div></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class="">What nat= are you setting for Asterisk peers?<o:p class=""></o:p></div></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class="">Do you engage rtpproxy/rtpengine?<o:p class=""></o:p></div></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class="">Any far-end NAT traversal manipulations involved such as SIP ALG or STUN?<o:p class=""></o:p></div></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""> <o:p class=""></o:p></div></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class="">Cheers.<o:p class=""></o:p></div></div></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""> <o:p class=""></o:p></div><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class="">On Thu, Mar 22, 2018 at 3:55 PM, gerry kernan <<a href="mailto:gerry.kernan@infinityit.ie" target="_blank" style="color: purple; text-decoration: underline;" class="">gerry.kernan@infinityit.ie</a>> wrote:<o:p class=""></o:p></div><blockquote style="border-style: none none none solid; border-left-width: 1pt; border-left-color: rgb(204, 204, 204); padding: 0cm 0cm 0cm 6pt; margin: 5pt 0cm 5pt 4.8pt;" class="" type="cite"><div class=""><div class=""><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class="">Hi<span class="Apple-converted-space"> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""> <o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class="">Hoping someone can point me in the right direction.<o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class="">I have a Kamailio Ver: 4.2.3-1.1  running in front of a few asterisk servers Ver: 13.17.2  sip is routed to an asterisk server depending the domain name in the sip request, all working as expected . but if a call is put on hold  after resuming the call the party that placed the call on hold can’t hear any audio. The other party can hear . do I need to do anything special to handle re-invites for calls put on hold?<o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""> <o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""> <o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><b class=""><span lang="NL" style="font-family: "Century Gothic", sans-serif; color: rgb(77, 77, 77);" class="">Gerry Kernan</span></b><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span lang="NL" style="font-size: 10pt; font-family: "Century Gothic", sans-serif; color: gray;" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Century Gothic", sans-serif; color: gray;" class=""><span id="cid:image001.jpg@01D3C2AD.E0043820"><image001.jpg></span></span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><span style="font-size: 10pt; font-family: "Century Gothic", sans-serif; color: gray;" class=""> </span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif; line-height: 18.399999618530273px;" class=""><b class=""><span style="font-size: 10pt; line-height: 15.333332061767578px; font-family: "Century Gothic", sans-serif; color: rgb(77, 77, 77);" class="">Infinity IT   |   17 The Mall   |   Beacon Court   |   Sandyford   |   Dublin D18 E3C8   |   Ireland</span></b><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif; line-height: 18.399999618530273px;" class=""><b class=""><span style="font-size: 10pt; line-height: 15.333332061767578px; font-family: "Century Gothic", sans-serif; color: rgb(77, 77, 77);" class="">Tel:  +353 - (0)1 - 293 0090   |   E-Mail: <span class="Apple-converted-space"> </span></span></b><span style="font-size: 10pt; line-height: 15.333332061767578px; font-family: "Century Gothic", sans-serif;" class=""><a href="mailto:gerry.kernan@infinityit.ie" target="_blank" style="color: purple; text-decoration: underline;" class=""><span style="color: rgb(5, 99, 193);" class="">gerry.kernan@infinityit.ie</span></a></span><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif; line-height: 18.399999618530273px;" class=""><b class=""><span style="font-size: 10pt; line-height: 15.333332061767578px; font-family: "Century Gothic", sans-serif; color: red;" class=""> </span></b><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif; line-height: 18.399999618530273px;" class=""><b class=""><span style="font-size: 10pt; line-height: 15.333332061767578px; font-family: "Century Gothic", sans-serif; color: red;" class="">Managed IT Services<u class="">      <span class="Apple-converted-space"> </span></u>Infinity IT</span></b><span style="font-size: 10pt; line-height: 15.333332061767578px; font-family: "Century Gothic", sans-serif; color: red;" class=""><span class="Apple-converted-space"> </span></span><span style="font-size: 10pt; line-height: 15.333332061767578px; font-family: "Century Gothic", sans-serif; color: rgb(77, 77, 77);" class="">-<span class="Apple-converted-space"> </span></span><a href="http://www.infinityit.ie/" target="_blank" style="color: purple; text-decoration: underline;" class=""><span style="font-size: 10pt; line-height: 15.333332061767578px; font-family: "Century Gothic", sans-serif; color: rgb(5, 99, 193);" class="">www.infinityit.ie</span></a><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif; line-height: 18.399999618530273px;" class=""><b class=""><span style="font-size: 10pt; line-height: 15.333332061767578px; font-family: "Century Gothic", sans-serif; color: rgb(118, 113, 113);" class="">IP Telephony<u class="">                   <span class="Apple-converted-space"> </span></u>Asterisk Consulting</span></b><span style="font-size: 10pt; line-height: 15.333332061767578px; font-family: "Century Gothic", sans-serif; color: rgb(118, 113, 113);" class=""><span class="Apple-converted-space"> </span></span><span style="font-size: 10pt; line-height: 15.333332061767578px; font-family: "Century Gothic", sans-serif; color: rgb(77, 77, 77);" class="">–<span class="Apple-converted-space"> </span></span><a href="http://www.asteriskconsulting.com/" target="_blank" style="color: purple; text-decoration: underline;" class=""><span style="font-size: 10pt; line-height: 15.333332061767578px; font-family: "Century Gothic", sans-serif; color: rgb(5, 99, 193);" class="">www.asteriskconsulting.com</span></a><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif; line-height: 18.399999618530273px;" class=""><b class=""><span style="font-size: 10pt; line-height: 15.333332061767578px; font-family: "Century Gothic", sans-serif; color: rgb(255, 138, 21);" class="">Contact Centre<u class="">               <span class="Apple-converted-space"> </span></u>Total Interact</span></b><span style="font-size: 10pt; line-height: 15.333332061767578px; font-family: "Century Gothic", sans-serif; color: rgb(255, 192, 0);" class=""><span class="Apple-converted-space"> </span></span><span style="font-size: 10pt; line-height: 15.333332061767578px; font-family: "Century Gothic", sans-serif; color: rgb(77, 77, 77);" class="">–<span class="Apple-converted-space"> </span></span><a href="http://www.totalinteract.com/" target="_blank" style="color: purple; text-decoration: underline;" class=""><span style="font-size: 10pt; line-height: 15.333332061767578px; font-family: "Century Gothic", sans-serif; color: rgb(5, 99, 193);" class="">www.totalinteract.com</span></a><o:p class=""></o:p></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""> <o:p class=""></o:p></div></div></div><p class="MsoNormal" style="margin: 0cm 0cm 12pt; font-size: 12pt; font-family: "Times New Roman", serif;"><br class="">_______________________________________________<br class="">Kamailio (SER) - Users Mailing List<br class=""><a href="mailto:sr-users@lists.kamailio.org" target="_blank" style="color: purple; text-decoration: underline;" class="">sr-users@lists.kamailio.org</a><br class=""><a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" target="_blank" style="color: purple; text-decoration: underline;" class="">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a><o:p class=""></o:p></p></blockquote></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""> <o:p class=""></o:p></div></div></div></div></div></div><p class="MsoNormal" style="margin: 0cm 0cm 12pt; font-size: 12pt; font-family: "Times New Roman", serif;"><br class="">_______________________________________________<br class="">Kamailio (SER) - Users Mailing List<br class=""><a href="mailto:sr-users@lists.kamailio.org" style="color: purple; text-decoration: underline;" class="">sr-users@lists.kamailio.org</a><br class=""><a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" target="_blank" style="color: purple; text-decoration: underline;" class="">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a><o:p class=""></o:p></p></blockquote></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: "Times New Roman", serif;" class=""><o:p class=""> </o:p></div></div></div><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">_______________________________________________</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Kamailio (SER) - Users Mailing List</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class=""><a href="mailto:sr-users@lists.kamailio.org" class="">sr-users@lists.kamailio.org</a></span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class=""><a href="https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users" class="">https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users</a></span></div></blockquote></div><br class=""></div></div></body></html>