From 9cbd90a8648c381f1f673448be9d03091f12c7dd Mon Sep 17 00:00:00 2001
From: Tilghman Lesher <tilghman@meg.abyt.es>
Date: Wed, 22 Apr 2009 16:01:30 +0000
Subject: [PATCH] Do not continue to receive DTMF, when the channel is hungup
 and about to be destroyed. (closes issue #14858)  Reported by: barryf 
 Patches:        20090421__bug14858.diff.txt uploaded by tilghman (license 14)
  Tested by: barryf

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

diff --git a/channels/chan_unistim.c b/channels/chan_unistim.c
index 30f4395c3e..127bfed45f 100644
--- a/channels/chan_unistim.c
+++ b/channels/chan_unistim.c
@@ -2473,7 +2473,7 @@ static int unistim_do_senddigit(struct unistimsession *pte, char digit)
 	struct ast_frame f = { 0, };
 	struct unistim_subchannel *sub;
 	sub = pte->device->lines->subs[SUB_REAL];
-	if (!sub->owner) {
+	if (!sub->owner || sub->alreadygone) {
 		ast_log(LOG_WARNING, "Unable to find subchannel in dtmf senddigit\n");
 		return -1;
 	}
@@ -4223,8 +4223,8 @@ static int unistim_senddigit_end(struct ast_channel *ast, char digit, unsigned i
 
 	sub = pte->device->lines->subs[SUB_REAL];
 
-	if (!sub->owner) {
-		ast_log(LOG_WARNING, "Unable to find subchannel in dtmf senddigiti_end\n");
+	if (!sub->owner || sub->alreadygone) {
+		ast_log(LOG_WARNING, "Unable to find subchannel in dtmf senddigit_end\n");
 		return -1;
 	}
 
-- 
GitLab