Hi all. I am having lots of trouble with random calls dropping after 20 seconds, and I finally managed to capture a full sip trace. I'll paste it in full below, but I'll give a summary first. It seems that Asterisk is not recognizing the ACK messages that it receives from the Grandstream ATA. This happens only on the ACK that follows the OK that marks a call as established. This makes Asterisk retransmit the OK message 6 times, after which it drops the call (after exactly 20 seconds).
The strange thing is that the "branch" parameter of the ACK is different than the branch parameter from the OK it is replying to, however, this seems to be normal behaviour as specified in the RFC for an ACK that is sent in response to a 200 message. I don't want to clutter the list, and the mail-bot marked as spam my previous email with a pastie link, so I am only including the highlights of the SIP dialog. Any suggestions as to how to attach the whole thing (if necessary) are appreciated. >>> The call was ringing and is now answered: <--- Reliably Transmitting (NAT) to 82.158.83.xxx:5062 ---> SIP/2.0 200 OK Via: SIP/2.0/UDP 82.158.83.xxx:5062;branch=z9hG4bK1226703311;received=82.158.83.xxx;rport=5062 From: "800902" <sip:800...@130.117.xxx.xxx;user=phone>;tag=467506068 To: <sip:6615xx...@130.117.xxx.xxx;user=phone>;tag=as2e12c791 Call-ID: 2117388659-506...@82.158.83.xxx CSeq: 31 INVITE Server: VoIPSwitch Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO Supported: replaces, timer Contact: <sip:6615xx...@130.117.xxx.xxx> Content-Type: application/sdp Content-Length: 235 v=0 o=root 1698171141 1698171142 IN IP4 130.117.xxx.xxx s=Asterisk PBX 1.6.1.18 c=IN IP4 130.117.xxx.xxx t=0 0 m=audio 39124 RTP/AVP 18 a=rtpmap:18 G729/8000 a=fmtp:18 annexb=no a=silenceSupp:off - - - - a=ptime:20 a=sendrecv <------------> -- Packet2Packet bridging SIP/800902-00001794 and SIP/130.117.110.21-00001795 >>> ATA ACK's the OK message: <--- SIP read from UDP://82.158.83.xxx:5062 ---> ACK sip:6615xx...@130.117.xxx.xxx SIP/2.0 Via: SIP/2.0/UDP 82.158.83.xxx:5062;branch=z9hG4bK1788524356;rport From: "800902" <sip:800...@130.117.xxx.xxx;user=phone>;tag=467506068 To: <sip:6615xx...@130.117.xxx.xxx;user=phone>;tag=as2e12c791 Call-ID: 2117388659-506...@192.168.1.100 CSeq: 31 ACK Contact: <sip:800...@82.158.83.xxx:5062;user=phone> Max-Forwards: 70 Supported: replaces, path, timer User-Agent: Grandstream HT-502 V1.1C 1.0.1.57 Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE Content-Length: 0 >>> Asterisk does not recognize and retransmits <-------------> --- (12 headers 0 lines) --- Retransmitting #1 (NAT) to 82.158.83.xxx:5062: SIP/2.0 200 OK Via: SIP/2.0/UDP 82.158.83.xxx:5062;branch=z9hG4bK1226703311;received=82.158.83.xxx;rport=5062 From: "800902" <sip:800...@130.117.xxx.xxx;user=phone>;tag=467506068 To: <sip:6615xx...@130.117.xxx.xxx;user=phone>;tag=as2e12c791 Call-ID: 2117388659-506...@82.158.83.xxx CSeq: 31 INVITE Server: VoIPSwitch Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO Supported: replaces, timer Contact: <sip:6615xx...@130.117.xxx.xxx> Content-Type: application/sdp Content-Length: 235 v=0 o=root 1698171141 1698171142 IN IP4 130.117.xxx.xxx s=Asterisk PBX 1.6.1.18 c=IN IP4 130.117.xxx.xxx t=0 0 m=audio 39124 RTP/AVP 18 a=rtpmap:18 G729/8000 a=fmtp:18 annexb=no a=silenceSupp:off - - - - a=ptime:20 a=sendrecv >>> ACK is received again <--- SIP read from UDP://82.158.83.xxx:5062 ---> ACK sip:6615xx...@130.117.xxx.xxx SIP/2.0 Via: SIP/2.0/UDP 82.158.83.xxx:5062;branch=z9hG4bK1788524356;rport From: "800902" <sip:800...@130.117.xxx.xxx;user=phone>;tag=467506068 To: <sip:6615xx...@130.117.xxx.xxx;user=phone>;tag=as2e12c791 Call-ID: 2117388659-506...@192.168.1.100 CSeq: 31 ACK Contact: <sip:800...@82.158.83.xxx:5062;user=phone> Max-Forwards: 70 Supported: replaces, path, timer User-Agent: Grandstream HT-502 V1.1C 1.0.1.57 Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE Content-Length: 0 ............... (cut) >>> The retransmits happen 6 times and then: <-------------> --- (12 headers 0 lines) --- Retransmitting #6 (NAT) to 82.158.83.xxx:5062: SIP/2.0 200 OK Via: SIP/2.0/UDP 82.158.83.xxx:5062;branch=z9hG4bK1226703311;received=82.158.83.xxx;rport=5062 From: "800902" <sip:800...@130.117.xxx.xxx;user=phone>;tag=467506068 To: <sip:6615xx...@130.117.xxx.xxx;user=phone>;tag=as2e12c791 Call-ID: 2117388659-506...@82.158.83.xxx CSeq: 31 INVITE Server: VoIPSwitch Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO Supported: replaces, timer Contact: <sip:6615xx...@130.117.xxx.xxx> Content-Type: application/sdp Content-Length: 235 v=0 o=root 1698171141 1698171142 IN IP4 130.117.xxx.xxx s=Asterisk PBX 1.6.1.18 c=IN IP4 130.117.xxx.xxx t=0 0 m=audio 39124 RTP/AVP 18 a=rtpmap:18 G729/8000 a=fmtp:18 annexb=no a=silenceSupp:off - - - - a=ptime:20 a=sendrecv --- <--- SIP read from UDP://82.158.83.xxx:5062 ---> ACK sip:6615xx...@130.117.xxx.xxx SIP/2.0 Via: SIP/2.0/UDP 82.158.83.xxx:5062;branch=z9hG4bK1788524356;rport From: "800902" <sip:800...@130.117.xxx.xxx;user=phone>;tag=467506068 To: <sip:6615xx...@130.117.xxx.xxx;user=phone>;tag=as2e12c791 Call-ID: 2117388659-506...@192.168.1.100 CSeq: 31 ACK Contact: <sip:800...@82.158.83.xxx:5062;user=phone> Max-Forwards: 70 Supported: replaces, path, timer User-Agent: Grandstream HT-502 V1.1C 1.0.1.57 Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE Content-Length: 0 <-------------> --- (12 headers 0 lines) --- <--- SIP read from UDP://82.158.83.xxx:5062 ---> <-------------> [Apr 23 02:37:15] WARNING[3202]: chan_sip.c:3396 retrans_pkt: Maximum retries exceeded on transmission 2117388659-506...@82.158.83.xxx for seqno 31 (Critical Response) -- See doc/sip-retransmit.txt. [Apr 23 02:37:15] WARNING[3202]: chan_sip.c:3423 retrans_pkt: Hanging up call 2117388659-506...@82.158.83.xxx - no reply to our critical packet (see doc/sip-retransmit.txt). == Spawn extension (default, 6615xxxxx, 27) exited non-zero on 'SIP/800902-00001794' Really destroying SIP dialog '2117388659-506...@82.158.83.xxx' Method: INVITE <--- SIP read from UDP://82.158.83.xxx:5062 ---> BYE sip:6615xx...@130.117.xxx.xxx SIP/2.0 Via: SIP/2.0/UDP 82.158.83.xxx:5062;branch=z9hG4bK1883566966;rport From: "800902" <sip:800...@130.117.xxx.xxx;user=phone>;tag=467506068 To: <sip:6615xx...@130.117.xxx.xxx;user=phone>;tag=as2e12c791 Call-ID: 2117388659-506...@192.168.1.100 CSeq: 32 BYE Contact: <sip:800...@82.158.83.xxx:5062;user=phone> Max-Forwards: 70 Supported: replaces, path, timer User-Agent: Grandstream HT-502 V1.1C 1.0.1.57 Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE Content-Length: 0 <-------------> --- (12 headers 0 lines) --- <--- Transmitting (no NAT) to 82.158.83.xxx:5062 ---> SIP/2.0 481 Call leg/transaction does not exist Via: SIP/2.0/UDP 82.158.83.xxx:5062;branch=z9hG4bK1883566966;received=82.158.83.xxx;rport=5062 From: "800902" <sip:800...@130.117.xxx.xxx;user=phone>;tag=467506068 To: <sip:6615xx...@130.117.xxx.xxx;user=phone>;tag=as2e12c791 Call-ID: 2117388659-506...@192.168.1.100 CSeq: 32 BYE Server: VoIPSwitch Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO Supported: replaces, timer ontent-Length: 0 <------------> Thank you for your help! Alex -- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users