mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-22 20:56:39 +00:00
Allow Answer(delay) to create delay after answering (bug #3160)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4586 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
17
pbx.c
17
pbx.c
@@ -210,8 +210,10 @@ static struct pbx_builtin {
|
||||
|
||||
{ "Answer", pbx_builtin_answer,
|
||||
"Answer a channel if ringing",
|
||||
" Answer(): If the channel is ringing, answer it, otherwise do nothing. \n"
|
||||
"Returns 0 unless it tries to answer the channel and fails.\n"
|
||||
" Answer([delay]): If the channel is ringing, answer it, otherwise do nothing. \n"
|
||||
"If delay is specified, asterisk will pause execution for the specified amount\n"
|
||||
"of milliseconds if an answer is required, in order to give audio a chance to\n"
|
||||
"become ready. Returns 0 unless it tries to answer the channel and fails.\n"
|
||||
},
|
||||
|
||||
{ "BackGround", pbx_builtin_background,
|
||||
@@ -4705,7 +4707,16 @@ static int pbx_builtin_congestion(struct ast_channel *chan, void *data)
|
||||
|
||||
static int pbx_builtin_answer(struct ast_channel *chan, void *data)
|
||||
{
|
||||
return ast_answer(chan);
|
||||
int delay = atoi(data);
|
||||
int res;
|
||||
if (chan->_state == AST_STATE_UP)
|
||||
delay = 0;
|
||||
res = ast_answer(chan);
|
||||
if (res)
|
||||
return res;
|
||||
if (delay)
|
||||
res = ast_safe_sleep(chan, delay);
|
||||
return res;
|
||||
}
|
||||
|
||||
static int pbx_builtin_setlanguage(struct ast_channel *chan, void *data)
|
||||
|
Reference in New Issue
Block a user