<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 && [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 && [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 && [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 “DBG:rr:after_strict” while the one that succeeds causes a “DBG:rr:after_loose”, but I’m not sure what that means here. I suppose the next stop is the RFC.<BR>
<BR>
If anyone has any thoughts on this one, I’d much appreciate hearing them.<BR>
<BR>
<BR>
Thanks,<BR>
Jeff<BR>
<BR>
<BR>
On 3/21/09 11:12 AM, "Jeff Pyle" <<a href="jpyle@fidelityvoice.com">jpyle@fidelityvoice.com</a>> wrote:<BR>
<BR>
<FONT COLOR="#0000FF">> Hello,<BR>
> <BR>
> I seem to be having a problem with loose_route() not properly detecting when<BR>
> a Route set is its own. Opensips 1.5 build 5491, same PSTN carrier in all<BR>
> cases.<BR>
> <BR>
> Flow is Asterisk --> Opensips --> PSTN (Sonus NBSe)<BR>
> <BR>
> The call sets up properly. 90 or 120 seconds into the call, the PSTN<BR>
> carrier sends a reINVITE to refresh the session. If Asterisk 1.4.23.1 is<BR>
> the UAC, all is well. If Asterisk 1.2.26 is the UAC, Opensips misidentifies<BR>
> the Route header in the carrier’s reINVITE as foreign. The t_relay then<BR>
> routes the packet to itself and bad things happen.<BR>
> <BR>
> I’ve done stare-’n-compares on the packets in all cases. The reINVITE from<BR>
> the carrier is almost exactly the same. The differences are as follows:<BR>
> <BR>
> - The Asterisk 1.4.23.1 UAC is using port 5066, where Asterisk 1.2.26 uses<BR>
> 5060. This difference is reflected in the RURI of the reINVITE.<BR>
> <BR>
> - The To field of the 1.4.23.1 UAC has the :5066 at the end of the URI; the<BR>
> 1.2.26 host does not have a port.<BR>
> <BR>
> That's it. The only other difference I can see in the messaging is that the<BR>
> 1.2.26 host puts "received=ww.xx.yy.zz" in its Via header of the initial<BR>
> transaction, where the 1.4.23.1 host does not. But the reINVITE is a new<BR>
> transaction so I don't know how this could effect affect the reINVITE.<BR>
> <BR>
> I am at a loss. Any thoughts?<BR>
> <BR>
> <BR>
> Thanks,<BR>
> Jeff<BR>
</FONT></SPAN></FONT>
</BODY>
</HTML>