]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Fix a bug where using immediate with mISDN caused a cause code of 16 to get sent...
authorJoshua Colp <jcolp@digium.com>
Fri, 22 May 2009 13:54:17 +0000 (13:54 +0000)
committerJoshua Colp <jcolp@digium.com>
Fri, 22 May 2009 13:54:17 +0000 (13:54 +0000)
(closes issue #12286)
Reported by: lmamane

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@196116 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_misdn.c

index 0ed15a5d75d1b329e00feff9841477577c28536b..34070fd35aaa303c4b500c8f8bf8732ebaefcf21 100644 (file)
@@ -3785,9 +3785,10 @@ static void do_immediate_setup(struct misdn_bchannel *bc, struct chan_list *ch,
        chan_misdn_log(1, bc->port, "* Starting Ast ctx:%s dad:%s oad:%s with 's' extension\n", ast->context, ast->exten, ast->cid.cid_num);
   
        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);