mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-12 12:58:30 +00:00
WaitExten didn't handle AbsoluteTimeout properly (went to 't' instead of 'T')
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@100675 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -5632,10 +5632,14 @@ static int pbx_builtin_waitexten(struct ast_channel *chan, void *data)
|
|||||||
if (ast_exists_extension(chan, chan->context, chan->exten, chan->priority + 1, chan->cid.cid_num)) {
|
if (ast_exists_extension(chan, chan->context, chan->exten, chan->priority + 1, chan->cid.cid_num)) {
|
||||||
if (option_verbose > 2)
|
if (option_verbose > 2)
|
||||||
ast_verbose(VERBOSE_PREFIX_3 "Timeout on %s, continuing...\n", chan->name);
|
ast_verbose(VERBOSE_PREFIX_3 "Timeout on %s, continuing...\n", chan->name);
|
||||||
|
} else if (chan->_softhangup == AST_SOFTHANGUP_TIMEOUT) {
|
||||||
|
if (option_verbose > 2)
|
||||||
|
ast_verbose(VERBOSE_PREFIX_3 "Call timeout on %s, checking for 'T'\n", chan->name);
|
||||||
|
res = -1;
|
||||||
} else if (ast_exists_extension(chan, chan->context, "t", 1, chan->cid.cid_num)) {
|
} else if (ast_exists_extension(chan, chan->context, "t", 1, chan->cid.cid_num)) {
|
||||||
if (option_verbose > 2)
|
if (option_verbose > 2)
|
||||||
ast_verbose(VERBOSE_PREFIX_3 "Timeout on %s, going to 't'\n", chan->name);
|
ast_verbose(VERBOSE_PREFIX_3 "Timeout on %s, going to 't'\n", chan->name);
|
||||||
set_ext_pri(chan, "t", 0); /* XXX is the 0 correct ? */
|
set_ext_pri(chan, "t", 0); /* 0 will become 1, next time through the loop */
|
||||||
} else {
|
} else {
|
||||||
ast_log(LOG_WARNING, "Timeout but no rule 't' in context '%s'\n", chan->context);
|
ast_log(LOG_WARNING, "Timeout but no rule 't' in context '%s'\n", chan->context);
|
||||||
res = -1;
|
res = -1;
|
||||||
|
|||||||
Reference in New Issue
Block a user