Problems with external lines

Hello,
i’ve setup an Asterisk server with 60 internal extensions and 12 external analog lines and i’m using Grandstream bt100 for my hard VOIP phone.
everything go well with internal extensions but when we go outside through analog lines (TDM800P) i’ve got a low volume with this configurations:
[channels]
usecallerid=yes
hidecallerid=no
callwaiting=yes
callwaitingcallerid=yes
threewaycalling=yes
transfer=yes
hanguponpolarityswitch=yes
immediate=no
busydetect=yes
busycount=6
echocancel=256
echotraining=yes
relaxdtmf=yes

context=incoming
signalling=fxs_ks
musiconhold=default
group=3
channel=>1-12
so that i play around with the values of rxgain and txgain and put rxgain=15.0 and txgain=10.0 to get not bad volume level for external calls but the echo has appeard although i used fxotune utility and although there r some functionality begin not to work well like dtmf recognition.
so that is there any1 have any idea y that’s happening and if there is a hidden configuration shall i do 2 resolve this problem.
plz it’s an argent situation
thank u 4 being patient with me

Try enabling echo cancellation in zapata.conf

echo cancel is enabled in zapata.conf

You have all these three lines in zapata.conf ?
echocancel=yes
echocancelwhenbridged=yes
echotraining=yes

yea