From c2b4c7a9c7ca64fc1f427ff85f015fd59dc38181 Mon Sep 17 00:00:00 2001
From: Olle Johansson <oej@edvina.net>
Date: Tue, 14 Nov 2006 11:26:06 +0000
Subject: [PATCH] Issue #8272 imported from 1.2/1.4 - Let the peerpoke system
 destroy it's own packets, please.

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

diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index e626eb1458..4985677dc3 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -1925,7 +1925,10 @@ static int retrans_pkt(void *data)
 			ast_channel_unlock(pkt->owner->owner);
 		} else {
 			/* If no channel owner, destroy now */
-			ast_set_flag(&pkt->owner->flags[0], SIP_NEEDDESTROY);	
+
+			/* Let the peerpoke system expire packets when the timer expires for poke_noanswer */
+			if (pkt->method != SIP_OPTIONS)
+				ast_set_flag(&pkt->owner->flags[0], SIP_NEEDDESTROY);	
 		}
 	}
 	/* Remove the packet */
-- 
GitLab