mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-23 21:19:09 +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", pbx_builtin_answer,
|
||||||
"Answer a channel if ringing",
|
"Answer a channel if ringing",
|
||||||
" Answer(): If the channel is ringing, answer it, otherwise do nothing. \n"
|
" Answer([delay]): If the channel is ringing, answer it, otherwise do nothing. \n"
|
||||||
"Returns 0 unless it tries to answer the channel and fails.\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,
|
{ "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)
|
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)
|
static int pbx_builtin_setlanguage(struct ast_channel *chan, void *data)
|
||||||
|
Reference in New Issue
Block a user