|
|
|
@ -4810,12 +4810,28 @@ int ast_senddigit_end(struct ast_channel *chan, char digit, unsigned int duratio
|
|
|
|
|
|
|
|
|
|
int ast_senddigit(struct ast_channel *chan, char digit, unsigned int duration)
|
|
|
|
|
{
|
|
|
|
|
if (duration < AST_DEFAULT_EMULATE_DTMF_DURATION) {
|
|
|
|
|
duration = AST_DEFAULT_EMULATE_DTMF_DURATION;
|
|
|
|
|
}
|
|
|
|
|
if (ast_channel_tech(chan)->send_digit_begin) {
|
|
|
|
|
ast_senddigit_begin(chan, digit);
|
|
|
|
|
ast_safe_sleep(chan, duration);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return ast_senddigit_end(chan, digit, duration);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int ast_senddigit_external(struct ast_channel *chan, char digit, unsigned int duration)
|
|
|
|
|
{
|
|
|
|
|
if (duration < AST_DEFAULT_EMULATE_DTMF_DURATION) {
|
|
|
|
|
duration = AST_DEFAULT_EMULATE_DTMF_DURATION;
|
|
|
|
|
}
|
|
|
|
|
if (ast_channel_tech(chan)->send_digit_begin) {
|
|
|
|
|
ast_senddigit_begin(chan, digit);
|
|
|
|
|
ast_safe_sleep(chan, (duration >= AST_DEFAULT_EMULATE_DTMF_DURATION ? duration : AST_DEFAULT_EMULATE_DTMF_DURATION));
|
|
|
|
|
usleep(duration * 1000);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return ast_senddigit_end(chan, digit, (duration >= AST_DEFAULT_EMULATE_DTMF_DURATION ? duration : AST_DEFAULT_EMULATE_DTMF_DURATION));
|
|
|
|
|
return ast_senddigit_end(chan, digit, duration);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int ast_prod(struct ast_channel *chan)
|
|
|
|
|