From d0f877a32f7aff2721fe2307bbff775e070b5b86 Mon Sep 17 00:00:00 2001 From: Michael Jerris Date: Sat, 21 Oct 2006 23:01:58 +0000 Subject: [PATCH] Make record only end the application, and not hangup the call on * (thanks knhor). git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@3143 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- src/mod/applications/mod_playback/mod_playback.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/mod/applications/mod_playback/mod_playback.c b/src/mod/applications/mod_playback/mod_playback.c index d325bc6463..0fafa586b0 100644 --- a/src/mod/applications/mod_playback/mod_playback.c +++ b/src/mod/applications/mod_playback/mod_playback.c @@ -24,6 +24,7 @@ * Contributor(s): * * Anthony Minessale II + * Neal Horman * * * mod_playback.c -- Raw Audio File Streaming Application Module @@ -126,13 +127,15 @@ static void playback_function(switch_core_session_t *session, char *data) static void record_function(switch_core_session_t *session, char *data) { switch_channel_t *channel; + switch_status_t status; channel = switch_core_session_get_channel(session); assert(channel != NULL); - if (switch_ivr_record_file(session, NULL, data, on_dtmf, NULL, 0) != SWITCH_STATUS_SUCCESS) { + status = switch_ivr_record_file(session, NULL, data, on_dtmf, NULL, 0); + + if (!switch_channel_ready(channel) || (status != SWITCH_STATUS_SUCCESS && !SWITCH_STATUS_IS_BREAK(status))) { switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); } - }