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

Antonio Reale ant.reale at gmail.com
Tue Jul 28 11:56:05 CEST 2015


Reported the issue on GH:
https://github.com/kamailio/kamailio/issues/267

Successfully tested the patch pushed by miconda in commit 0c42a84:
https://github.com/kamailio/kamailio/commit/0c42a848258d475f57ea25458bc75e55dcee948d

Thanks Daniel.

Regards.
Antonio

Il 20/07/2015 18:21, Antonio Reale ha scritto:
> 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