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@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@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
Sorry, here's the Route HF present in the ACK received from U1:
Route: sip:192.168.0.245;lr Route: sip:0000000011@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@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@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
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@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@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@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@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
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@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@192.168.0.101;transport=udp;pgw-call=call-28d2e Contact: sip:0000000010@172.26.130.235:44435;transport=UDP To: sip:0000000011@192.168.0.245;transport=UDP;tag=516145211 From: sip:0000000010@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@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@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@192.168.0.101;transport=udp;pgw-call=call-28d2e Contact: sip:0000000010@172.26.130.235:44435;transport=UDP To: sip:0000000011@192.168.0.245;transport=UDP;tag=516145211 From: sip:0000000010@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@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@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@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@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@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
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@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@192.168.0.101;transport=udp;pgw-call=call-28d2e Contact: sip:0000000010@172.26.130.235:44435;transport=UDP To: sip:0000000011@192.168.0.245;transport=UDP;tag=516145211 From: sip:0000000010@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@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@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@192.168.0.101;transport=udp;pgw-call=call-28d2e Contact: sip:0000000010@172.26.130.235:44435;transport=UDP To: sip:0000000011@192.168.0.245;transport=UDP;tag=516145211 From: sip:0000000010@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@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@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@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@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@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
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@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@192.168.0.101;transport=udp;pgw-call=call-28d2e Contact: sip:0000000010@172.26.130.235:44435;transport=UDP To: sip:0000000011@192.168.0.245;transport=UDP;tag=516145211 From: sip:0000000010@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@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@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@192.168.0.101;transport=udp;pgw-call=call-28d2e Contact: sip:0000000010@172.26.130.235:44435;transport=UDP To: sip:0000000011@192.168.0.245;transport=UDP;tag=516145211 From: sip:0000000010@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@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@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@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@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@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
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@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@192.168.0.101;transport=udp;pgw-call=call-28d2e Contact: sip:0000000010@172.26.130.235:44435;transport=UDP To: sip:0000000011@192.168.0.245;transport=UDP;tag=516145211 From: sip:0000000010@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@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@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@192.168.0.101;transport=udp;pgw-call=call-28d2e Contact: sip:0000000010@172.26.130.235:44435;transport=UDP To: sip:0000000011@192.168.0.245;transport=UDP;tag=516145211 From: sip:0000000010@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@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@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@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@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@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
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/0c42a848258d475f57ea25458bc75e55...
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@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@192.168.0.101;transport=udp;pgw-call=call-28d2e Contact: sip:0000000010@172.26.130.235:44435;transport=UDP To: sip:0000000011@192.168.0.245;transport=UDP;tag=516145211 From: sip:0000000010@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@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@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@192.168.0.101;transport=udp;pgw-call=call-28d2e Contact: sip:0000000010@172.26.130.235:44435;transport=UDP To: sip:0000000011@192.168.0.245;transport=UDP;tag=516145211 From: sip:0000000010@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@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@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@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@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@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users