diff --git a/src/switch_core_io.c b/src/switch_core_io.c index 5286bc94e7..7a65ebd78b 100644 --- a/src/switch_core_io.c +++ b/src/switch_core_io.c @@ -539,6 +539,10 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_read_frame(switch_core_sessi switch_mutex_unlock(session->read_codec->mutex); switch_mutex_unlock(session->codec_read_mutex); + if (switch_core_session_private_event_count(session)) { + switch_ivr_parse_all_events(session); + } + return status; } diff --git a/src/switch_ivr.c b/src/switch_ivr.c index b627252d90..64fa497084 100644 --- a/src/switch_ivr.c +++ b/src/switch_ivr.c @@ -539,6 +539,8 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_parse_all_events(switch_core_session_ { while (switch_ivr_parse_next_event(session) == SWITCH_STATUS_SUCCESS); + switch_ivr_sleep(session, 0, SWITCH_TRUE, NULL); + return SWITCH_STATUS_SUCCESS; }