[OpenSIPS-Users] loose_route detection of self
Bogdan-Andrei Iancu
bogdan at voice-system.ro
Sat Mar 21 22:23:12 CET 2009
:) solved
Jeff Pyle wrote:
> 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