From e7f46a4251f9672489436123910b3d03b5e16ee4 Mon Sep 17 00:00:00 2001
From: Mark Spencer <markster@digium.com>
Date: Mon, 26 Jan 2004 16:39:34 +0000
Subject: [PATCH] Seriously fix echo cancellation on inbound calls with FXO
 interfaces (and enable echo training on them)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2077 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 channels/chan_zap.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/channels/chan_zap.c b/channels/chan_zap.c
index 68f3782a11..f790e28b40 100755
--- a/channels/chan_zap.c
+++ b/channels/chan_zap.c
@@ -2011,6 +2011,10 @@ static int zt_answer(struct ast_channel *ast)
 				p->owner = p->subs[SUB_REAL].owner;
 			}
 		}
+		if (p->sig & __ZT_SIG_FXS) {
+			zt_enable_ec(p);
+			zt_train_ec(p);
+		}
 		break;
 #ifdef ZAPATA_PRI
 	case SIG_PRI:
@@ -4673,7 +4677,6 @@ static void *ss_thread(void *data)
 		ast_setstate(chan, AST_STATE_RING);
 		chan->rings = 1;
 		p->ringt = RINGT;
-		zt_enable_ec(p);
 		res = ast_pbx_run(chan);
 		if (res) {
 			ast_hangup(chan);
-- 
GitLab