Fix a bug where using immediate with mISDN caused a cause code of 16 to get sent back instead of 1 if the 's' extension did not exist.

(closes issue #12286)
Reported by: lmamane


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@196116 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Joshua Colp
2009-05-22 13:54:17 +00:00
parent 620bae6924
commit e79b7e3c8d

View File

@@ -3786,8 +3786,9 @@ static void do_immediate_setup(struct misdn_bchannel *bc, struct chan_list *ch,
strcpy(ast->exten, "s");
if (pbx_start_chan(ch) < 0) {
if (!ast_canmatch_extension(ast, ast->context, ast->exten, 1, bc->oad) || pbx_start_chan(ch) < 0) {
ast = NULL;
bc->out_cause = AST_CAUSE_UNALLOCATED;
hangup_chan(ch);
hanguptone_indicate(ch);