diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c index 0fc1a5b3b9..cc35490177 100644 --- a/channels/chan_misdn.c +++ b/channels/chan_misdn.c @@ -4058,8 +4058,9 @@ static void do_immediate_setup(struct misdn_bchannel *bc, struct chan_list *ch, strncpy(ast->exten, "s", 2); - 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);