Fix DTMF issue with 3-way native zap
authorMark Spencer <markster@digium.com>
Fri, 11 Nov 2005 18:00:07 +0000 (18:00 +0000)
committerMark Spencer <markster@digium.com>
Fri, 11 Nov 2005 18:00:07 +0000 (18:00 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@7076 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_zap.c

index ca3936a..79ae6c9 100755 (executable)
@@ -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);