From: Chris Rienzo Date: Tue, 30 Jul 2019 03:01:37 +0000 (+0000) Subject: FS-11970 [core] Check if detection is done in switch_ivr_play_and_detect_speech(... X-Git-Tag: v1.10.0~11 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5801df9333f6bb2748c2d093346428610decfb50;p=thirdparty%2Ffreeswitch.git FS-11970 [core] Check if detection is done in switch_ivr_play_and_detect_speech() final loop. --- diff --git a/src/switch_ivr_async.c b/src/switch_ivr_async.c index e898cf393e..bb629e9af2 100644 --- a/src/switch_ivr_async.c +++ b/src/switch_ivr_async.c @@ -4593,7 +4593,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_play_and_detect_speech(switch_core_se if (!state.done) { switch_ivr_detect_speech_start_input_timers(session); switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_INFO, "(%s) WAITING FOR RESULT\n", switch_channel_get_name(channel)); - while (switch_channel_ready(channel)) { + while (!state.done && switch_channel_ready(channel)) { status = switch_ivr_sleep(session, input_timeout, SWITCH_FALSE, args); if (args->dmachine && switch_ivr_dmachine_last_ping(args->dmachine) != SWITCH_STATUS_SUCCESS) {