diff options
Diffstat (limited to 'apps/app_senddtmf.c')
-rw-r--r-- | apps/app_senddtmf.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/apps/app_senddtmf.c b/apps/app_senddtmf.c index 395ae28c9..16ca4b513 100644 --- a/apps/app_senddtmf.c +++ b/apps/app_senddtmf.c @@ -83,10 +83,10 @@ static int senddtmf_exec(struct ast_channel *chan, const char *vdata) { int res = 0; char *data; - int timeout = 0, duration = 0; + int dinterval = 0, duration = 0; AST_DECLARE_APP_ARGS(args, AST_APP_ARG(digits); - AST_APP_ARG(timeout); + AST_APP_ARG(dinterval); AST_APP_ARG(duration); ); @@ -98,11 +98,14 @@ static int senddtmf_exec(struct ast_channel *chan, const char *vdata) data = ast_strdupa(vdata); AST_STANDARD_APP_ARGS(args, data); - if (!ast_strlen_zero(args.timeout)) - timeout = atoi(args.timeout); - if (!ast_strlen_zero(args.duration)) - duration = atoi(args.duration); - res = ast_dtmf_stream(chan, NULL, args.digits, timeout <= 0 ? 250 : timeout, duration); + if (!ast_strlen_zero(args.dinterval)) { + ast_app_parse_timelen(args.dinterval, &dinterval, TIMELEN_MILLISECONDS); + } + if (!ast_strlen_zero(args.duration)) { + ast_app_parse_timelen(args.duration, &duration, TIMELEN_MILLISECONDS); + } + + res = ast_dtmf_stream(chan, NULL, args.digits, dinterval <= 0 ? 250 : dinterval, duration); return res; } |