diff options
Diffstat (limited to 'main/channel.c')
-rw-r--r-- | main/channel.c | 6 |
1 files changed, 3 insertions, 3 deletions
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) |