From 2a8764f4ba1592790b6b359362f98e2fe1a3272f Mon Sep 17 00:00:00 2001
From: Christian Richter <christian.richter@beronet.com>
Date: Tue, 10 Oct 2006 14:54:58 +0000
Subject: [PATCH] Merged revisions 44786 via svnmerge from
 https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r44786 | crichter | 2006-10-10 15:50:26 +0200 (Di, 10 Okt 2006) | 9 lines

Merged revisions 44785 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r44785 | crichter | 2006-10-10 15:34:33 +0200 (Di, 10 Okt 2006) | 1 line

(re)added support of dynamical enabling hdlc on bchannels
........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44787 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 channels/chan_misdn.c     | 5 ++++-
 channels/misdn/isdn_lib.c | 1 +
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c
index 2288b1d8c5..dcad080246 100644
--- a/channels/chan_misdn.c
+++ b/channels/chan_misdn.c
@@ -4805,7 +4805,10 @@ static int misdn_set_opt_exec(struct ast_channel *chan, void *data)
 			
 			if (strlen(tok) > 1 && tok[1]=='1') {
 				chan_misdn_log(1, ch->bc->port, "SETOPT: HDLC \n");
-				ch->bc->hdlc=1;
+				if (!ch->bc->hdlc) {
+					ch->bc->hdlc=1;
+					misdn_lib_setup_bc(ch->bc);
+				}
 			}  
 			ch->bc->capability=INFO_CAPABILITY_DIGITAL_UNRESTRICTED;
 			break;
diff --git a/channels/misdn/isdn_lib.c b/channels/misdn/isdn_lib.c
index 19268d0e60..1ccea50a84 100644
--- a/channels/misdn/isdn_lib.c
+++ b/channels/misdn/isdn_lib.c
@@ -896,6 +896,7 @@ static int create_process (int midev, struct misdn_bchannel *bc) {
 
 void misdn_lib_setup_bc(struct misdn_bchannel *bc)
 {
+	clean_up_bc(bc);
 	setup_bc(bc);
 }
 
-- 
GitLab