diff --git a/src/switch_ivr_originate.c b/src/switch_ivr_originate.c index e9a5f4dcec..b218275e42 100644 --- a/src/switch_ivr_originate.c +++ b/src/switch_ivr_originate.c @@ -39,6 +39,12 @@ static switch_status_t originate_on_consume_media_transmit(switch_core_session_t { switch_channel_t *channel = switch_core_session_get_channel(session); + if (!switch_channel_test_flag(channel, CF_PROXY_MODE)) { + while (switch_channel_get_state(channel) == CS_CONSUME_MEDIA && !switch_channel_test_flag(channel, CF_TAGGED)) { + switch_ivr_sleep(session, 10, SWITCH_FALSE, NULL); + } + } + switch_channel_clear_state_handler(channel, &originate_state_handlers); return SWITCH_STATUS_FALSE;