From 4bd3402e5a6f3102cfa53cd2cef24feaf55e9cb0 Mon Sep 17 00:00:00 2001 From: crichter Date: Fri, 13 Oct 2006 13:11:13 +0000 Subject: fixed some echocandisable issues when bridged. this caused a kernel panic sometimes..also some minor formatting fixes git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@45020 f38db490-d61c-443f-a65b-d21fe96a405b --- 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 2fddfe3d5..6c1de400f 100644 --- a/channels/chan_misdn.c +++ b/channels/chan_misdn.c @@ -2287,7 +2287,6 @@ enum ast_bridge_result misdn_bridge (struct ast_channel *c0, carr[0]=c0; carr[1]=c1; - if (ch1 && ch2 ) ; else return -1; @@ -2309,10 +2308,9 @@ enum ast_bridge_result misdn_bridge (struct ast_channel *c0, ch2->bc->ec_enable=0; manager_ec_disable(ch2->bc); } - /* trying to make a mISDN_dsp conference */ chan_misdn_log(1, ch1->bc->port, "I SEND: Making conference with Number:%d\n", ch1->bc->pid +1); - + misdn_lib_bridge(ch1->bc,ch2->bc); } @@ -2358,7 +2356,11 @@ enum ast_bridge_result misdn_bridge (struct ast_channel *c0, break; } - + if (f->frametype == AST_FRAME_VOICE) { + chan_misdn_log(1,0,"Got Voice frame in Bridged state..\n"); + continue; + } + if (who == c0) { ast_write(c1,f); } diff --git a/channels/misdn/isdn_lib.c b/channels/misdn/isdn_lib.c index ce25791a4..93be09956 100644 --- a/channels/misdn/isdn_lib.c +++ b/channels/misdn/isdn_lib.c @@ -4231,7 +4231,7 @@ void manager_ec_disable(struct misdn_bchannel *bc) return; } - if ( bc->ec_enable) { + if ( ! bc->ec_enable) { cb_log(1, stack?stack->port:0, "Sending Control ECHOCAN_OFF\n"); manager_ph_control(bc, ECHOCAN_OFF, 0); } -- cgit v1.2.3