提交 13e8de4a authored 作者: Anthony Minessale's avatar Anthony Minessale

FS-2872

上级 5df1683c
...@@ -433,19 +433,21 @@ static void *audio_bridge_thread(switch_thread_t *thread, void *obj) ...@@ -433,19 +433,21 @@ static void *audio_bridge_thread(switch_thread_t *thread, void *obj)
if (ans_a != ans_b) { if (ans_a != ans_b) {
switch_channel_t *un = ans_a ? chan_b : chan_a; 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)) { if ((!switch_channel_test_flag(un, CF_OUTBOUND) && switch_channel_test_flag(a, CF_OUTBOUND)) || (un == chan_a && !originator)) {
switch_channel_pass_callee_id(un == chan_b ? chan_a : chan_b, un); switch_channel_pass_callee_id(a, un);
if (switch_channel_answer(un) != SWITCH_STATUS_SUCCESS) { 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)); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s Media Establishment Failed.\n", switch_channel_get_name(un));
goto end_of_bridge_loop; goto end_of_bridge_loop;
} }
}
if (ans_a) if (ans_a) {
ans_b = 1; ans_b = 1;
else } else {
ans_a = 1; ans_a = 1;
}
}
} }
if (originator && !sent_update && ans_a && ans_b && switch_channel_media_ack(chan_a) && switch_channel_media_ack(chan_b)) { if (originator && !sent_update && ans_a && ans_b && switch_channel_media_ack(chan_a) && switch_channel_media_ack(chan_b)) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论