From: Anthony Minessale Date: Wed, 3 Feb 2016 17:28:13 +0000 (-0600) Subject: FS-6833 ammendium X-Git-Tag: v1.6.7~2^2~108 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=93587f21bb2afc0194dc3fc619b3499926ccc0ba;p=thirdparty%2Ffreeswitch.git FS-6833 ammendium --- 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 {