Allow dialing local channels from Queue() and Dial() again. There was a slight

flaw in the code to prevent call forwards from looping that caused this problem.
(related to issue #11486)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@91677 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.4
Russell Bryant 19 years ago
parent 079b4a2b18
commit 85e0e1919d

@ -1159,7 +1159,7 @@ static int dial_exec_full(struct ast_channel *chan, void *data, struct ast_flags
}
strcpy(di->interface, interface);
AST_LIST_INSERT_TAIL(dialed_interfaces, di, list);
} else {
} else if (dialed) {
AST_LIST_UNLOCK(dialed_interfaces);
ast_log(LOG_WARNING, "Skipping dialing interface '%s' again since it has already been dialed\n", di->interface);
fulldial++;

@ -2604,9 +2604,8 @@ static int try_calling(struct queue_ent *qe, const char *options, char *announce
}
strcpy(di->interface, cur->interface);
AST_LIST_INSERT_TAIL(dialed_interfaces, di, list);
} else {
if (di)
ast_log(LOG_DEBUG, "Skipping dialing interface '%s' since it has already been dialed\n", di->interface);
} else if (dialed) {
ast_log(LOG_DEBUG, "Skipping dialing interface '%s' since it has already been dialed\n", di->interface);
AST_LIST_UNLOCK(dialed_interfaces);
free(tmp);
continue;

Loading…
Cancel
Save