Unreliable DTMF detection

I am running asterisk 1.4.9 and using a digium TE407P card to interface to the PSTN. The interface is E1. Zap 1.4.6.

I am having a problem when users call in to asterisk, and enter digits as instructed by an IVR system. The issue is that sometimes, the digits are detected correctly by asterisk and sometimes they are not. THis is basically detecting dtmf digits passed from the caller via the PSTN.

I have tried many of the options in zapata.conf to no success. The only option that solves the problem is by turning off echocancellation using the echocancel=no setting. However, when i do this, i have lots of echo issues and hence this is not a solution.

I have enabled / disable hardware dtmf detection without any changes; as long as echo cancel is enabled, then dtmf digits are not detected properly.

However when someone calls in from a digital line, some keys may not be detected properly, but the * button is always detected correctly. When someone calls in from an anlogue line, even the * key is not detected.

I am really stuck, this is a new card that i am trying to setup. The main use was for the IVR system, and if it does not work, then the card will not be of much use to me. The E1’s are up and everything else works fine but the dtmf issue.

ANy pointers?


Already tried to change the DTMF to inband?