[asterisk-commits] file: branch file/bridging r128562 - /team/file/bridging/main/bridging.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Sun Jul 6 20:34:11 CDT 2008


Author: file
Date: Sun Jul  6 20:34:10 2008
New Revision: 128562

URL: http://svn.digium.com/view/asterisk?view=rev&rev=128562
Log:
Remove some attributes and get DTMF state working again.

Modified:
    team/file/bridging/main/bridging.c

Modified: team/file/bridging/main/bridging.c
URL: http://svn.digium.com/view/asterisk/team/file/bridging/main/bridging.c?view=diff&rev=128562&r1=128561&r2=128562
==============================================================================
--- team/file/bridging/main/bridging.c (original)
+++ team/file/bridging/main/bridging.c Sun Jul  6 20:34:10 2008
@@ -685,7 +685,7 @@
 }
 
 /*! \brief Internal function that executes a feature on a bridge channel */
-attribute_unused static void bridge_channel_feature(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel)
+static void bridge_channel_feature(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel)
 {
 	struct ast_bridge_features *features = (bridge_channel->features ? bridge_channel->features : &bridge->features);
 	struct ast_bridge_features_hook *hook = NULL;
@@ -748,7 +748,7 @@
 }
 
 /*! \brief Internal function that plays back DTMF on a bridge channel */
-attribute_unused static void bridge_channel_dtmf_stream(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel)
+static void bridge_channel_dtmf_stream(struct ast_bridge *bridge, struct ast_bridge_channel *bridge_channel)
 {
 	char dtmf_q[8] = "";
 
@@ -830,6 +830,10 @@
 			bridge_array_remove(bridge_channel->bridge, bridge_channel->chan);
 			bridge_channel_feature(bridge_channel->bridge, bridge_channel);
 			bridge_array_add(bridge_channel->bridge, bridge_channel->chan);
+		} else if (state == AST_BRIDGE_CHANNEL_STATE_DTMF) {
+			bridge_array_remove(bridge_channel->bridge, bridge_channel->chan);
+			bridge_channel_dtmf_stream(bridge_channel->bridge, bridge_channel);
+			bridge_array_add(bridge_channel->bridge, bridge_channel->chan);
 		}
 	}
 
@@ -899,7 +903,7 @@
 }
 
 /*! \brief Thread responsible for imparted bridged channels */
-attribute_unused static void *bridge_channel_thread(void *data)
+static void *bridge_channel_thread(void *data)
 {
 	struct ast_bridge_channel *bridge_channel = data;
 	enum ast_bridge_channel_state state;




More information about the asterisk-commits mailing list