From ea64cd393f19eec950bd07128ba4efea12238675 Mon Sep 17 00:00:00 2001
From: Olle Johansson <oej@edvina.net>
Date: Mon, 13 Nov 2006 19:20:54 +0000
Subject: [PATCH] Small fix for uncommon scenario.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@47579 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 channels/chan_sip.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 5f3490809c..e8ae70197a 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -10753,7 +10753,7 @@ static void sip_dump_history(struct sip_pvt *dialog)
 {
 	int x = 0;
 	struct sip_history *hist;
-	static errmsg = 0;
+	static int errmsg = 0;
 
 	if (!dialog)
 		return;
@@ -14058,7 +14058,8 @@ static int handle_request_bye(struct sip_pvt *p, struct sip_request *req)
 	int res;
 	struct ast_channel *bridged_to;
 	
-	if (p->pendinginvite && !ast_test_flag(&p->flags[0], SIP_OUTGOING) && !ast_test_flag(req, SIP_PKT_IGNORE))
+	/* If we have an INCOMING invite that we haven't answered, terminate that transaction */
+	if (p->pendinginvite && !ast_test_flag(&p->flags[0], SIP_OUTGOING) && !ast_test_flag(req, SIP_PKT_IGNORE) && !p->owner)
 		transmit_response_reliable(p, "487 Request Terminated", &p->initreq);
 
 	copy_request(&p->initreq, req);
-- 
GitLab