From: Christian Richter Date: Fri, 13 Oct 2006 13:11:13 +0000 (+0000) Subject: fixed some echocandisable issues when bridged. this caused a kernel panic sometimes... X-Git-Tag: 1.2.13~15 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0bd76b00b2f62b43d0249f60bfa83ede5c064796;p=thirdparty%2Fasterisk.git fixed some echocandisable issues when bridged. this caused a kernel panic sometimes..also some minor formatting fixes git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@45020 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c index 2fddfe3d57..6c1de400f9 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 ce25791a4f..93be099569 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); }