From 370b3437eeb6c35c8ee5bbaae913061a44c2671d Mon Sep 17 00:00:00 2001 From: Christian Richter Date: Tue, 11 Sep 2007 16:01:27 +0000 Subject: [PATCH] fixed a hold/retrieve issue. git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@82249 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_misdn.c | 8 +++++--- channels/misdn/isdn_lib.c | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) 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;