[asterisk-commits] rmudgett: trunk r428603 - in /trunk: ./ main/bridge.c main/bridge_channel.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Mon Nov 24 14:32:35 CST 2014
Author: rmudgett
Date: Mon Nov 24 14:32:29 2014
New Revision: 428603
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=428603
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
........
Merged revisions 428602 from http://svn.asterisk.org/svn/asterisk/branches/13
Modified:
trunk/ (props changed)
trunk/main/bridge.c
trunk/main/bridge_channel.c
Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-13-merged' - no diff available.
Modified: trunk/main/bridge.c
URL: http://svnview.digium.com/svn/asterisk/trunk/main/bridge.c?view=diff&rev=428603&r1=428602&r2=428603
==============================================================================
--- trunk/main/bridge.c (original)
+++ trunk/main/bridge.c Mon Nov 24 14:32:29 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: trunk/main/bridge_channel.c
URL: http://svnview.digium.com/svn/asterisk/trunk/main/bridge_channel.c?view=diff&rev=428603&r1=428602&r2=428603
==============================================================================
--- trunk/main/bridge_channel.c (original)
+++ trunk/main/bridge_channel.c Mon Nov 24 14:32:29 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);
}
More information about the asterisk-commits
mailing list