Revision
15165
Author
anthm
Date
2009-10-15 13:38:21 -0500 (Thu, 15 Oct 2009)

Log Message

add new macro to make sure we don't send bypass command too soon

Modified Paths

Diff

Modified: freeswitch/trunk/src/switch_ivr_bridge.c (15164 => 15165)


--- freeswitch/trunk/src/switch_ivr_bridge.c	2009-10-15 15:25:06 UTC (rev 15164)
+++ freeswitch/trunk/src/switch_ivr_bridge.c	2009-10-15 18:38:21 UTC (rev 15165)
@@ -286,7 +286,7 @@
 			goto end_of_bridge_loop;
 		}
 
-		if (loop_count > DEFAULT_LEAD_FRAMES && switch_core_session_private_event_count(session_a)) {
+		if (loop_count > DEFAULT_LEAD_FRAMES && switch_channel_media_ack(chan_a) && switch_core_session_private_event_count(session_a)) {
 			switch_channel_set_flag(chan_b, CF_SUSPEND);
 			msg.string_arg = data->b_uuid;
 			msg.message_id = SWITCH_MESSAGE_INDICATE_UNBRIDGE;
@@ -318,7 +318,8 @@
 		}
 #endif
 
-		if (loop_count > DEFAULT_LEAD_FRAMES && bypass_media_after_bridge && switch_channel_test_flag(chan_a, CF_ANSWERED) && 
+		if (loop_count > DEFAULT_LEAD_FRAMES && switch_channel_media_ack(chan_a) && 
+			bypass_media_after_bridge && switch_channel_test_flag(chan_a, CF_ANSWERED) && 
 			switch_channel_test_flag(chan_b, CF_ANSWERED)) {
 			switch_ivr_nomedia(switch_core_session_get_uuid(session_a), SMF_REBRIDGE);
 			bypass_media_after_bridge = 0;