[need help]echo and fax problem

I have searched in forum but did not get satisfatory answer,so paste it.

I have installed Asterisk ,the construct like this:
PSTN<—>quabri isdn card<—>asterisk<—>beronet card<–>fax and analog phones
And 15 SIP phones connect with asterisk through LAN

Echo Problems:
After several trying,I have set echocanncel = yes, and echocanelwhenbridged=yes,echotraing=no,rxgain=4.5 and txgain=-2
Echo appears often,especially when remote station is a cordless phone.
I have read some reports,but seems not helpful. Some advise to change algorithmus ,another said standard is ok.
what could I do except trying different algorithmus and the rx- and txgain value?

Fax Problems:
The configuration for fax is simple
in zapata faxdetect=both,and in extensions.conf use Dial() to get fax to work.
It seems that analog card can not cooperate with isdn card perfectly.
In some cases, say, if the remote satation is a soft fax machine,then my fax can not send out. some one said it is the problem of synchronisation between the cards. It is said that ATA will be a better way,is it true? can someone verify this opinion? or is there anyway else?

pl tell me something if you know about it, thanks.