Make sure we destroy dialog in case of loop
authorOlle Johansson <oej@edvina.net>
Fri, 10 Nov 2006 20:31:57 +0000 (20:31 +0000)
committerOlle Johansson <oej@edvina.net>
Fri, 10 Nov 2006 20:31:57 +0000 (20:31 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47468 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index e97e901..ba0d08c 100644 (file)
@@ -13109,7 +13109,7 @@ static int handle_request_invite(struct sip_pvt *p, struct sip_request *req, int
                /* If pedantic is on, we need to check the tags. If they're different, this is
                in fact a forked call through a SIP proxy somewhere. */
                transmit_response(p, "482 Loop Detected", req);
-               /* We do NOT destroy p here, so that our response will be accepted */
+               sip_scheddestroy(p, DEFAULT_TRANS_TIMEOUT);
                return 0;
        }
        
@@ -13118,6 +13118,7 @@ static int handle_request_invite(struct sip_pvt *p, struct sip_request *req, int
                transmit_response(p, "491 Request Pending", req);
                if (option_debug)
                        ast_log(LOG_DEBUG, "Got INVITE on call where we already have pending INVITE, deferring that - %s\n", p->callid);
+               /* Don't destroy dialog here */
                return 0;
        }