From: Anthony Minessale Date: Tue, 11 Jun 2013 16:38:18 +0000 (-0500) Subject: FS-5500 --resolve X-Git-Tag: v1.4.1~75 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d0749e9a26aee0f5996124077a83cb91f63cabe7;p=thirdparty%2Ffreeswitch.git FS-5500 --resolve --- diff --git a/src/mod/applications/mod_dptools/mod_dptools.c b/src/mod/applications/mod_dptools/mod_dptools.c index 52c94633bf..7bf17d4018 100755 --- a/src/mod/applications/mod_dptools/mod_dptools.c +++ b/src/mod/applications/mod_dptools/mod_dptools.c @@ -3099,17 +3099,16 @@ SWITCH_STANDARD_APP(audio_bridge_function) return; } else { + switch_channel_t *peer_channel = switch_core_session_get_channel(peer_session); + if (switch_true(switch_channel_get_variable(caller_channel, SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE)) || + switch_true(switch_channel_get_variable(peer_channel, SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE))) { + switch_channel_set_flag(caller_channel, CF_BYPASS_MEDIA_AFTER_BRIDGE); + } + if (switch_channel_test_flag(caller_channel, CF_PROXY_MODE)) { - switch_channel_t *peer_channel = switch_core_session_get_channel(peer_session); - if (switch_true(switch_channel_get_variable(caller_channel, SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE)) || - switch_true(switch_channel_get_variable(peer_channel, SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE))) { - switch_channel_set_flag(caller_channel, CF_BYPASS_MEDIA_AFTER_BRIDGE); - } switch_ivr_signal_bridge(session, peer_session); } else { - switch_channel_t *channel = switch_core_session_get_channel(session); - switch_channel_t *peer_channel = switch_core_session_get_channel(peer_session); - char *a_key = (char *) switch_channel_get_variable(channel, "bridge_terminate_key"); + char *a_key = (char *) switch_channel_get_variable(caller_channel, "bridge_terminate_key"); char *b_key = (char *) switch_channel_get_variable(peer_channel, "bridge_terminate_key"); int ok = 0; switch_input_callback_function_t func = NULL; @@ -3129,11 +3128,6 @@ SWITCH_STANDARD_APP(audio_bridge_function) b_key = NULL; } - if (switch_true(switch_channel_get_variable(caller_channel, SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE)) || - switch_true(switch_channel_get_variable(peer_channel, SWITCH_BYPASS_MEDIA_AFTER_BRIDGE_VARIABLE))) { - switch_channel_set_flag(caller_channel, CF_BYPASS_MEDIA_AFTER_BRIDGE); - } - switch_ivr_multi_threaded_bridge(session, peer_session, func, a_key, b_key); }