From: Anthony Minessale Date: Mon, 6 Apr 2009 18:34:31 +0000 (+0000) Subject: don't answer in this case X-Git-Tag: v1.0.4~1268 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e2adbe9fae1bf1830ce47e9f1487a7c4b264e14e;p=thirdparty%2Ffreeswitch.git don't answer in this case git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@12918 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- 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; }