]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
- Reset proper flag
authorOlle Johansson <oej@edvina.net>
Sat, 9 Sep 2006 12:14:03 +0000 (12:14 +0000)
committerOlle Johansson <oej@edvina.net>
Sat, 9 Sep 2006 12:14:03 +0000 (12:14 +0000)
- 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

channels/chan_sip.c

index b51ed4b5b71b1f7ddbe2d8defde9a132d709a339..a86f2c0ee52e71d603e9f6407c862b8ccfc4b833 100644 (file)
@@ -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 */