[Home]

Summary:ASTERISK-09287: 603 declined do not stop after CANCEL in blind xfer
Reporter:atca_pres (atca_pres)Labels:
Date Opened:2007-04-20 08:05:00Date Closed:2007-10-29 12:20:38
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Channels/chan_sip/General
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) bug-603-sip.pcap
( 1) bug9566.patch
( 2) verbosedebug-NOK.txt
( 3) verbosedebug-SIP_Debug.txt
Description:Sc?nario :
A : Aastra 9113i 10.4.122.235
B : Mediatrix 1104 10.4.121.237
C : Mediatrix 2102 10.4.117.254
* : 10.4.119.245

A Calls B
B Answers
Call OK
B Flash Hook and calls C
B hangs up while C is ringing (blind transfer)
Call redirected BUT :
Look at packet 58 - 603 declined
It's not answered by the unit right away. The unit is in the process of canceling the call avec the Notify (packet 57). Instead of acking right away, the unit CANCEL the call (Packet 62) and the CANCEL is accepted by *. (This is unusual but it is supported in the RFC since nothing prevent the UAC and UAS to cancel the same call at the same time)

The problem is : After accepting the call, * should stop sending the 603 declined. You can see that it does not by looking in packet : 67,69,71,75,81,83 and * repeat the message even if all the 603 are acked before (the ack to the first 603 is right after the CANCEL (packet 65 or 66).

Since the ACK to the CANCEL are EXACTLY the same as the ACK of the 603, maybe * think it is a resent packet and ignore it ?

Anyway, * should have destroyed the call after it has received the ACK to it's 200 OK (packet 64)
Comments:By: Olle Johansson (oej) 2007-04-27 09:20:46

Interesting scenario. I'll look into this.

By: Olle Johansson (oej) 2007-04-27 09:21:41

We need debug files with SIP debug turned on. the PCAP is not really needed, but we need a complete debug file from the Asterisk side. Thanks.

By: atca_pres (atca_pres) 2007-04-30 14:31:31

I just attached the verbosedebug-SIP Debug.txt Which is the same scenario but with sip debug on.

By the way, I changed my replaces in my sdp to add a require and the transfer was ok, no 603. Thought it might help you...

Thank you !

By: Olle Johansson (oej) 2007-05-02 02:04:06

Please give this patch a try. Thanks.

By: atca_pres (atca_pres) 2007-05-02 10:05:56

make clean
did a patch -p0 < bug9566.patch
./Configure && make && make install

Result :
It works.I see one 603 and no repeat.

I noticed that asterisk stop sending Moh between the refer and the 200 OK of C but, I tried before your patch and it didn't work, so it's not your patch. I'll enter a new incident with the same traces.

Thank you oej

By: atca_pres (atca_pres) 2007-06-29 12:53:15

Hi oej,

Any chance of seeing this patch (which is working well) in the trunk ?

Thanks !

By: Jason Parker (jparker) 2007-08-29 17:42:36

oej, do we want to commit this?

By: Digium Subversion (svnbot) 2007-10-29 12:18:51

Repository: asterisk
Revision: 87342

U   branches/1.4/channels/chan_sip.c

------------------------------------------------------------------------
r87342 | file | 2007-10-29 12:18:50 -0500 (Mon, 29 Oct 2007) | 6 lines

Fix issue where if both sides of the dialog cancelled the dialog at the same time chan_sip could kepe retransmitting a response for no reason.
(closes issue ASTERISK-9287)
Reported by: atca_pres
Patches:
     bug9566.patch uploaded by oej

------------------------------------------------------------------------

By: Digium Subversion (svnbot) 2007-10-29 12:20:38

Repository: asterisk
Revision: 87343

_U  trunk/
U   trunk/channels/chan_sip.c

------------------------------------------------------------------------
r87343 | file | 2007-10-29 12:20:37 -0500 (Mon, 29 Oct 2007) | 14 lines

Merged revisions 87342 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r87342 | file | 2007-10-29 14:20:28 -0300 (Mon, 29 Oct 2007) | 6 lines

Fix issue where if both sides of the dialog cancelled the dialog at the same time chan_sip could kepe retransmitting a response for no reason.
(closes issue ASTERISK-9287)
Reported by: atca_pres
Patches:
     bug9566.patch uploaded by oej

........

------------------------------------------------------------------------