[asterisk-commits] mmichelson: trunk r155467 - /trunk/channels/chan_sip.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Fri Nov 7 17:41:44 CST 2008


Author: mmichelson
Date: Fri Nov  7 17:41:44 2008
New Revision: 155467

URL: http://svn.digium.com/view/asterisk?view=rev&rev=155467
Log:
Set the invite state to INV_CANCELLED in a place that
makes more sense. Where it was set before, it was impossible
to actually delay sending a CANCEL if we had not yet received
a provisional response to an INVITE.

(closes issue #13626)
Reported by: atis
Patches:
      13626.patch uploaded by putnopvut (license 60)
Tested by: atis


Modified:
    trunk/channels/chan_sip.c

Modified: trunk/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/trunk/channels/chan_sip.c?view=diff&rev=155467&r1=155466&r2=155467
==============================================================================
--- trunk/channels/chan_sip.c (original)
+++ trunk/channels/chan_sip.c Fri Nov  7 17:41:44 2008
@@ -5440,7 +5440,6 @@
 			if (ast_test_flag(&p->flags[0], SIP_OUTGOING)) {
 				/* stop retransmitting an INVITE that has not received a response */
 				__sip_pretend_ack(p);
-				p->invitestate = INV_CANCELLED;
 
 				/* if we can't send right now, mark it pending */
 				if (p->invitestate == INV_CALLING) {
@@ -5450,6 +5449,7 @@
 					sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT);
 					append_history(p, "DELAY", "Not sending cancel, waiting for timeout");
 				} else {
+					p->invitestate = INV_CANCELLED;
 					/* Send a new request: CANCEL */
 					transmit_request(p, SIP_CANCEL, p->lastinvite, XMIT_RELIABLE, FALSE);
 					/* Actually don't destroy us yet, wait for the 487 on our original 




More information about the asterisk-commits mailing list