From: Anthony Minessale Date: Thu, 15 Oct 2009 18:38:21 +0000 (+0000) Subject: add new macro to make sure we don't send bypass command too soon X-Git-Tag: v1.0.6~1660 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=165fdd250f97121182bbbc46fbd0b4610dde5ab3;p=thirdparty%2Ffreeswitch.git add new macro to make sure we don't send bypass command too soon git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@15165 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- diff --git a/src/switch_ivr_bridge.c b/src/switch_ivr_bridge.c index c43e8d0ae3..0a76484edc 100644 --- a/src/switch_ivr_bridge.c +++ b/src/switch_ivr_bridge.c @@ -286,7 +286,7 @@ static void *audio_bridge_thread(switch_thread_t *thread, void *obj) 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 @@ static void *audio_bridge_thread(switch_thread_t *thread, void *obj) } #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;