diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c index f4faa2bab0..339cec0d90 100644 --- a/channels/chan_misdn.c +++ b/channels/chan_misdn.c @@ -4687,7 +4687,7 @@ cb_events(enum event_e event, struct misdn_bchannel *bc, void *user_data) ret=write(ch->pipe[1], bc->bframe, bc->bframe_len); if (ret<=0) { - chan_misdn_log(-1, bc->port, "Write returned <=0 (err=%s) --> hanging up channel\n",strerror(errno)); + chan_misdn_log(0, bc->port, "Write returned <=0 (err=%s) --> hanging up channel\n",strerror(errno)); stop_bc_tones(ch); hangup_chan(ch); @@ -4754,7 +4754,7 @@ cb_events(enum event_e event, struct misdn_bchannel *bc, void *user_data) { struct ast_channel *hold_ast; if (!ch) { - chan_misdn_log(4, bc->port, " --> no CH, searching in holded"); + chan_misdn_log(4, bc->port, " --> no CH, searching in holded\n"); ch=find_holded_l3(cl_te, bc->l3_id,1); } @@ -4777,8 +4777,10 @@ cb_events(enum event_e event, struct misdn_bchannel *bc, void *user_data) ast_moh_stop(hold_ast); } - if ( misdn_lib_send_event(bc, EVENT_RETRIEVE_ACKNOWLEDGE) < 0) + if ( misdn_lib_send_event(bc, EVENT_RETRIEVE_ACKNOWLEDGE) < 0) { + chan_misdn_log(4, bc->port, " --> RETRIEVE_ACK failed\n"); misdn_lib_send_event(bc, EVENT_RETRIEVE_REJECT); + } } break; diff --git a/channels/misdn/isdn_lib.c b/channels/misdn/isdn_lib.c index e02d8a0759..6a8149b06d 100644 --- a/channels/misdn/isdn_lib.c +++ b/channels/misdn/isdn_lib.c @@ -1824,6 +1824,7 @@ handle_event_nt(void *dat, void *arg) free(hold_bc); bc->holded=0; + bc->b_stid=0; } } @@ -2860,7 +2861,6 @@ static int handle_mgmt(msg_t *msg) case SSTATUS_L1_DEACTIVATED: cb_log(3, 0, "MGMT: SSTATUS: L1_DEACTIVATED \n"); stack->l1link=0; - clear_l3(stack); break;