DTMF issues on outbound calls

ok, so I am having this problem with asterisk. it happens on 1.6.2.15 and 1.8.3.1 using different phones (a polycom soundpoint 321 and a device with sipdroid), happens on 2 different machines and on 2 different providers. The problem is this. When I dial externally to an auto attendant where I have to enter digits. It may take me 20+ tries most times before I can get the digits to go through correctly. This is on anything I dial that has an auto attendant. I have verified this does not happen if I dial internally, (I set up an extension to read digits and say em back, 10 tries later it still worked fine so the problem is only when dialling externally, any ideas?

What kind of DTMF transfer method are you using on your Asterisk and IP Phones?

If you are using InBand, change it to RFC2833 on IP Phones and Asterisk sip.conf.

I have already tried this to no avail. I still have the issue.

An update to this. I have tried this on a different Internet connection as well. I still have the same issue. I am compiling from source. The 2 OS involved are Debian 5.0 and Ubuntu 10.10. So at this point I have ruled out the following:

Hardware: Same problem on 3 different machines.

ITSP: Problem happens on velocity and voip.ms

Asterisk version: Problem happens in 1.6.2.15 and 1.8.3.2
Phones: Polycom soundpoint 321, SIPDroid on my tablet and Xlite on the desktop

Internet connection: I have set an asterisk server up with the same configuration on both a box in my home and 2 servers at my workplace. Happens on all. I think I can also rule out client internet as the polycom at work also has the same problem and it is on the same network as the asterisk box (just a different vlan) and the phone and asterisk server is on the same network (same vlan) at my home.

OK. For now, this issue appears to be resolved by me switching the phone to INFO (I thought that stopped being preferred in 1.4?) Anyway, anyone have any thoughts on why RFC2833 isn’t working?

Perhaps it’s an IP Phone issue. I never had problems with RFC2833. If InBand fails to work, I always switch to RFC2833 to resolve the problem.

Did you try to do some debugging in Asterisk CLI or with Read() application?

Yes, when testing internally it works just fine. It is only on external calls. Using info fixed it but now asterisk wont detect the tones during the call so I can’t do things like recording on demand. It also is not phone specific because I have tried multiple phones.