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/
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@428601
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
}
/*
- * 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,
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);
}