diff options
-rw-r--r-- | channels/chan_misdn.c | 4 | ||||
-rw-r--r-- | channels/misdn/isdn_lib.c | 3 |
2 files changed, 6 insertions, 1 deletions
diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c index 710bb8b1c..b77e4016e 100644 --- a/channels/chan_misdn.c +++ b/channels/chan_misdn.c @@ -1971,7 +1971,9 @@ static int misdn_hangup(struct ast_channel *ast) return 0; } - /*stop_bc_tones(p);*/ + if (!p->bc->nt) + stop_bc_tones(p); + release_unlock; diff --git a/channels/misdn/isdn_lib.c b/channels/misdn/isdn_lib.c index 01365d225..644edb731 100644 --- a/channels/misdn/isdn_lib.c +++ b/channels/misdn/isdn_lib.c @@ -1495,6 +1495,9 @@ int handle_cr ( struct misdn_stack *stack, iframe_t *frm) cb_log(4, stack->port, " --> lib: CLEANING UP l3id: %x\n",frm->dinfo); empty_chan_in_stack(stack,bc->channel); empty_bc(bc); + + bc_state_change(bc, BCHAN_EMPTY); + clean_up_bc(bc); dump_chan_list(stack); bc->pid = 0; |