From 12fc65f7a38d47c2ca2df24b5f0993ad40a3d4d9 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Wed, 1 Dec 2010 21:20:59 -0600 Subject: [PATCH] FS-2872 --- src/switch_ivr_bridge.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/switch_ivr_bridge.c b/src/switch_ivr_bridge.c index 1f9f7acd8f..afd33f16a0 100644 --- a/src/switch_ivr_bridge.c +++ b/src/switch_ivr_bridge.c @@ -435,8 +435,11 @@ static void *audio_bridge_thread(switch_thread_t *thread, void *obj) switch_channel_t *un = ans_a ? chan_b : chan_a; switch_channel_t *a = un == chan_b ? chan_a : chan_b; - if ((!switch_channel_test_flag(un, CF_OUTBOUND) && switch_channel_test_flag(a, CF_OUTBOUND)) || (un == chan_a && !originator)) { - switch_channel_pass_callee_id(a, un); + if (!switch_channel_test_flag(un, CF_OUTBOUND)) { + if (switch_channel_test_flag(a, CF_OUTBOUND) || (un == chan_a && !originator)) { + switch_channel_pass_callee_id(a, un); + } + if (switch_channel_answer(un) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s Media Establishment Failed.\n", switch_channel_get_name(un)); goto end_of_bridge_loop; @@ -1553,7 +1556,7 @@ SWITCH_DECLARE(void) switch_ivr_intercept_session(switch_core_session_t *session } } - switch_channel_pre_answer(channel); + switch_channel_answer(channel); if (!zstr(buuid)) { if ((bsession = switch_core_session_locate(buuid))) {