Author: kmoore
Date: Thu Aug  8 07:38:06 2013
New Revision: 396385

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=396385
Log:
Prevent unreal channels from optimizing during DTMF emulation

This prevents unreal channel optimization during the prequalification
phase when either channel is involved in DTMF emulation. This prevents
a situation where an emulated digit would be missed because the
emulation was never completed.

Review: https://reviewboard.asterisk.org/r/2747/
(closes issue ASTERISK-22214)

Modified:
    trunk/main/bridge.c

Modified: trunk/main/bridge.c
URL: 
http://svnview.digium.com/svn/asterisk/trunk/main/bridge.c?view=diff&rev=396385&r1=396384&r2=396385
==============================================================================
--- trunk/main/bridge.c (original)
+++ trunk/main/bridge.c Thu Aug  8 07:38:06 2013
@@ -2198,6 +2198,9 @@
        if (!AST_LIST_EMPTY(ast_channel_readq(chan))) {
                return NULL;
        }
+       if (ast_test_flag(ast_channel_flags(chan), AST_FLAG_EMULATE_DTMF)) {
+               return NULL;
+       }
        if (ast_channel_has_audio_frame_or_monitor(chan)) {
                /* Channel has an active monitor, audiohook, or framehook. */
                return NULL;
@@ -2241,6 +2244,10 @@
                return NULL;
        }
        if (!AST_LIST_EMPTY(ast_channel_readq(peer))) {
+               ast_channel_unlock(peer);
+               return NULL;
+       }
+       if (ast_test_flag(ast_channel_flags(peer), AST_FLAG_EMULATE_DTMF)) {
                ast_channel_unlock(peer);
                return NULL;
        }


--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

svn-commits mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/svn-commits

Reply via email to