diff options
author | file <file@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-08-06 21:52:30 +0000 |
---|---|---|
committer | file <file@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-08-06 21:52:30 +0000 |
commit | e8820a04915e9c541e5330eef7435d68c6215327 (patch) | |
tree | b89adfb31308894d6ab44ad8b7232a763dfee84f /main | |
parent | 6f3cf2396f0d88b7a9dcba22aa39b969b107da2c (diff) |
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: http://svn.digium.com/svn/asterisk/trunk@78278 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main')
-rw-r--r-- | main/app.c | 4 | ||||
-rw-r--r-- | main/channel.c | 6 |
2 files changed, 5 insertions, 5 deletions
diff --git a/main/app.c b/main/app.c index 41bbe1c50..d3304b9fd 100644 --- a/main/app.c +++ b/main/app.c @@ -245,7 +245,7 @@ int ast_app_messagecount(const char *context, const char *mailbox, const char *f return 0; } -int ast_dtmf_stream(struct ast_channel *chan, struct ast_channel *peer, const char *digits, int between) +int ast_dtmf_stream(struct ast_channel *chan, struct ast_channel *peer, const char *digits, int between, unsigned int duration) { const char *ptr; int res = 0; @@ -274,7 +274,7 @@ int ast_dtmf_stream(struct ast_channel *chan, struct ast_channel *peer, const ch /* ignore return values if not supported by channel */ ast_indicate(chan, AST_CONTROL_FLASH); } else - ast_senddigit(chan, *ptr); + ast_senddigit(chan, *ptr, duration); /* pause between digits */ if ((res = ast_safe_sleep(chan, between))) break; diff --git a/main/channel.c b/main/channel.c index 4c1dc4b84..5c8de5694 100644 --- a/main/channel.c +++ b/main/channel.c @@ -2657,14 +2657,14 @@ int ast_senddigit_end(struct ast_channel *chan, char digit, unsigned int duratio return 0; } -int ast_senddigit(struct ast_channel *chan, char digit) +int ast_senddigit(struct ast_channel *chan, char digit, unsigned int duration) { if (chan->tech->send_digit_begin) { ast_senddigit_begin(chan, digit); - ast_safe_sleep(chan, AST_DEFAULT_EMULATE_DTMF_DURATION); + ast_safe_sleep(chan, (duration >= AST_DEFAULT_EMULATE_DTMF_DURATION ? duration : AST_DEFAULT_EMULATE_DTMF_DURATION)); } - return ast_senddigit_end(chan, digit, AST_DEFAULT_EMULATE_DTMF_DURATION); + return ast_senddigit_end(chan, digit, (duration >= AST_DEFAULT_EMULATE_DTMF_DURATION ? duration : AST_DEFAULT_EMULATE_DTMF_DURATION)); } int ast_prod(struct ast_channel *chan) |