[asterisk-users] Asterisk hangs up SIP call after 6 200 retransmits

Raj Jain rj2807 at gmail.com
Mon Apr 2 10:32:42 MST 2007


I found a subtle difference between the two traces you sent (the call that
works and the call that gets dropped). This may or may not be what's causing
the problem.

The call that gets dropped had a retransmission of INVITE from UAC to
UAS (and therefore retransmission of 200 OK from UAS to UAC). There is
nothing wrong with the re-transmission as such, but I noticed a
potential bug in Asterisk in the way it responds to an
INVITE retransmission. Asterisk is bumping up the session version number in
the retransmitted 200 OK's SDP. This is as if Asterisk is treating the
INVITE retransmission as a RE-INVITE.

Asterisk sends 200 OK:
o=root 16300 16300 IN IP4 203.89.nnn.nnn

 Asterisk sends 200 OK (retransmission):
o=root 16300 16301 IN IP4 203.89.nnn.nnn

Ideally, this bug should have nothing to do with why Asterisk is ignoring
the ACK (which is why it keeps reatrasmitting the 200 OK and eventually
drops the call). However, if you can confirm that all dropped calls have
INVITE retransmission then that might give us a clue?

Raj




On 4/1/07, kjcsb <kjcsb at yahoo.com> wrote:
>
> >One potential reason could be that the ACK request being sent to Asterisk
> is malformed. Notice >"branch=0" in the top Via. This should start with
> "z9hG4bK" magic cookie since the INVITE was an RFC >3261 transaction.
>
> >While "branch=0" is valid in RFC 2543, I don't think an INVITE can
> start-off as RFC 3261 and then the >ACK can switch over to RFC 2543 in the
> middle of the transaction. Clearly, Asterisk is dropping this ACK >on the
> floor.
>
> OK. But in the calls that don't get dropped, the "branch=0" is present
> also. See below for an example:
>
> <-- SIP read from 147.202.nnn.nnn:5060:
> INVITE sip:6499777777 at 203.89.nnn.nnn SIP/2.0
> Record-Route: <sip:147.202.nnn.nnn;ftag=as1370b1ab;lr=on>
> Via: SIP/2.0/UDP 147.202.nnn.nnn;branch=z9hG4bK22ab.697375a4.0
> Via: SIP/2.0/UDP 202.180.nnn.nnn:5060;branch=z9hG4bK4cf2bb78;rport=5060
> From: "6494444444" <sip:6494444444 at 202.180.nnn.nnn>;tag=as1370b1ab
> To: <sip:6499777777 at domain.co.nz>
> Contact: <sip:6494444444 at 202.180.nnn.nnn>
> Call-ID: 1fd7e9c847bada25357102fc6173f7f8 at 202.180.nnn.nnn
> CSeq: 102 INVITE
> User-Agent: Asterisk PBX
> Max-Forwards: 69
> Date: Mon, 02 Apr 2007 03:37:54 GMT
> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
> Content-Type: application/sdp
> Content-Length: 338
> v=0
> o=root 11402 11402 IN IP4 202.180.nnn.nnn
> s=session
> c=IN IP4 202.180.nnn.nnn
> t=0 0
> m=audio 39686 RTP/AVP 18 97 3 0 8 101
> a=rtpmap:18 G729/8000
> a=fmtp:18 annexb=no
> a=rtpmap:97 iLBC/8000
> a=rtpmap:3 GSM/8000
> a=rtpmap:0 PCMU/8000
> a=rtpmap:8 PCMA/8000
> a=rtpmap:101 telephone-event/8000
> a=fmtp:101 0-16
> a=silenceSupp:off - - - -
> --- (15 headers 15 lines) ---
> Using INVITE request as basis request -
> 1fd7e9c847bada25357102fc6173f7f8 at 202.180.nnn.nnn
> Sending to 147.202.nnn.nnn : 5060 (non-NAT)
> Found peer 'DLS'
> Found RTP audio format 18
> Found RTP audio format 97
> Found RTP audio format 3
> Found RTP audio format 0
> Found RTP audio format 8
> Found RTP audio format 101
> Peer audio RTP is at port 202.180.nnn.nnn:39686
> Found description format G729
> Found description format iLBC
> Found description format GSM
> Found description format PCMU
> Found description format PCMA
> Found description format telephone-event
> Capabilities: us - 0xc (ulaw|alaw), peer - audio=0x50e
> (gsm|ulaw|alaw|g729|ilbc)/video=0x0 (nothing), combined - 0xc (ulaw|alaw)
> Non-codec capabilities: us - 0x1 (telephone-event), peer - 0x1
> (telephone-event), combined - 0x1 (telephone-event)
> Looking for 6499777777 in from-trunk (domain 203.89.nnn.nnn)
> list_route: hop: <sip:147.202.nnn.nnn;ftag=as1370b1ab;lr=on>
> Transmitting (no NAT) to 147.202.nnn.nnn:5060:
> SIP/2.0 100 Trying
> Via: SIP/2.0/UDP 147.202.nnn.nnn;branch=z9hG4bK22ab.697375a4.0;received=
> 147.202.nnn.nnn
> Via: SIP/2.0/UDP 202.180.nnn.nnn:5060;branch=z9hG4bK4cf2bb78;rport=5060
> From: "6494444444" <sip:6494444444 at 202.180.nnn.nnn>;tag=as1370b1ab
> To: <sip:6499777777 at domain.co.nz>
> Call-ID: 1fd7e9c847bada25357102fc6173f7f8 at 202.180.nnn.nnn
> CSeq: 102 INVITE
> User-Agent: Asterisk PBX
> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
> Contact: <sip:6499777777 at 203.89.nnn.nnn>
> Content-Length: 0
>
> ---
>    -- Goto (ivr-3,s,1)
>    -- Executing Set("SIP/6499777777-b7908550", "LOOPCOUNT=0") in new stack
>    -- Executing Set("SIP/6499777777-b7908550",
> "__DIR-CONTEXT=11000111000") in new stack
>    -- Executing Answer("SIP/6499777777-b7908550", "") in new stack
> We're at 203.89.nnn.nnn port 15804
> Adding codec 0x4 (ulaw) to SDP
> Adding codec 0x8 (alaw) to SDP
> Adding non-codec 0x1 (telephone-event) to SDP
> Reliably Transmitting (no NAT) to 147.202.nnn.nnn:5060:
> SIP/2.0 200 OK
> Via: SIP/2.0/UDP 147.202.nnn.nnn;branch=z9hG4bK22ab.697375a4.0;received=
> 147.202.nnn.nnn
> Via: SIP/2.0/UDP 202.180.nnn.nnn:5060;branch=z9hG4bK4cf2bb78;rport=5060
> Record-Route: <sip:147.202.nnn.nnn;ftag=as1370b1ab;lr=on>
> From: "6494444444" <sip:6494444444 at 202.180.nnn.nnn>;tag=as1370b1ab
> To: <sip:6499777777 at domain.co.nz>;tag=as7ecf44d1
> Call-ID: 1fd7e9c847bada25357102fc6173f7f8 at 202.180.nnn.nnn
> CSeq: 102 INVITE
> User-Agent: Asterisk PBX
> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
> Contact: <sip:6499777777 at 203.89.nnn.nnn>
> Content-Type: application/sdp
> Content-Length: 244
> v=0
> o=root 16300 16300 IN IP4 203.89.nnn.nnn
> s=session
> c=IN IP4 203.89.nnn.nnn
> t=0 0
> m=audio 15804 RTP/AVP 0 8 101
> a=rtpmap:0 PCMU/8000
> a=rtpmap:8 PCMA/8000
> a=rtpmap:101 telephone-event/8000
> a=fmtp:101 0-16
> a=silenceSupp:off - - - -
> ---
>    -- Executing Wait("SIP/6499777777-b7908550", "1") in new stack
> capetown*CLI>
> <-- SIP read from 147.202.nnn.nnn:5060:
> ACK sip:6499777777 at 203.89.nnn.nnn SIP/2.0
> Record-Route: <sip:147.202.nnn.nnn;ftag=as1370b1ab;lr=on>
> Via: SIP/2.0/UDP 147.202.nnn.nnn;branch=0
> Via: SIP/2.0/UDP 202.180.nnn.nnn:5060;branch=z9hG4bK5ba4f251;rport=5060
> From: "6494444444" <sip:6494444444 at 202.180.nnn.nnn>;tag=as1370b1ab
> To: <sip:6499777777 at domain.co.nz>;tag=as7ecf44d1
> Contact: <sip:6494444444 at 202.180.nnn.nnn>
> Call-ID: 1fd7e9c847bada25357102fc6173f7f8 at 202.180.nnn.nnn
> CSeq: 102 ACK
> User-Agent: Asterisk PBX
> Max-Forwards: 69
> Content-Length: 0
>
> --- (12 headers 0 lines) ---
>    -- Executing Set("SIP/6499777777-b7908550", "TIMEOUT(digit)=3") in new
> stack
>    -- Digit timeout set to 3
>    -- Executing Set("SIP/6499777777-b7908550", "TIMEOUT(response)=10") in
> new stack
>    -- Response timeout set to 10
>    -- Executing BackGround("SIP/6499777777-b7908550",
> "custom/11000111000-welcome") in new stack
>    -- Playing 'custom/11000111000-welcome' (language 'nz')
> capetown*CLI>
> <-- SIP read from 147.202.nnn.nnn:5060:
> BYE sip:6499777777 at 203.89.nnn.nnn SIP/2.0
> Record-Route: <sip:147.202.nnn.nnn;ftag=as1370b1ab;lr=on>
> Via: SIP/2.0/UDP 147.202.nnn.nnn;branch=z9hG4bK32ab.feee6b67.0
> Via: SIP/2.0/UDP 202.180.nnn.nnn:5060;branch=z9hG4bK7916f637;rport=5060
> From: "6494444444" <sip:6494444444 at 202.180.nnn.nnn>;tag=as1370b1ab
> To: <sip:6499777777 at domain.co.nz>;tag=as7ecf44d1
> Contact: <sip:6494444444 at 202.180.nnn.nnn>
> Call-ID: 1fd7e9c847bada25357102fc6173f7f8 at 202.180.nnn.nnn
> CSeq: 103 BYE
> User-Agent: Asterisk PBX
> Max-Forwards: 69
> Content-Length: 0
>
> --- (12 headers 0 lines) ---
> Sending to 147.202.nnn.nnn : 5060 (non-NAT)
> Transmitting (no NAT) to 147.202.nnn.nnn:5060:
> SIP/2.0 200 OK
> Via: SIP/2.0/UDP 147.202.nnn.nnn;branch=z9hG4bK32ab.feee6b67.0;received=
> 147.202.nnn.nnn
> Via: SIP/2.0/UDP 202.180.nnn.nnn:5060;branch=z9hG4bK7916f637;rport=5060
> Record-Route: <sip:147.202.nnn.nnn;ftag=as1370b1ab;lr=on>
> From: "6494444444" <sip:6494444444 at 202.180.nnn.nnn>;tag=as1370b1ab
> To: <sip:6499777777 at domain.co.nz>;tag=as7ecf44d1
> Call-ID: 1fd7e9c847bada25357102fc6173f7f8 at 202.180.nnn.nnn
> CSeq: 103 BYE
> User-Agent: Asterisk PBX
> Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
> Contact: <sip:6499777777 at 203.89.nnn.nnn>
> Content-Length: 0
>
> ---
> == Spawn extension (ivr-3, s, 7) exited non-zero on
> 'SIP/6499777777-b7908550'
>    -- Executing Hangup("SIP/6499777777-b7908550", "") in new stack
> == Spawn extension (ivr-3, h, 1) exited non-zero on
> 'SIP/6499777777-b7908550'
> Destroying call '1fd7e9c847bada25357102fc6173f7f8 at 202.180.nnn.nnn'
> capetown*CLI> sip no debug
> SIP Debugging Disabled
> capetown*CLI>
>
>
> Cameron
>
>
>
>
>
> ___________________________________________________________
> New Yahoo! Mail is the ultimate force in competitive emailing. Find out
> more at the Yahoo! Mail Championships. Plus: play games and win prizes.
> http://uk.rd.yahoo.com/evt=44106/*http://mail.yahoo.net/uk
> _______________________________________________
> --Bandwidth and Colocation provided by Easynews.com --
>
> asterisk-users mailing list
> To UNSUBSCRIBE or update options visit:
>   http://lists.digium.com/mailman/listinfo/asterisk-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20070402/33f62812/attachment.htm


More information about the asterisk-users mailing list