diff options
-rw-r--r-- | channels/chan_misdn.c | 10 | ||||
-rw-r--r-- | channels/misdn/isdn_lib.c | 2 |
2 files changed, 7 insertions, 5 deletions
diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c index f56ff99d9..a8b108626 100644 --- a/channels/chan_misdn.c +++ b/channels/chan_misdn.c @@ -4517,7 +4517,7 @@ cb_events(enum event_e event, struct misdn_bchannel *bc, void *user_data) if (FD_ISSET(ch->pipe[1], &wrfs)) { chan_misdn_log(9, bc->port, "writing %d bytes 2 asterisk\n", bc->bframe_len); if (write(ch->pipe[1], bc->bframe, bc->bframe_len) <= 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); @@ -4585,7 +4585,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); } @@ -4607,9 +4607,11 @@ cb_events(enum event_e event, struct misdn_bchannel *bc, void *user_data) if (hold_ast) { 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 9f4f57fa0..aacdc0ba4 100644 --- a/channels/misdn/isdn_lib.c +++ b/channels/misdn/isdn_lib.c @@ -1816,6 +1816,7 @@ handle_event_nt(void *dat, void *arg) free(hold_bc); bc->holded=0; + bc->b_stid=0; } } @@ -2849,7 +2850,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; |