Extend the ast_senddigit and ast_dtmf_stream API calls to allow the duration of the DTMF digit(s) to be specified and make the SendDTMF application have the capability to use it.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@78278 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Joshua Colp
2007-08-06 21:52:30 +00:00
parent 431c60f818
commit 9ef1b0a974
8 changed files with 30 additions and 26 deletions

View File

@@ -60,10 +60,11 @@ static int senddtmf_exec(struct ast_channel *chan, void *vdata)
{
int res = 0;
char *data;
int timeout;
int timeout, duration;
AST_DECLARE_APP_ARGS(args,
AST_APP_ARG(digits);
AST_APP_ARG(timeout);
AST_APP_ARG(duration);
);
if (ast_strlen_zero(vdata)) {
@@ -75,7 +76,8 @@ static int senddtmf_exec(struct ast_channel *chan, void *vdata)
AST_STANDARD_APP_ARGS(args, data);
timeout = atoi(args.timeout);
res = ast_dtmf_stream(chan, NULL, args.digits, timeout <= 0 ? 250 : timeout);
duration = atoi(args.duration);
res = ast_dtmf_stream(chan, NULL, args.digits, timeout <= 0 ? 250 : timeout, duration);
return res;
}
@@ -102,7 +104,7 @@ static int manager_play_dtmf(struct mansession *s, const struct message *m)
return 0;
}
ast_senddigit(chan, *digit);
ast_senddigit(chan, *digit, 0);
ast_mutex_unlock(&chan->lock);
astman_send_ack(s, m, "DTMF successfully queued");