How can I make DTMF work on Asterisk 1.2 by IAX2?

I built a application bases on architecture below:

IAXClient <—IAX2—> Asterisk <—SIP—> Gateway <—I don’t know—> PSTN

I wrote a desktop application, which base on IAXClient open source and can connect Asterisk server by IAX2 protocol. My Asterisk sever has a public internet IP address, so it can connect Gateway by SIP protocol directly, and do not need login Gateway.

I can call any phone on PSTN now, but the problem is that DTMF from my desktop application makes no sense. And I downloaded other desktop applications which base on IAX2, it looks DTMF from them make no sense too. ‘Make no sense’ means no prompt about DTMF from CLI of Asterisk and DTMF can not effect anything during the call.

Why? Can you help me?

Anyone can help me?

It would come down to codec or the way the tones are transmitted

you need to use G.7.11u-law/a-law end to end

with DTMF it’s always useful to create an app in your dialplan that Read()s DTMF, then SayDigits()s it back to you. then you can start to work out where in the chain the problem is. standard debugging rules apply … change one thing at a time and re-run the same test with each change.

To baconbuttie:

Thank you very much! I think I hvae got a good idea from you.

And I will try.

The issue got resolved, I just replace the old one with the newest Asterisk, that is 1.4.2