summaryrefslogtreecommitdiff
path: root/main/channel.c
diff options
context:
space:
mode:
Diffstat (limited to 'main/channel.c')
-rw-r--r--main/channel.c6
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)