properly handle '100 Trying' that arrives after a dialog has been dropped (issue...
authorKevin P. Fleming <kpfleming@digium.com>
Mon, 31 Oct 2005 23:03:44 +0000 (23:03 +0000)
committerKevin P. Fleming <kpfleming@digium.com>
Mon, 31 Oct 2005 23:03:44 +0000 (23:03 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6912 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index fa0431a..df40648 100755 (executable)
@@ -9404,6 +9404,11 @@ static void handle_response_invite(struct sip_pvt *p, int resp, char *rest, stru
                        ast_log(LOG_DEBUG, "SIP response %d to standard invite\n", resp);
        }
 
+       if (ast_test_flag(p, SIP_ALREADYGONE)) { /* This call is already gone */
+               ast_log(LOG_DEBUG, "Got response on call that is already terminated: %s (ignoring)\n", p->callid);
+               return;
+       }
+
        switch (resp) {
        case 100:       /* Trying */
                sip_cancel_destroy(p);