From a7d794a0aca5afb71e1a34c20ac46e4abf6ed64b Mon Sep 17 00:00:00 2001
From: Mark Spencer <markster@digium.com>
Date: Fri, 11 Nov 2005 18:00:07 +0000
Subject: [PATCH] Fix DTMF issue with 3-way native zap

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

diff --git a/channels/chan_zap.c b/channels/chan_zap.c
index ca3936a944..79ae6c9215 100755
--- a/channels/chan_zap.c
+++ b/channels/chan_zap.c
@@ -3146,10 +3146,10 @@ static enum ast_bridge_result zt_bridge(struct ast_channel *c0, struct ast_chann
 		return AST_BRIDGE_FAILED;
 	}
 	
-	if (!(flags & AST_BRIDGE_DTMF_CHANNEL_0))
+	if (!(flags & AST_BRIDGE_DTMF_CHANNEL_0) && (oi0 == SUB_REAL))
 		disable_dtmf_detect(op0);
 
-	if (!(flags & AST_BRIDGE_DTMF_CHANNEL_1))
+	if (!(flags & AST_BRIDGE_DTMF_CHANNEL_1) && (oi1 == SUB_REAL))
 		disable_dtmf_detect(op1);
 
 	for (;;) {
@@ -3237,10 +3237,10 @@ return_from_bridge:
 	if (op1 == p1)
 		zt_enable_ec(p1);
 
-	if (!(flags & AST_BRIDGE_DTMF_CHANNEL_0))
+	if (!(flags & AST_BRIDGE_DTMF_CHANNEL_0) && (oi0 == SUB_REAL))
 		enable_dtmf_detect(op0);
 
-	if (!(flags & AST_BRIDGE_DTMF_CHANNEL_1))
+	if (!(flags & AST_BRIDGE_DTMF_CHANNEL_1) && (oi1 == SUB_REAL))
 		enable_dtmf_detect(op1);
 
 	zt_unlink(slave, master, 1);
-- 
GitLab