[SR-Users] Problem with Kamailio not routing ACK to a 200 OK

Daniel-Constantin Mierla miconda at gmail.com
Fri Oct 29 10:59:34 CEST 2010


Hello,

On 10/28/10 1:37 PM, Morten Isaksen wrote:
> Hi,
>
> I have a strange problem with Kamailio 3.0.2. When one of our end
> users makes a call Kamailio does not route the ACK (in response to the
> 200 OK). For all other end users it works fine.
>
> For me it looks the the has_totag() checks for some reason fails and
> then t_check_trans() thinks it is a ACK to a local transactions and
> then terminates the script. Otherwise there should be more lines in
> the log file.

if you add an xlog() after the if with has_totag(), do you get the 
message in the logs?

Cheers,
Daniel

> The conf is pretty standard.
>
> route{
>
>          xlog("L_WARN", "New request - M=$rm RURI=$ru F=$fu T=$tu
> IP=$si ID=$ci\n");
>          xlog("L_WARN", "ua=$ua");
>          if (!mf_process_maxfwd_header("10")) {
>                  sl_send_reply("483","Too Many Hops");
>                  exit;
>          }
>
>          if(!sanity_check("1511", "7"))
>          {
>                  xlog("Malformed SIP message from $si:$sp\n");
>                  exit;
>          }
>
>
>          if (has_totag()) {
>                  xlog("L_WARN", "has_totag start - M=$rm RURI=$ru F=$fu
> T=$tu IP=$si ID=$ci\n");
>                  # sequential request withing a dialog should
>                  # take the path determined by record-routing
>                  if (loose_route()) {
>                          xlog("L_WARN", "loose_route - M=$rm RURI=$ru
> F=$fu T=$tu IP=$si ID=$ci\n");
>                          route(RELAY);
>                  } else {
>                          if (is_method("SUBSCRIBE")&&  uri == myself) {
>                                  # in-dialog subscribe requests
>                                  #route(PRESENCE);
>                                  exit;
>                          }
>                          if ( is_method("ACK") ) {
>                                  if ( t_check_trans() ) {
>                                          xlog("L_WARN", "ACK
> t_check_trans - M=$rm RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n");
>                                          # non loose-route, but
> stateful ACK; must be an ACK after a 487 or e.g. 404 from upstream
> server
>                                          t_relay();
>                                          exit;
>                                  } else {
>                                          xlog("Ignoring ACK - M=$rm
> RURI=$ru F=$fu T=$tu IP=$si ID=$ci\n");
>                                          # ACK without matching
> transaction ... ignore and discard.\n");
>                                          exit;
>                                  }
>                          }
>                          sl_send_reply("404","Not here");
>                  }
>                  xlog("L_WARN", "has_totag end - M=$rm RURI=$ru F=$fu
> T=$tu IP=$si ID=$ci\n");
>                  exit;
>          }
>
>          #initial requests
>
>          # CANCEL processing
>          if (is_method("CANCEL"))
>          {
>                  if (t_check_trans())
>                          t_relay();
>                  exit;
>          }
>
>          setflag(4);
>          t_check_trans();
>
> ...
>
> The log files show:
>
> Oct 28 10:51:13 sip-core-1 /usr/local/sbin/kamailio[10503]: WARNING:
> <script>: New request - M=ACK RURI=sip:1105 at 178.21.248.56:5060
> F=sip:87776688 at sip.uni-tel.dk T=sip:869
> 87106 at sip.uni-tel.dk IP=178.21.248.20 ID=AI231CA9BD0A4A1C53 at 10.0.0.150
> Oct 28 10:51:13 sip-core-1 /usr/local/sbin/kamailio[10503]: WARNING:
> <script>: ua=Aastra Intelligate
>
>
>
>
> The trace
>
> U 2010/10/28 10:51:02.616337 178.21.248.7:5060 ->  178.21.248.56:5060
> INVITE sip:86987106 at 178.21.248.56 SIP/2.0.
> Record-Route:<sip:178.21.248.7;lr;ftag=AI8DA85D59B9B6634F;did=f48.5fd1db02>.
> Record-Route:<sip:178.21.248.20;lr;ftag=AI8DA85D59B9B6634F>.
> Via: SIP/2.0/UDP 178.21.248.7;branch=z9hG4bK690c.9cfea506.0.
> Via: SIP/2.0/UDP 178.21.248.20;branch=z9hG4bK690c.97354e4.0.
> Via: SIP/2.0/UDP
> 87.104.233.108:5060;rport=5060;branch=z9hG4bK3c70fae55c8b362ff34e6c782cc21592.
> To:<sip:86987106 at sip.uni-tel.dk>.
> From:<sip:87776688 at sip.uni-tel.dk>;tag=AI8DA85D59B9B6634F.
> Call-ID: AI231CA9BD0A4A1C53 at 10.0.0.150.
> CSeq: 2 INVITE.
> Max-Forwards: 68.
> Contact:<sip:87776688 at 87.104.233.108:5060;line=AI7EFC34995E724DD7>.
> Accept: application/sdp.
> Allow: ACK,BYE,CANCEL,INVITE,NOTIFY,OPTIONS,REFER.
> P-Preferred-Identity:<sip:87776688 at sip.uni-tel.dk>.
> Privacy: none.
> User-Agent: Aastra Intelligate.
> Content-Type: application/sdp.
> Content-Length: 280.
> X-trunktype: IC.
> .
> v=0.
> o=intelligate 1194032777 1194032777 IN IP4 87.104.233.106.
> s=call.
> c=IN IP4 178.21.248.22.
> t=0 0.
> m=audio 60984 RTP/AVP 8 0 18 101.
> a=rtpmap:8 PCMA/8000.
> a=rtpmap:0 PCMU/8000.
> a=rtpmap:18 G729/8000.
> a=rtpmap:101 telephone-event/8000.
> a=fmtp:101 0-15.
> a=sendrecv.
> a=ptime:20.
>
> #
> U 2010/10/28 10:51:02.636854 178.21.248.56:5060 ->  178.21.248.7:5060
> SIP/2.0 100 Trying.
> Via: SIP/2.0/UDP 178.21.248.7;branch=z9hG4bK690c.9cfea506.0.
> Via: SIP/2.0/UDP 178.21.248.20;branch=z9hG4bK690c.97354e4.0.
> Via: SIP/2.0/UDP
> 87.104.233.108:5060;rport=5060;branch=z9hG4bK3c70fae55c8b362ff34e6c782cc21592.
> From:<sip:87776688 at sip.uni-tel.dk>;tag=AI8DA85D59B9B6634F.
> To:<sip:86987106 at sip.uni-tel.dk>;tag=1c2073920452.
> Call-ID: AI231CA9BD0A4A1C53 at 10.0.0.150.
> CSeq: 2 INVITE.
> Supported: em,timer,replaces,path,early-session,resource-priority.
> Allow: REGISTER,OPTIONS,INVITE,ACK,CANCEL,BYE,NOTIFY,PRACK,REFER,INFO,SUBSCRIBE,UPDATE.
> Server: Audiocodes-Sip-Gateway-Mediant 2000/v.5.60A.035.002.
> Content-Length: 0.
> .
>
> #####
> U 2010/10/28 10:51:04.134445 178.21.248.56:5060 ->  178.21.248.7:5060
> SIP/2.0 183 Session Progress.
> Via: SIP/2.0/UDP 178.21.248.7;branch=z9hG4bK690c.9cfea506.0.
> Via: SIP/2.0/UDP 178.21.248.20;branch=z9hG4bK690c.97354e4.0.
> Via: SIP/2.0/UDP
> 87.104.233.108:5060;rport=5060;branch=z9hG4bK3c70fae55c8b362ff34e6c782cc21592.
> From:<sip:87776688 at sip.uni-tel.dk>;tag=AI8DA85D59B9B6634F.
> To:<sip:86987106 at sip.uni-tel.dk>;tag=1c2073920452.
> Call-ID: AI231CA9BD0A4A1C53 at 10.0.0.150.
> CSeq: 2 INVITE.
> Contact:<sip:1105 at 178.21.248.56:5060>.
> Record-Route:<sip:178.21.248.7;lr;ftag=AI8DA85D59B9B6634F;did=f48.5fd1db02>,<sip:178.21.248.20;lr;ftag=AI8DA85D59B9B6634F>.
> Supported: em,timer,replaces,path,early-session,resource-priority.
> Allow: REGISTER,OPTIONS,INVITE,ACK,CANCEL,BYE,NOTIFY,PRACK,REFER,INFO,SUBSCRIBE,UPDATE.
> Server: Audiocodes-Sip-Gateway-Mediant 2000/v.5.60A.035.002.
> Content-Type: application/sdp.
> Content-Length: 259.
> .
> v=0.
> o=AudiocodesGW 2073965634 2073965290 IN IP4 178.21.248.56.
> s=Phone-Call.
> c=IN IP4 178.21.248.56.
> t=0 0.
> m=audio 6050 RTP/AVP 8 101.
> c=IN IP4 178.21.248.56.
> a=rtpmap:8 PCMA/8000.
> a=rtpmap:101 telephone-event/8000.
> a=fmtp:101 0-15.
> a=ptime:20.
> a=sendrecv.
>
> #
> U 2010/10/28 10:51:04.134748 178.21.248.7:5060 ->  178.21.248.20:5060
> SIP/2.0 183 Session Progress.
> Via: SIP/2.0/UDP 178.21.248.20;branch=z9hG4bK690c.97354e4.0.
> Via: SIP/2.0/UDP
> 87.104.233.108:5060;rport=5060;branch=z9hG4bK3c70fae55c8b362ff34e6c782cc21592.
> From:<sip:87776688 at sip.uni-tel.dk>;tag=AI8DA85D59B9B6634F.
> To:<sip:86987106 at sip.uni-tel.dk>;tag=1c2073920452.
> Call-ID: AI231CA9BD0A4A1C53 at 10.0.0.150.
> CSeq: 2 INVITE.
> Contact:<sip:1105 at 178.21.248.56:5060>.
> Record-Route:<sip:178.21.248.7;lr;ftag=AI8DA85D59B9B6634F;did=f48.5fd1db02>,<sip:178.21.248.20;lr;ftag=AI8DA85D59B9B6634F>.
> Supported: em,timer,replaces,path,early-session,resource-priority.
> Allow: REGISTER,OPTIONS,INVITE,ACK,CANCEL,BYE,NOTIFY,PRACK,REFER,INFO,SUBSCRIBE,UPDATE.
> Server: Audiocodes-Sip-Gateway-Mediant 2000/v.5.60A.035.002.
> Content-Type: application/sdp.
> Content-Length: 259.
> .
> v=0.
> o=AudiocodesGW 2073965634 2073965290 IN IP4 178.21.248.56.
> s=Phone-Call.
> c=IN IP4 178.21.248.56.
> t=0 0.
> m=audio 6050 RTP/AVP 8 101.
> c=IN IP4 178.21.248.56.
> a=rtpmap:8 PCMA/8000.
> a=rtpmap:101 telephone-event/8000.
> a=fmtp:101 0-15.
> a=ptime:20.
> a=sendrecv.
>
> #
> U 2010/10/28 10:51:04.136586 178.21.248.56:5060 ->  178.21.248.7:5060
> SIP/2.0 180 Ringing.
> Via: SIP/2.0/UDP 178.21.248.7;branch=z9hG4bK690c.9cfea506.0.
> Via: SIP/2.0/UDP 178.21.248.20;branch=z9hG4bK690c.97354e4.0.
> Via: SIP/2.0/UDP
> 87.104.233.108:5060;rport=5060;branch=z9hG4bK3c70fae55c8b362ff34e6c782cc21592.
> From:<sip:87776688 at sip.uni-tel.dk>;tag=AI8DA85D59B9B6634F.
> To:<sip:86987106 at sip.uni-tel.dk>;tag=1c2073920452.
> Call-ID: AI231CA9BD0A4A1C53 at 10.0.0.150.
> CSeq: 2 INVITE.
> Contact:<sip:1105 at 178.21.248.56:5060>.
> Record-Route:<sip:178.21.248.7;lr;ftag=AI8DA85D59B9B6634F;did=f48.5fd1db02>,<sip:178.21.248.20;lr;ftag=AI8DA85D59B9B6634F>.
> Supported: em,timer,replaces,path,early-session,resource-priority.
> Allow: REGISTER,OPTIONS,INVITE,ACK,CANCEL,BYE,NOTIFY,PRACK,REFER,INFO,SUBSCRIBE,UPDATE.
> Server: Audiocodes-Sip-Gateway-Mediant 2000/v.5.60A.035.002.
> Content-Type: application/sdp.
> Content-Length: 259.
> .
> v=0.
> o=AudiocodesGW 2073965634 2073965290 IN IP4 178.21.248.56.
> s=Phone-Call.
> c=IN IP4 178.21.248.56.
> t=0 0.
> m=audio 6050 RTP/AVP 8 101.
> c=IN IP4 178.21.248.56.
> a=rtpmap:8 PCMA/8000.
> a=rtpmap:101 telephone-event/8000.
> a=fmtp:101 0-15.
> a=ptime:20.
> a=sendrecv.
>
> #
> U 2010/10/28 10:51:04.136837 178.21.248.7:5060 ->  178.21.248.20:5060
> SIP/2.0 180 Ringing.
> Via: SIP/2.0/UDP 178.21.248.20;branch=z9hG4bK690c.97354e4.0.
> Via: SIP/2.0/UDP
> 87.104.233.108:5060;rport=5060;branch=z9hG4bK3c70fae55c8b362ff34e6c782cc21592.
> From:<sip:87776688 at sip.uni-tel.dk>;tag=AI8DA85D59B9B6634F.
> To:<sip:86987106 at sip.uni-tel.dk>;tag=1c2073920452.
> Call-ID: AI231CA9BD0A4A1C53 at 10.0.0.150.
> CSeq: 2 INVITE.
> Contact:<sip:1105 at 178.21.248.56:5060>.
> Record-Route:<sip:178.21.248.7;lr;ftag=AI8DA85D59B9B6634F;did=f48.5fd1db02>,<sip:178.21.248.20;lr;ftag=AI8DA85D59B9B6634F>.
> Supported: em,timer,replaces,path,early-session,resource-priority.
> Allow: REGISTER,OPTIONS,INVITE,ACK,CANCEL,BYE,NOTIFY,PRACK,REFER,INFO,SUBSCRIBE,UPDATE.
> Server: Audiocodes-Sip-Gateway-Mediant 2000/v.5.60A.035.002.
> Content-Type: application/sdp.
> Content-Length: 259.
> .
> v=0.
> o=AudiocodesGW 2073965634 2073965290 IN IP4 178.21.248.56.
> s=Phone-Call.
> c=IN IP4 178.21.248.56.
> t=0 0.
> m=audio 6050 RTP/AVP 8 101.
> c=IN IP4 178.21.248.56.
> a=rtpmap:8 PCMA/8000.
> a=rtpmap:101 telephone-event/8000.
> a=fmtp:101 0-15.
> a=ptime:20.
> a=sendrecv.
>
> ##############################
> U 2010/10/28 10:51:12.881179 178.21.248.56:5060 ->  178.21.248.7:5060
> SIP/2.0 200 OK.
> Via: SIP/2.0/UDP 178.21.248.7;branch=z9hG4bK690c.9cfea506.0.
> Via: SIP/2.0/UDP 178.21.248.20;branch=z9hG4bK690c.97354e4.0.
> Via: SIP/2.0/UDP
> 87.104.233.108:5060;rport=5060;branch=z9hG4bK3c70fae55c8b362ff34e6c782cc21592.
> From:<sip:87776688 at sip.uni-tel.dk>;tag=AI8DA85D59B9B6634F.
> To:<sip:86987106 at sip.uni-tel.dk>;tag=1c2073920452.
> Call-ID: AI231CA9BD0A4A1C53 at 10.0.0.150.
> CSeq: 2 INVITE.
> Contact:<sip:1105 at 178.21.248.56:5060>.
> Record-Route:<sip:178.21.248.7;lr;ftag=AI8DA85D59B9B6634F;did=f48.5fd1db02>,<sip:178.21.248.20;lr;ftag=AI8DA85D59B9B6634F>.
> Supported: em,timer,replaces,path,early-session,resource-priority.
> Allow: REGISTER,OPTIONS,INVITE,ACK,CANCEL,BYE,NOTIFY,PRACK,REFER,INFO,SUBSCRIBE,UPDATE.
> Server: Audiocodes-Sip-Gateway-Mediant 2000/v.5.60A.035.002.
> Content-Type: application/sdp.
> Content-Length: 259.
> .
> v=0.
> o=AudiocodesGW 2073965634 2073965290 IN IP4 178.21.248.56.
> s=Phone-Call.
> c=IN IP4 178.21.248.56.
> t=0 0.
> m=audio 6050 RTP/AVP 8 101.
> c=IN IP4 178.21.248.56.
> a=rtpmap:8 PCMA/8000.
> a=rtpmap:101 telephone-event/8000.
> a=fmtp:101 0-15.
> a=ptime:20.
> a=sendrecv.
>
> #
> U 2010/10/28 10:51:12.882388 178.21.248.7:5060 ->  178.21.248.20:5060
> SIP/2.0 200 OK.
> Via: SIP/2.0/UDP 178.21.248.20;branch=z9hG4bK690c.97354e4.0.
> Via: SIP/2.0/UDP
> 87.104.233.108:5060;rport=5060;branch=z9hG4bK3c70fae55c8b362ff34e6c782cc21592.
> From:<sip:87776688 at sip.uni-tel.dk>;tag=AI8DA85D59B9B6634F.
> To:<sip:86987106 at sip.uni-tel.dk>;tag=1c2073920452.
> Call-ID: AI231CA9BD0A4A1C53 at 10.0.0.150.
> CSeq: 2 INVITE.
> Contact:<sip:1105 at 178.21.248.56:5060>.
> Record-Route:<sip:178.21.248.7;lr;ftag=AI8DA85D59B9B6634F;did=f48.5fd1db02>,<sip:178.21.248.20;lr;ftag=AI8DA85D59B9B6634F>.
> Supported: em,timer,replaces,path,early-session,resource-priority.
> Allow: REGISTER,OPTIONS,INVITE,ACK,CANCEL,BYE,NOTIFY,PRACK,REFER,INFO,SUBSCRIBE,UPDATE.
> Server: Audiocodes-Sip-Gateway-Mediant 2000/v.5.60A.035.002.
> Content-Type: application/sdp.
> Content-Length: 259.
> .
> v=0.
> o=AudiocodesGW 2073965634 2073965290 IN IP4 178.21.248.56.
> s=Phone-Call.
> c=IN IP4 178.21.248.56.
> t=0 0.
> m=audio 6050 RTP/AVP 8 101.
> c=IN IP4 178.21.248.56.
> a=rtpmap:8 PCMA/8000.
> a=rtpmap:101 telephone-event/8000.
> a=fmtp:101 0-15.
> a=ptime:20.
> a=sendrecv.
>
> #####<<<<<<<<<<<<<<<<<<<<<<   This is the problem packet>>>>>>>>>>>>>>>>>>>>>
> U 2010/10/28 10:51:13.267863 178.21.248.20:5060 ->  178.21.248.7:5060
> ACK sip:1105 at 178.21.248.56:5060 SIP/2.0.
> Record-Route:<sip:178.21.248.20;lr;ftag=AI8DA85D59B9B6634F>.
> Via: SIP/2.0/UDP 178.21.248.20;branch=z9hG4bK690c.97354e4.2.
> Via: SIP/2.0/UDP
> 87.104.233.108:5060;rport=5060;branch=z9hG4bK07103fe69c8af048b9b8216eb2f7233f.
> To:<sip:86987106 at sip.uni-tel.dk>;tag=1c2073920452.
> From:<sip:87776688 at sip.uni-tel.dk>;tag=AI8DA85D59B9B6634F.
> Call-ID: AI231CA9BD0A4A1C53 at 10.0.0.150.
> CSeq: 2 ACK.
> Max-Forwards: 69.
> Route:<sip:178.21.248.7;lr=on;ftag=AI8DA85D59B9B6634F;did=f48.5fd1db02>.
> User-Agent: Aastra Intelligate.
> Content-Length: 0.
>
>
>
>
>
>
>
>

-- 
Daniel-Constantin Mierla
http://www.asipto.com




More information about the sr-users mailing list