if(macro_transfer_dest[res] == '^')
macro_transfer_dest[res] = '|';
if(macro_transfer_dest[res] == '^')
macro_transfer_dest[res] = '|';
- if(!ast_parsable_goto(chan, macro_transfer_dest))
+ if(!ast_parseable_goto(chan, macro_transfer_dest))
ms = 10000;
res = ast_waitfordigit(chan, ms);
if (!res) {
ms = 10000;
res = ast_waitfordigit(chan, ms);
if (!res) {
- if (ast_exists_extension(chan, chan->context, "t", 1, chan->cid.cid_num)) {
+ if (ast_exists_extension(chan, chan->context, chan->exten, chan->priority + 1, chan->cid.cid_num)) {
- ast_verbose(VERBOSE_PREFIX_3 "Timeout on %s\n", chan->name);
+ ast_verbose(VERBOSE_PREFIX_3 "Timeout on %s, continuing...\n", chan->name);
+ } else if (ast_exists_extension(chan, chan->context, "t", 1, chan->cid.cid_num)) {
+ if (option_verbose > 2)
+ ast_verbose(VERBOSE_PREFIX_3 "Timeout on %s, going to 't'\n", chan->name);
strncpy(chan->exten, "t", sizeof(chan->exten));
chan->priority = 0;
} else {
strncpy(chan->exten, "t", sizeof(chan->exten));
chan->priority = 0;
} else {