From: Mark Spencer Date: Wed, 14 Jul 2004 11:10:05 +0000 (+0000) Subject: If we get 200 OK back on INVITE after we send CANCEL, send ACK *and* send BYE X-Git-Tag: 1.0.0-rc1~26 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1b9251ad147fb01411417809acfddaede5bb0674;p=thirdparty%2Fasterisk.git If we get 200 OK back on INVITE after we send CANCEL, send ACK *and* send BYE git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3434 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index bd743000f9..cc6bd58682 100755 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -6423,7 +6423,9 @@ static void handle_response(struct sip_pvt *p, int resp, char *rest, struct sip_ struct ast_frame af = { AST_FRAME_NULL, }; ast_queue_frame(p->owner, &af); } - } + } else /* It's possible we're getting an ACK after we've tried to disconnect + by sending CANCEL */ + p->pendingbye = 1; p->authtries = 0; /* If I understand this right, the branch is different for a non-200 ACK only */ transmit_request(p, "ACK", seqno, 0, 1);