Summary: | ASTERISK-19313: [patch] incorrect handling of UPDATE response with canreinvite=update | ||||
Reporter: | Pietro Bertera (pbertera) | Labels: | patch | ||
Date Opened: | 2012-02-08 09:04:09.000-0600 | Date Closed: | |||
Priority: | Major | Regression? | |||
Status: | Open/New | Components: | Channels/chan_sip/General | ||
Versions: | 1.8.9.0 1.8.9.1 13.18.4 | Frequency of Occurrence | Constant | ||
Related Issues: |
| ||||
Environment: | Attachments: | ( 0) asterisk-1.8.9.1-UPDATE-reinvite.patch | |||
Description: | when asterisk refresh SIP timers sends an UPDATE (X-asterisk-Info: SIP re-invite (Session-Timers) ) (I'm using canreinvite=update in chan_sip.conf) and the phone reply with SIP/2.0 481 Call Leg/Transaction Does Not Exist Asterisk continue in resending UPDATE and doesn't tear down the previous allocated channel. | ||||
Comments: | By: Pietro Bertera (pbertera) 2012-02-08 09:05:06.904-0600 this little chan_sip.c patch correct this behavior. I don't know if the better place of channel destruction code is inside the handle_response_update() By: Matt Jordan (mjordan) 2012-05-02 14:33:07.868-0500 A fix for this was put into 1.8.12.0. Could you please test with that release to determine if this was resolved? By: Pietro Bertera (pbertera) 2012-05-09 18:11:39.337-0500 Now Asterisk stop in sending UPDATE but doesn't tear down the allocated channel: *CLI> set_destination: Parsing <sip:153@172.16.18.31:1024;line=i6vd2b3m> for address/port to send to set_destination: set destination to 172.16.18.31:1024 Audio is at 18288 Adding codec 0x2 (gsm) to SDP Adding codec 0x4 (ulaw) to SDP Adding codec 0x8 (alaw) to SDP Adding non-codec 0x1 (telephone-event) to SDP Reliably Transmitting (NAT) to 172.16.18.31:1024: UPDATE sip:153@172.16.18.31:1024;line=i6vd2b3m SIP/2.0 Via: SIP/2.0/UDP 172.16.18.40:5060;branch=z9hG4bK7e99703b;rport Max-Forwards: 70 From: <sip:154@asterisk.labo.local;user=phone>;tag=as07e3c217 To: "153" <sip:153@asterisk.labo.local>;tag=70nkbvsl2i Contact: <sip:154@172.16.18.40:5060> Call-ID: 4faaf29de159-0wshiv6pcgkj CSeq: 103 UPDATE User-Agent: Asterisk PBX 1.8.12.0 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH Supported: replaces, timer X-asterisk-Info: SIP re-invite (Session-Timers) Content-Type: application/sdp Content-Length: 284 v=0 o=root 2117963759 2117963760 IN IP4 172.16.18.30 s=Asterisk PBX 1.8.12.0 c=IN IP4 172.16.18.30 t=0 0 m=audio 58442 RTP/AVP 3 0 8 101 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=ptime:20 a=sendrecv --- <--- SIP read from UDP:172.16.18.31:1024 ---> SIP/2.0 481 Call Leg/Transaction Does Not Exist Via: SIP/2.0/UDP 172.16.18.40:5060;branch=z9hG4bK7e99703b;rport=5060 From: <sip:154@asterisk.labo.local;user=phone>;tag=as07e3c217 To: "153" <sip:153@asterisk.labo.local>;tag=70nkbvsl2i Call-ID: 4faaf29de159-0wshiv6pcgkj CSeq: 103 UPDATE User-Agent: snom370/8.7.3.7 Allow: INVITE, ACK, CANCEL, BYE, REFER, OPTIONS, NOTIFY, SUBSCRIBE, PRACK, MESSAGE, INFO, UPDATE Allow-Events: talk, hold, refer, call-info Supported: timer, 100rel, replaces, from-change Content-Length: 0 <-------------> --- (11 headers 0 lines) --- [May 10 00:44:37] WARNING[18880]: chan_sip.c:21138 handle_response: Remote host can't match request UPDATE to call '4faaf29de159-0wshiv6pcgkj'. Giving up. *CLI> sip show channels Peer User/ANR Call ID Format Hold Last Message Expiry Peer 172.16.18.31 153 4faaf29de159-0w 0x2 (gsm) No Tx: UPDATE 153 172.16.18.30 154 36fac15565a5daa 0x2 (gsm) No Tx: UPDATE 154 2 active SIP dialogs *CLI> |