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

Daniel-Constantin Mierla miconda at gmail.com
Mon Jul 20 18:02:20 CEST 2015


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
>>
>

-- 
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Book: SIP Routing With Kamailio - http://www.asipto.com




More information about the sr-users mailing list