diff options
-rw-r--r-- | channels/chan_misdn.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c index 0ed15a5d7..34070fd35 100644 --- a/channels/chan_misdn.c +++ b/channels/chan_misdn.c @@ -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); |