FS-11807 [mod_commands] uuid_recv_dtmf changed to report OK when well formed request is consumed by dmachine or dtmf hook

This commit is contained in:
Chris Rienzo 2019-04-24 14:27:27 -04:00 committed by Andrey Volk
parent e7dda1b027
commit 8aa07b677d
2 changed files with 11 additions and 8 deletions

View File

@ -6347,11 +6347,10 @@ SWITCH_STANDARD_API(uuid_recv_dtmf_function)
return SWITCH_STATUS_SUCCESS;
}
if (switch_channel_queue_dtmf_string(switch_core_session_get_channel(psession), dtmf_data) == SWITCH_STATUS_SUCCESS) {
stream->write_function(stream, "+OK %s received DTMF %s.\n", uuid, dtmf_data);
} else {
stream->write_function(stream, "-ERR Operation failed\n");
if (switch_channel_queue_dtmf_string(switch_core_session_get_channel(psession), dtmf_data) == SWITCH_STATUS_GENERR) {
goto usage;
}
stream->write_function(stream, "+OK %s received DTMF %s.\n", uuid, dtmf_data);
goto done;

View File

@ -570,13 +570,13 @@ SWITCH_DECLARE(switch_status_t) switch_channel_queue_dtmf_string(switch_channel_
{
char *p;
switch_dtmf_t dtmf = { 0, switch_core_default_dtmf_duration(0), 0, SWITCH_DTMF_APP };
int sent = 0, dur;
int sent = 0, dur, bad_input = 0;
char *string;
int i, argc;
char *argv[256];
if (zstr(dtmf_string)) {
return SWITCH_STATUS_FALSE;
return SWITCH_STATUS_GENERR;
}
@ -619,12 +619,16 @@ SWITCH_DECLARE(switch_status_t) switch_channel_queue_dtmf_string(switch_channel_
switch_channel_get_name(channel), dtmf.digit, dur, dtmf.duration);
sent++;
}
} else {
bad_input++;
}
}
}
return sent ? SWITCH_STATUS_SUCCESS : SWITCH_STATUS_FALSE;
if (sent) {
return SWITCH_STATUS_SUCCESS;
}
return bad_input ? SWITCH_STATUS_GENERR : SWITCH_STATUS_FALSE;
}
SWITCH_DECLARE(switch_status_t) switch_channel_dequeue_dtmf(switch_channel_t *channel, switch_dtmf_t *dtmf)