From e2adbe9fae1bf1830ce47e9f1487a7c4b264e14e Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Mon, 6 Apr 2009 18:34:31 +0000 Subject: [PATCH] don't answer in this case git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@12918 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- src/switch_ivr_bridge.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/switch_ivr_bridge.c b/src/switch_ivr_bridge.c index fd59494790..d2a84b1783 100644 --- a/src/switch_ivr_bridge.c +++ b/src/switch_ivr_bridge.c @@ -324,12 +324,14 @@ static void *audio_bridge_thread(switch_thread_t *thread, void *obj) if (ans_a != ans_b) { switch_channel_t *un = ans_a ? chan_b : chan_a; - 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; + if (!switch_channel_test_flag(un, CF_OUTBOUND)) { + 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; + } + + if (ans_a) ans_b = 1; else ans_a = 1; } - - if (ans_a) ans_b = 1; else ans_a = 1; }