From a5bb078177c66c2271cda1393d934e91d0cc3a36 Mon Sep 17 00:00:00 2001
From: Christian Richter <christian.richter@beronet.com>
Date: Tue, 11 Sep 2007 16:15:10 +0000
Subject: [PATCH] Merged revisions 82249 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r82249 | crichter | 2007-09-11 18:01:27 +0200 (Di, 11 Sep 2007) | 1 line

fixed a hold/retrieve issue.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@82254 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 channels/chan_misdn.c     | 10 ++++++----
 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 f56ff99d9b..a8b108626a 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 9f4f57fa03..aacdc0ba44 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;
 
-- 
GitLab