<HTML>
<HEAD>
<TITLE>Re: [OpenSIPS-Users] loose_route detection of self</TITLE>
</HEAD>
<BODY>
<FONT FACE="Tahoma, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:10pt'>Ok, debugs:<BR>
<BR>
On the reINVITE that fails:<BR>
<BR>
DBG:core:grep_sock_info: checking if host==us: 11==11 &amp;&amp; &nbsp;[ww.xx.yy.82] == [ww.xx.yy.83] <BR>
DBG:core:grep_sock_info: checking if port 5060 matches port 5060 <BR>
DBG:rr:after_strict: Next hop: 'sip:<a href="8009993355@ww.xx.yy.83:5060">8009993355@ww.xx.yy.83:5060</a>;lr=on;ftag=as3137fec5;did=b92.be47e975' is loose router <BR>
<BR>
On the reINVITE that works:<BR>
<BR>
DBG:core:grep_sock_info: checking if host==us: 12==11 &amp;&amp; &nbsp;[ff.gg.hh.94] == [ww.xx.yy.83] <BR>
DBG:core:grep_sock_info: checking if port 5060 matches port 5066 <BR>
DBG:core:check_self: host != me <BR>
DBG:core:grep_sock_info: checking if host==us: 11==11 &amp;&amp; &nbsp;[ww.xx.yy.83] == [ww.xx.yy.83] <BR>
DBG:core:grep_sock_info: checking if port 5060 matches port 5060 <BR>
DBG:rr:after_loose: Topmost route URI: 'sip:<a href="8009993355@ww.xx.yy.83:5060">8009993355@ww.xx.yy.83:5060</a>;lr=on;ftag=as27ab13f7;did=37e.68fb59e7' is me <BR>
<BR>
ww.xx.yy.83 is Opensips.<BR>
ww.xx.yy.82 is Asterisk 1.2.26 (IP is right next to Opensips)<BR>
ff.gg.hh.94 is Asterisk 1.4.23.1 (IP is completely different than Opensips)<BR>
<BR>
I see that the failing reINVITE causes a &#8220;DBG:rr:after_strict&#8221; while the one that succeeds causes a &#8220;DBG:rr:after_loose&#8221;, but I&#8217;m not sure what that means here. &nbsp;I suppose the next stop is the RFC.<BR>
<BR>
If anyone has any thoughts on this one, I&#8217;d much appreciate hearing them.<BR>
<BR>
<BR>
Thanks,<BR>
Jeff<BR>
<BR>
<BR>
On 3/21/09 11:12 AM, &quot;Jeff Pyle&quot; &lt;<a href="jpyle@fidelityvoice.com">jpyle@fidelityvoice.com</a>&gt; wrote:<BR>
<BR>
<FONT COLOR="#0000FF">&gt; Hello,<BR>
&gt; <BR>
&gt; I seem to be having a problem with loose_route() not properly detecting when<BR>
&gt; a Route set is its own. &nbsp;Opensips 1.5 build 5491, same PSTN carrier in all<BR>
&gt; cases.<BR>
&gt; <BR>
&gt; Flow is Asterisk --&gt; Opensips --&gt; PSTN (Sonus NBSe)<BR>
&gt; <BR>
&gt; The call sets up properly. &nbsp;90 or 120 seconds into the call, the PSTN<BR>
&gt; carrier sends a reINVITE to refresh the session. &nbsp;If Asterisk 1.4.23.1 is<BR>
&gt; the UAC, all is well. &nbsp;If Asterisk 1.2.26 is the UAC, Opensips misidentifies<BR>
&gt; the Route header in the carrier&#8217;s reINVITE as foreign. &nbsp;The t_relay then<BR>
&gt; routes the packet to itself and bad things happen.<BR>
&gt; <BR>
&gt; I&#8217;ve done stare-&#8217;n-compares on the packets in all cases. &nbsp;The reINVITE from<BR>
&gt; the carrier is almost exactly the same. &nbsp;The differences are as follows:<BR>
&gt; <BR>
&gt; - The Asterisk 1.4.23.1 UAC is using port 5066, where Asterisk 1.2.26 uses<BR>
&gt; 5060. &nbsp;This difference is reflected in the RURI of the reINVITE.<BR>
&gt; <BR>
&gt; - The To field of the 1.4.23.1 UAC has the :5066 at the end of the URI; the<BR>
&gt; 1.2.26 host does not have a port.<BR>
&gt; <BR>
&gt; That's it. &nbsp;The only other difference I can see in the messaging is that the<BR>
&gt; 1.2.26 host puts &quot;received=ww.xx.yy.zz&quot; in its Via header of the initial<BR>
&gt; transaction, where the 1.4.23.1 host does not. &nbsp;But the reINVITE is a new<BR>
&gt; transaction so I don't know how this could effect affect the reINVITE.<BR>
&gt; <BR>
&gt; I am at a loss. &nbsp;Any thoughts?<BR>
&gt; <BR>
&gt; <BR>
&gt; Thanks,<BR>
&gt; Jeff<BR>
</FONT></SPAN></FONT>
</BODY>
</HTML>