From af9851efc04a00ac82bc80cb062a0950e6c9f3f9 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Wed, 24 Sep 2008 20:29:35 +0000 Subject: [PATCH] put menu passthrough code back by popular demand git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@9639 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- .../mod_voicemail/mod_voicemail.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/mod/applications/mod_voicemail/mod_voicemail.c b/src/mod/applications/mod_voicemail/mod_voicemail.c index 8fc6dd657e..c3c1f5fecb 100644 --- a/src/mod/applications/mod_voicemail/mod_voicemail.c +++ b/src/mod/applications/mod_voicemail/mod_voicemail.c @@ -1055,8 +1055,15 @@ static switch_status_t create_file(switch_core_session_t *session, vm_profile_t while (switch_channel_ready(channel)) { *input = '\0'; - status = vm_macro_get(session, VM_RECORD_FILE_CHECK_MACRO, key_buf, input, sizeof(input), 1, "", &term, profile->digit_timeout); + if (*cc.buf && *cc.buf != *profile->terminator_key) { + *input = *cc.buf; + *(input + 1) = '\0'; + status = SWITCH_STATUS_SUCCESS; + *cc.buf = '\0'; + } else { + status = vm_macro_get(session, VM_RECORD_FILE_CHECK_MACRO, key_buf, input, sizeof(input), 1, "", &term, profile->digit_timeout); + } if (!strcmp(input, profile->listen_file_key)) { goto play_file; @@ -1318,8 +1325,14 @@ static switch_status_t listen_file(switch_core_session_t *session, vm_profile_t } if (switch_channel_ready(channel)) { - - TRY_CODE(vm_macro_get(session, VM_LISTEN_FILE_CHECK_MACRO, key_buf, input, sizeof(input), 1, "", &term, profile->digit_timeout)); + if (*cc.buf && *cc.buf != *profile->terminator_key) { + *input = *cc.buf; + *(input + 1) = '\0'; + status = SWITCH_STATUS_SUCCESS; + *cc.buf = '\0'; + } else { + TRY_CODE(vm_macro_get(session, VM_LISTEN_FILE_CHECK_MACRO, key_buf, input, sizeof(input), 1, "", &term, profile->digit_timeout)); + } if (!strcmp(input, profile->listen_file_key)) { goto play_file;