'Read' command getting DTMF echo

I’m having some trouble getting the Read() command to work properly. I don’t know if this has something to do with a general setting elsewhere or is just a problem with my entry. Here is the command line that I’m using:

exten => a,1,Read(ENTRD,enter_conf,6)

The user needs to enter a six-digit confirmation number which I then pass to an AGI script for verification. The number I’m trying to enter is 712972. I had to try it 5 times before I got it right. I didn’t think I was being heavy handed at all with it, but here are the various errors that I got:

771129, 711299, 711297, 712997

As you can see, they all follow the right pattern, so it’s not just a case of me entering the wrong numbers or something. As I said, I finally got it to read the right numbers. The problem I have with this is that I can’t expect the users of this system to be so judicious with their entry. Is there some way to ensure that asterisk reads a button press as only one digit? Is this some kind of echo effect going on or something? I’ve checked bug reports and forum postings but can’t seem to make any sense of this. Thanks in advance for any advice/help you can offer.

I’m using a SIP channel as an outbound dialer. I’ve tried putting relaxdtmf into my SIP.CONF file, but that didn’t seem to do anything. dtmfmode is currently set to auto.