Author: rmudgett
Date: Mon Nov 24 14:31:08 2014
New Revision: 428602

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=428602
Log:
DTMF hooks: Leaving channels need to push any collected digits into the bridge.

Any partially collected DTMF digits for a DTMF hook need to be pushed into
the bridge when a channel leaves the bridging system as if there were a
timeout.

Review: https://reviewboard.asterisk.org/r/4199/
........

Merged revisions 428601 from http://svn.asterisk.org/svn/asterisk/branches/12

Modified:
    branches/13/   (props changed)
    branches/13/main/bridge.c
    branches/13/main/bridge_channel.c

Propchange: branches/13/
------------------------------------------------------------------------------
Binary property 'branch-12-merged' - no diff available.

Modified: branches/13/main/bridge.c
URL: 
http://svnview.digium.com/svn/asterisk/branches/13/main/bridge.c?view=diff&rev=428602&r1=428601&r2=428602
==============================================================================
--- branches/13/main/bridge.c (original)
+++ branches/13/main/bridge.c Mon Nov 24 14:31:08 2014
@@ -1764,8 +1764,8 @@
        }
 
        /*
-        * We are claiming the reference held by the depart bridge
-        * channel thread.
+        * We are claiming the bridge_channel reference held by
+        * bridge_channel_depart_thread().
         */
 
        ast_bridge_channel_leave_bridge(bridge_channel,

Modified: branches/13/main/bridge_channel.c
URL: 
http://svnview.digium.com/svn/asterisk/branches/13/main/bridge_channel.c?view=diff&rev=428602&r1=428601&r2=428602
==============================================================================
--- branches/13/main/bridge_channel.c (original)
+++ branches/13/main/bridge_channel.c Mon Nov 24 14:31:08 2014
@@ -2564,10 +2564,15 @@
 
                ast_bridge_unlock(bridge_channel->bridge);
                bridge_channel_event_join_leave(bridge_channel, 
AST_BRIDGE_HOOK_TYPE_JOIN);
+
                while (bridge_channel->state == BRIDGE_CHANNEL_STATE_WAIT) {
                        /* Wait for something to do. */
                        bridge_channel_wait(bridge_channel);
                }
+
+               /* Force a timeout on any accumulated DTMF hook digits. */
+               ast_bridge_channel_feature_digit(bridge_channel, 0);
+
                bridge_channel_event_join_leave(bridge_channel, 
AST_BRIDGE_HOOK_TYPE_LEAVE);
                ast_bridge_channel_lock_bridge(bridge_channel);
        }


-- 
_____________________________________________________________________
-- 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