[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