From 6c7970f9692e5db7ff0d6ad80312a3c74345467d Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Fri, 2 Jul 2010 11:54:20 -0500 Subject: [PATCH] let bypass calls sit in park --- src/switch_ivr.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/switch_ivr.c b/src/switch_ivr.c index f42b28ff57..c66c1d1821 100644 --- a/src/switch_ivr.c +++ b/src/switch_ivr.c @@ -697,7 +697,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_park(switch_core_session_t *session, return SWITCH_STATUS_FALSE; } - if (switch_channel_test_flag(channel, CF_PROXY_MODE) || switch_channel_get_state(channel) == CS_RESET) { + if (switch_channel_get_state(channel) == CS_RESET) { return SWITCH_STATUS_FALSE; } @@ -737,6 +737,12 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_park(switch_core_session_t *session, status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, stream_id); } else { switch_yield(20000); + + if (switch_core_session_dequeue_private_event(session, &event) == SWITCH_STATUS_SUCCESS) { + switch_ivr_parse_event(session, event); + switch_event_destroy(&event); + } + status = SWITCH_STATUS_SUCCESS; }