[OpenSIPS-Users] loose_route detection of self

Jeff Pyle jpyle at fidelityvoice.com
Sat Mar 21 21:50:27 CET 2009


Bogdan,

That's exactly what it was.  I'm embarrassed to think about how much time I
spent on this today.  This Opensips .83 is eventually migrating to .82 to
take the old Asterisk server's place.  So, thinking ahead, I loaded
everything in the domain table long ago...


Thanks,
Jeff



On 3/21/09 4:02 PM, "Bogdan-Andrei Iancu" <bogdan at voice-system.ro> wrote:

> Hi Jeff,
> 
> in the failed case, OpenSIPS thinks that the previous hop was a strict
> router (this is why you have the after_strict). This detection is done
> based on the RURI - it looks if the domain part of RURI is a local
> domain or not. This test includes:
> - test against all listen IPs
> - test against all aliases (from script)
> - test against the domains from the "domains" module.
> 
> is the ww.xx.yy.82 somehow listed in the "domains" module ?
> 
> Regards,
> Bogdan
> 
> Jeff Pyle wrote:
>> Ok, debugs:
>> 
>> On the reINVITE that fails:
>> 
>> DBG:core:grep_sock_info: checking if host==us: 11==11 && [ww.xx.yy.82]
>> == [ww.xx.yy.83]
>> DBG:core:grep_sock_info: checking if port 5060 matches port 5060
>> DBG:rr:after_strict: Next hop:
>> 'sip:8009993355 at ww.xx.yy.83:5060;lr=on;ftag=as3137fec5;did=b92.be47e975'
>> is loose router
>> 
>> On the reINVITE that works:
>> 
>> DBG:core:grep_sock_info: checking if host==us: 12==11 && [ff.gg.hh.94]
>> == [ww.xx.yy.83]
>> DBG:core:grep_sock_info: checking if port 5060 matches port 5066
>> DBG:core:check_self: host != me
>> DBG:core:grep_sock_info: checking if host==us: 11==11 && [ww.xx.yy.83]
>> == [ww.xx.yy.83]
>> DBG:core:grep_sock_info: checking if port 5060 matches port 5060
>> DBG:rr:after_loose: Topmost route URI:
>> 'sip:8009993355 at ww.xx.yy.83:5060;lr=on;ftag=as27ab13f7;did=37e.68fb59e7'
>> is me
>> 
>> ww.xx.yy.83 is Opensips.
>> ww.xx.yy.82 is Asterisk 1.2.26 (IP is right next to Opensips)
>> ff.gg.hh.94 is Asterisk 1.4.23.1 (IP is completely different than
>> Opensips)
>> 
>> 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.
>> 
>> If anyone has any thoughts on this one, I¹d much appreciate hearing them.
>> 
>> 
>> Thanks,
>> Jeff
>> 
>> 
>> On 3/21/09 11:12 AM, "Jeff Pyle" <jpyle at fidelityvoice.com> wrote:
>> 
>>> Hello,
>>> 
>>> I seem to be having a problem with loose_route() not properly
>> detecting when
>>> a Route set is its own. Opensips 1.5 build 5491, same PSTN carrier in all
>>> cases.
>>> 
>>> Flow is Asterisk --> Opensips --> PSTN (Sonus NBSe)
>>> 
>>> The call sets up properly. 90 or 120 seconds into the call, the PSTN
>>> carrier sends a reINVITE to refresh the session. If Asterisk 1.4.23.1 is
>>> the UAC, all is well. If Asterisk 1.2.26 is the UAC, Opensips
>> misidentifies
>>> the Route header in the carrier¹s reINVITE as foreign. The t_relay then
>>> routes the packet to itself and bad things happen.
>>> 
>>> I¹ve done stare-¹n-compares on the packets in all cases. The reINVITE
>> from
>>> the carrier is almost exactly the same. The differences are as follows:
>>> 
>>> - The Asterisk 1.4.23.1 UAC is using port 5066, where Asterisk 1.2.26
>> uses
>>> 5060. This difference is reflected in the RURI of the reINVITE.
>>> 
>>> - The To field of the 1.4.23.1 UAC has the :5066 at the end of the
>> URI; the
>>> 1.2.26 host does not have a port.
>>> 
>>> That's it. The only other difference I can see in the messaging is
>> that the
>>> 1.2.26 host puts "received=ww.xx.yy.zz" in its Via header of the initial
>>> transaction, where the 1.4.23.1 host does not. But the reINVITE is a new
>>> transaction so I don't know how this could effect affect the reINVITE.
>>> 
>>> I am at a loss. Any thoughts?
>>> 
>>> 
>>> Thanks,
>>> Jeff
>> ------------------------------------------------------------------------
>> 
>> _______________________________________________
>> Users mailing list
>> Users at lists.opensips.org
>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>   
> 




More information about the Users mailing list