From: Olle Johansson Date: Sat, 9 Sep 2006 12:14:03 +0000 (+0000) Subject: - Reset proper flag X-Git-Tag: 1.2.12.1~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ed090343601592a547275ef2b0398f6eb67ba2ed;p=thirdparty%2Fasterisk.git - Reset proper flag - Don't delete SIP dialog prematurely Strangely enough imported from svn trunk... It's confusing here in Greenland. (Committing from 36.000 feet above Greenland, on the way to asterisk@von http://www.pulver.com/asterisk ) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@42535 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_sip.c b/channels/chan_sip.c index b51ed4b5b7..a86f2c0ee5 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -9572,16 +9572,14 @@ static void check_pendings(struct sip_pvt *p) { if (ast_test_flag(p, SIP_PENDINGBYE)) { /* if we can't BYE, then this is really a pending CANCEL */ - if (!ast_test_flag(p, SIP_CAN_BYE)) { + if (!ast_test_flag(p, SIP_CAN_BYE)) transmit_request_with_auth(p, SIP_CANCEL, p->ocseq, 1, 0); /* Actually don't destroy us yet, wait for the 487 on our original INVITE, but do set an autodestruct just in case we never get it. */ - sip_scheddestroy(p, 32000); - } else { + else transmit_request_with_auth(p, SIP_BYE, 0, 1, 1); - ast_set_flag(p, SIP_NEEDDESTROY); - ast_clear_flag(p, SIP_NEEDREINVITE); - } + ast_clear_flag(p, SIP_PENDINGBYE); + sip_scheddestroy(p, 32000); } else if (ast_test_flag(p, SIP_NEEDREINVITE)) { ast_log(LOG_DEBUG, "Sending pending reinvite on '%s'\n", p->callid); /* Didn't get to reinvite yet, so do it now */