[SR-Users] RR module - Fail detecting strict routing

Antonio Reale ant.reale at gmail.com
Mon Jul 20 18:21:09 CEST 2015


Hi Daniel,
no problem.

Thank you very much for the support.

Regards.

Antonio


Il 20/07/2015 18:02, Daniel-Constantin Mierla ha scritto:
> Hello,
>
> I didn't have time to look at it so far -- quite some traveling lately.
> At a quick look, seems that the next hop is not detected as strict
> router, I have to look at the code.
>
> Cheers,
> Daniel
>
> On 20/07/15 11:20, Antonio Reale wrote:
>> Hi Daniel,
>> did you see something strange in the ACK message or you confirm that
>> the RR module is not behaving correctly?
>>
>> Thanks.
>> Regards.
>>
>> Antonio
>>
>>
>> Il 14/07/2015 13:02, Antonio Reale ha scritto:
>>> Hi Daniel,
>>>
>>> this is the ACK received on Kamailio:
>>>
>>> #
>>> U 172.26.130.235:44435 -> 192.168.0.245:5060
>>> ACK sip:7240F8EF-55A4D642000CBC22-8A135700 at 172.16.0.21;transport=udp
>>> SIP/2.0
>>> Via: SIP/2.0/UDP
>>> 172.26.130.235:44435;branch=z9hG4bK-d8754z-1cd3a01fa9171649-1---d8754z-
>>> Max-Forwards: 70
>>> Route: <sip:192.168.0.245;lr>
>>> Route: <sip:0000000011 at 192.168.0.101;transport=udp;pgw-call=call-28d2e>
>>> Contact: <sip:0000000010 at 172.26.130.235:44435;transport=UDP>
>>> To: <sip:0000000011 at 192.168.0.245;transport=UDP>;tag=516145211
>>> From: <sip:0000000010 at 192.168.0.245;transport=UDP>;tag=a56ac352
>>> Call-ID: NGU5YmUzMGYwM2RmMzc0YTQyNDRmZWZlOWJmMTA0ZjY.
>>> CSeq: 2 ACK
>>> Proxy-Authorization: Digest
>>> username="0000000010",realm="192.168.0.245",nonce="VaTXblWk1kKUxIMJBdWbpRBBCP850QVR",uri="sip:0000000011 at 192.168.0.245;transport=UDP",response="1daf03c97b8a12e0154d463f543e5592",algorithm=MD5
>>> User-Agent: Z 3.6.25251 r25476
>>> Content-Length: 0
>>>
>>> and this the ACK forwarded by Kamailio to P2
>>>
>>> #
>>> U 192.168.0.245:5060 -> 192.168.0.101:5060
>>> ACK sip:7240F8EF-55A4D642000CBC22-8A135700 at 172.16.0.21;transport=udp
>>> SIP/2.0
>>> Via: SIP/2.0/UDP
>>> 192.168.0.245;branch=z9hG4bKa252.cc67d8b538d8ad5c01c3e75d472653ec.0
>>> Via: SIP/2.0/UDP
>>> 172.26.130.235:44435;branch=z9hG4bK-d8754z-1cd3a01fa9171649-1---d8754z-
>>> Max-Forwards: 69
>>> Route: <sip:0000000011 at 192.168.0.101;transport=udp;pgw-call=call-28d2e>
>>> Contact: <sip:0000000010 at 172.26.130.235:44435;transport=UDP>
>>> To: <sip:0000000011 at 192.168.0.245;transport=UDP>;tag=516145211
>>> From: <sip:0000000010 at 192.168.0.245;transport=UDP>;tag=a56ac352
>>> Call-ID: NGU5YmUzMGYwM2RmMzc0YTQyNDRmZWZlOWJmMTA0ZjY.
>>> CSeq: 2 ACK
>>> Proxy-Authorization: Digest
>>> username="0000000010",realm="192.168.0.245",nonce="VaTXblWk1kKUxIMJBdWbpRBBCP850QVR",uri="sip:0000000011 at 192.168.0.245;transport=UDP",response="1daf03c97b8a12e0154d463f543e5592",algorithm=MD5
>>> User-Agent: Z 3.6.25251 r25476
>>> Content-Length: 0
>>>
>>>
>>> Kamailio considers P2 a loose router so the R-URI is not changed.
>>>
>>> Thanks.
>>> Regards.
>>>
>>> Antonio
>>>
>>>
>>> Il 14/07/2015 12:28, Daniel-Constantin Mierla ha scritto:
>>>> Hello,
>>>>
>>>> what is the request URI? It might be better to just paste here the full
>>>> ACK message.
>>>>
>>>> Cheers,
>>>> Daniel
>>>>
>>>> On 14/07/15 12:25, Antonio Reale wrote:
>>>>> Sorry,
>>>>> here's the Route HF present in the ACK received from U1:
>>>>>
>>>>> Route: <sip:192.168.0.245;lr>
>>>>> Route:
>>>>> <sip:0000000011 at 192.168.0.101;transport=udp;pgw-call=call-28d2e>
>>>>>
>>>>> Regards.
>>>>>
>>>>> Antonio
>>>>>
>>>>>
>>>>>
>>>>> Il 14/07/2015 12:09, Antonio Reale ha scritto:
>>>>>> Hi all,
>>>>>> I have the following  scenario:
>>>>>> U1 (caller) ---> P1 (192.168.0.245, kamailio 4.3, loose-router) ---->
>>>>>> P2 ----> (192.168.0.101, strict router) ----> .... ----> U2 (called)
>>>>>>
>>>>>> When U2 answers the call, at P1 arrives the 200 OK with:
>>>>>> Record-Route:
>>>>>> <sip:0000000011 at 192.168.0.101;transport=udp;pgw-call=call-28d2e>
>>>>>> Record-Route: <sip:192.168.0.245;lr=on>
>>>>>>
>>>>>> The problem is that the ACK from U1 is forwarded from kamailio to P2,
>>>>>> as if P2 is a loose router. P2 drops the ACK message.
>>>>>>
>>>>>>   From kamailio logs I see:
>>>>>> Jul 14 10:07:44 P1 /usr/sbin/kamailio[15908]: DEBUG: rr [loose.c:88]:
>>>>>> is_preloaded(): is_preloaded: No
>>>>>> Jul 14 10:07:44 P1 /usr/sbin/kamailio[15908]: DEBUG: rr
>>>>>> [loose.c:783]: after_loose(): Topmost route URI:
>>>>>> 'sip:192.168.0.245;lr=on' is me
>>>>>> Jul 14 10:07:44 P1 /usr/sbin/kamailio[15908]: DEBUG: rr
>>>>>> [loose.c:869]: after_loose(): URI to be processed:
>>>>>> 'sip:0000000011 at 192.168.0.101;transport=udp;pgw-call=call-289ce'
>>>>>> Jul 14 10:07:44 P1 /usr/sbin/kamailio[15908]: DEBUG: rr
>>>>>> [loose.c:878]: after_loose(): Next URI is a loose router
>>>>>>
>>>>>> Why after_loose function considers the next URI a loose router? The
>>>>>> Route HF in the ACK with the URI of the next hop does not contain
>>>>>> ;lr .
>>>>>> It seems that the function is_strict fails detecting the strict
>>>>>> router.
>>>>>>
>>>>>> Thanks.
>>>>>>
>>>>>> Regards.
>>>>>>
>>>>>> Antonio
>>>>> _______________________________________________
>>>>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing
>>>>> list
>>>>> sr-users at lists.sip-router.org
>>>>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users




More information about the sr-users mailing list