diff --git a/channels/chan_sip.c b/channels/chan_sip.c index e97e9010bd9b2561c805643b5656cbb7ac7f783e..ba0d08ca4e587c9a10dc0ef22ca92ecba12bab87 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -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; }