I have Kamailio 3.2.0 between two asterisk servers, after the call set, one of the kamailio send the OK from the INVITE and the return ACK of that message was discarded. This makes asterisk hangup the call after 5 secs. It's that right?
OK message:
U 172.25.249.15:5060 -> 172.25.249.14:5060 SIP/2.0 200 OK. Via: SIP/2.0/UDP 172.25.249.14:5060;branch=z9hG4bK09fc3de6;rport=5060. From: "asterisk" sip:asterisk@172.25.249.14;tag=as6411602a. To: sip:775008@172.25.249.15:5060;tag=as55ab3180. Call-ID: 547225391b7828402ecaa03e1dab5a86@172.25.249.14. CSeq: 102 INVITE. Server: Asterisk PBX 1.8.7.1. Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH. Supported: replaces, timer. Contact: sip:775008@172.25.249.15:5080. Remote-Party-ID: "Eus Test" <sip:3999@172.25.249.14
;party=called;privacy=off;screen=no.
Content-Type: application/sdp. Content-Length: 285. . v=0. o=root 2045590031 2045590031 IN IP4 172.25.249.15. s=Asterisk PBX 1.8.7.1. c=IN IP4 172.25.249.15. t=0 0. m=audio 11922 RTP/AVP 0 3 8 101. a=rtpmap:0 PCMU/8000. a=rtpmap:3 GSM/8000. a=rtpmap:8 PCMA/8000. a=rtpmap:101 telephone-event/8000. a=fmtp:101 0-16. a=ptime:20. a=sendrecv.
Discarded ACK:
U 172.25.249.14:5060 -> 172.25.249.15:5060 ACK sip:775008@172.25.249.15:5080 SIP/2.0. Via: SIP/2.0/UDP 172.25.249.14:5060;branch=z9hG4bK6ea5aff6;rport. From: "asterisk" sip:asterisk@172.25.249.14;tag=as6411602a. To: sip:775008@172.25.249.15:5060;tag=as55ab3180. Contact: sip:asterisk@172.25.249.14. Call-ID: 547225391b7828402ecaa03e1dab5a86@172.25.249.14. CSeq: 102 ACK. User-Agent: Asterisk PBX. Max-Forwards: 70. Remote-Party-ID: "asterisk" sip:asterisk@172.25.249.14. Content-Length: 0. .
Kamailio's configuration where the ACK message it's being discarded:
if ( is_method("ACK") ) { if ( t_check_trans() ) { # no loose-route, but stateful ACK; # must be an ACK after a 487 # or e.g. 404 from upstream server t_relay(); exit; } else { # ACK without matching transaction ... ignore and discard exit; } }
It would be ok if I relay the ack even if it didn't match any transaction?? Any help would be appreciated. Regards,
Lucas
Hello,
if the ACK goes through the proxy, then means record routing is used, but I see no Record-Route in 200 reply and no Route in ACK. Since there is no Record-Route in 200 ok, the ACK has to be sent to the contact address from the 200 ok.
Your config snippet from kamailio shows the part of default config where record routing is handling -- based on the comments -- since it no Route, it is dropped.
Cheers, Daniel
On 12/26/11 11:03 PM, Lucas Alvarez wrote:
I have Kamailio 3.2.0 between two asterisk servers, after the call set, one of the kamailio send the OK from the INVITE and the return ACK of that message was discarded. This makes asterisk hangup the call after 5 secs. It's that right?
OK message:
U 172.25.249.15:5060 http://172.25.249.15:5060 -> 172.25.249.14:5060 http://172.25.249.14:5060 SIP/2.0 200 OK. Via: SIP/2.0/UDP 172.25.249.14:5060;branch=z9hG4bK09fc3de6;rport=5060. From: "asterisk" <sip:asterisk@172.25.249.14 mailto:sip%3Aasterisk@172.25.249.14>;tag=as6411602a. To: <sip:775008@172.25.249.15:5060 http://sip:775008@172.25.249.15:5060>;tag=as55ab3180. Call-ID: 547225391b7828402ecaa03e1dab5a86@172.25.249.14 mailto:547225391b7828402ecaa03e1dab5a86@172.25.249.14. CSeq: 102 INVITE. Server: Asterisk PBX 1.8.7.1. Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH. Supported: replaces, timer. Contact: <sip:775008@172.25.249.15:5080 http://sip:775008@172.25.249.15:5080>. Remote-Party-ID: "Eus Test" <sip:3999@172.25.249.14 mailto:sip%3A3999@172.25.249.14>;party=called;privacy=off;screen=no. Content-Type: application/sdp. Content-Length: 285. . v=0. o=root 2045590031 2045590031 IN IP4 172.25.249.15. s=Asterisk PBX 1.8.7.1. c=IN IP4 172.25.249.15. t=0 0. m=audio 11922 RTP/AVP 0 3 8 101. a=rtpmap:0 PCMU/8000. a=rtpmap:3 GSM/8000. a=rtpmap:8 PCMA/8000. a=rtpmap:101 telephone-event/8000. a=fmtp:101 0-16. a=ptime:20. a=sendrecv.
Discarded ACK:
U 172.25.249.14:5060 http://172.25.249.14:5060 -> 172.25.249.15:5060 http://172.25.249.15:5060 ACK sip:775008@172.25.249.15:5080 http://sip:775008@172.25.249.15:5080 SIP/2.0. Via: SIP/2.0/UDP 172.25.249.14:5060;branch=z9hG4bK6ea5aff6;rport. From: "asterisk" <sip:asterisk@172.25.249.14 mailto:sip%3Aasterisk@172.25.249.14>;tag=as6411602a. To: <sip:775008@172.25.249.15:5060 http://sip:775008@172.25.249.15:5060>;tag=as55ab3180. Contact: <sip:asterisk@172.25.249.14 mailto:sip%3Aasterisk@172.25.249.14>. Call-ID: 547225391b7828402ecaa03e1dab5a86@172.25.249.14 mailto:547225391b7828402ecaa03e1dab5a86@172.25.249.14. CSeq: 102 ACK. User-Agent: Asterisk PBX. Max-Forwards: 70. Remote-Party-ID: "asterisk" <sip:asterisk@172.25.249.14 mailto:sip%3Aasterisk@172.25.249.14>. Content-Length: 0. .
Kamailio's configuration where the ACK message it's being discarded:
if ( is_method("ACK") ) { if ( t_check_trans() ) { # no loose-route, but stateful ACK; # must be an ACK after a 487 # or e.g. 404 from upstream server t_relay(); exit; } else { # ACK without matching transaction ... ignore and discard exit; } }
It would be ok if I relay the ack even if it didn't match any transaction?? Any help would be appreciated. Regards,
Lucas
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