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;
}
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;