diff --git a/src/mod/applications/mod_fifo/mod_fifo.c b/src/mod/applications/mod_fifo/mod_fifo.c index 91a4a82e4b..ca889d9efa 100644 --- a/src/mod/applications/mod_fifo/mod_fifo.c +++ b/src/mod/applications/mod_fifo/mod_fifo.c @@ -523,13 +523,16 @@ static switch_status_t caller_read_frame_callback(switch_core_session_t *session char buf[25] = ""; switch_channel_t *channel = switch_core_session_get_channel(session); const char *caller_exit_key = switch_channel_get_variable(channel, "fifo_caller_exit_key"); + switch_status_t status = SWITCH_STATUS_SUCCESS; + args.input_callback = moh_on_dtmf; args.buf = buf; args.buflen = sizeof(buf); args.read_frame_callback = chime_read_frame_callback; args.user_data = user_data; - if (switch_ivr_play_file(session, NULL, cd->list[cd->index], &args) != SWITCH_STATUS_SUCCESS) { + status = switch_ivr_play_file(session, NULL, cd->list[cd->index], &args); + if (!SWITCH_READ_ACCEPTABLE(status)) { return SWITCH_STATUS_BREAK; }