Asterisk does not hear dtmf sounds

When I call asterisk from the softphone, it hears dtmf sounds, but when I call from PSTN, it doesn’t. This is the output of dongle.conf:



I’ve posted this on 194 websites already😡, but I hope there will be an answer here😊

Expected behaviour for GSM networks. Probably also expected for other mobile phone technologies.

The support of this facility in the land to mobile direction is for further study

Mobile phone networks use vocal tract model based codecs, that can’t accurately represent combination of two unrelated pure tones. In the mobile to fixed direction, the key presses are sent out of band. In the intended use of mobile networks, there is no need for DTMF in the fixed to mobile direction, as the mobile user is expected to be a human, not a machine.

I wonder why so many people have come unstuck on this one in the current year.

Also note that chan_dongle is abandonware. No-one is maintaining it.

Unfortunately, I’m still quite a beginner at this, so I don’t really understand. (When I call from a zoiper to a PSTN network, the voice menu system of Vodafone customer service hears dtmf sounds)

The PSTN supports inband DTMF. GSM supports out of band DTMF from mobile (a dongle is considered a mobile) to PSTN, and the dongle may encode this from out of band indications, or by decoding in band DTMF. GSM does not support DTMF from the PSTN to the mobile. Any DTMF is likely to be badly garbled and not decode reliably.

Making some assumptions about your configuration, Zoiper is probably sending the DTMF key presses as out of band signals, using RFC 2833. The dongle translates these to out of band key press signals, according the ETSI specification I quoted, if GSM. As a mobile network operator, Vodafone may have access to these directly, but more likely their base station converts these into actual DTMF tones and transmits them over a PSTN-like connection, using G.711 codecs, which do support DTMF. They arrive at Vodafones contact centre.

Going the other way, once the tones reach the base station, they are not treated specially. The base station tries to encode them using a GSM codec. When Asterisk receives them, it tries to undo the GSM coding, but the result doesn’t accurately represent the DTMF tones. Asterisk fails to recognize them.

1 Like

OK, but could you explain point by point how I could make asterisk detect dtmf sounds coming from the pstn network, unfortunately I’m still pretty new to this, so I don’t understand much😔

Most people will use an internet telephony service provider, to provide access via SIP. The service provider will typically connect by ISDN, although most countries are moving to the use of SIP within the PSTN itself. The UK, where I suspect you are, was planning to have completed that by 2025, although it has been delayed.

You can also directly connect with ISDN, or even with analogue lines. Asterisk can handle DTMF on analogue, but doesn’t handle call supervision well so may have difficulty detecting calls being answered and ended, and in ending calls it didn’t start.

Hello, when I call the FreePBX from Skype, the dtmf detection is working, but when I call from Vodafone, Yettel, Telekom, Digi or DirectOne the dtmf detection is not working. What can I do in this case?

Please supply:

relevant channel_driver configuration, for each source (NB the .conf file, not a FreePBX screen shot);

Asterisk verbose or full log, with protocol debugging enabled, as far as possible for the channel drivers used (e.g. “pjsip set logger on” , and/or “sip. set debug on”, as appropriate for SIP channel drivers), and verbosity at least 5.

Asterisk DTMF log.

rtp set debug on logs, to the extent that you are suing RTP.

Please detail any cloud and/or local gateways in use.