From 93587f21bb2afc0194dc3fc619b3499926ccc0ba Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Wed, 3 Feb 2016 11:28:13 -0600 Subject: [PATCH] FS-6833 ammendium --- src/switch_ivr.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/switch_ivr.c b/src/switch_ivr.c index f2f09c801b..8cd8325d1b 100644 --- a/src/switch_ivr.c +++ b/src/switch_ivr.c @@ -1821,19 +1821,23 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_3p_nomedia(const char *uuid, switch_m switch_channel_set_flag(other_channel, CF_3P_NOMEDIA_REQUESTED); switch_channel_set_flag(other_channel, CF_3P_NOMEDIA_REQUESTED_BLEG); + if (!switch_core_session_in_thread(session)) { + switch_channel_wait_for_state(channel, NULL, CS_PARK); + } + + switch_channel_wait_for_flag(channel, CF_REQ_MEDIA, SWITCH_FALSE, 10000, NULL); + switch_channel_wait_for_flag(channel, CF_MEDIA_ACK, SWITCH_TRUE, 10000, NULL); + //switch_channel_wait_for_flag(channel, CF_MEDIA_SET, SWITCH_TRUE, 10000, NULL); + + + switch_core_session_receive_message(other_session, &msg); switch_channel_wait_for_flag(other_channel, CF_REQ_MEDIA, SWITCH_FALSE, 10000, NULL); - switch_channel_wait_for_flag(other_channel, CF_MEDIA_SET, SWITCH_TRUE, 10000, NULL); + //switch_channel_wait_for_flag(other_channel, CF_MEDIA_SET, SWITCH_TRUE, 10000, NULL); + switch_channel_wait_for_flag(other_channel, CF_MEDIA_ACK, SWITCH_TRUE, 10000, NULL); } if (other_channel) { - if (!switch_core_session_in_thread(session)) { - switch_channel_wait_for_state(channel, NULL, CS_PARK); - switch_channel_wait_for_flag(channel, CF_REQ_MEDIA, SWITCH_FALSE, 10000, NULL); - switch_channel_wait_for_flag(channel, CF_MEDIA_ACK, SWITCH_TRUE, 10000, NULL); - switch_channel_wait_for_flag(channel, CF_MEDIA_SET, SWITCH_TRUE, 10000, NULL); - } - if (swap) { switch_ivr_signal_bridge(other_session, session); } else {