IVR Menu Doesn't Recognize Extension Selection


We are in a small office with 5 lines, and callers have been having difficulty making selections for extensions.

For example, when the menu says ‘Press 3 for …’, the caller will have to press 3 many times before it works. It does not seem to be isolated to any one extension.

Any ideas on where I could start?


likely a DTMF detection problem , what trunking are you using ?

Here’s what I have under ‘Trunks’

-Trunk Name: DAHDI_Channel_g0
-DAHDI Trunks: Group 0 Round Robin Ascending
-DAHDi Identifier: r0

analog or digital?

Digital. Here’s the info under DAHDI configuration:

Span: Digium - Wildcard TE131/TE133 Card 0 [ 1]
Framing/Coding: ESF/B8ZS
Channels Used/Total: 24/23
D-Channel: 24
Signaling: pri_cpe

Force answer on your IVR’s inbound route and enable DTMF in your console and full logs

Did that, thanks.

Would ‘force answer’ potentially solve the issue, and enabling DTMF in logs to monitor any issues?

PRI’s do their signalling in the D channel, the B channel needs to be answered to get any ‘inband’ signalling. The DTMF logging is just informational.

I switched ‘Force Answer’ and it didn’t solve the issue. What should I be looking for in the logs?

Settings > Asterisk Logfile Settings > Log Files, enable DTMF logging.

Post a full call trace, via the pastebin method: https://wiki.freepbx.org/display/SUP/Providing+Great+Debug#ProvidingGreatDebug-AsteriskLogs-PartII

Thanks. I went to Log Files, and there is no File Name that includes dtmf. The only ones listed are console, full, syslog.local0, and fail2ban.

You want to enable DTMF for console and full.

Got it, thanks!

I followed the instructions for a call trace, and the second grep command (grep C-0000001f /var/log/asterisk/full-20210115 | pastebin) returned nothing, it was blank.

What would that indicate?

I have DTMF logging enabled.

I was able to get some information on the Asterisk CLI. Here is what I saw when I made a call and tried selecting ‘2’. I kept getting the ‘that is not a valid response’ message.


Any thoughts on what could be causing it?

No, but the log does show that Asterisk received 22, which did not match an option.

If your IVR options are all single digits, you could work around the problem by setting Force Strict Dial Timeout to No, so the option would be handled before the second 2 was ‘heard’.

Otherwise, one guess is that the DTMF is being transmitted both over the D channel and as inband audio, so it gets seen twice. If you have a way to disable one or the other, try that.

Another guess is that an echo suppressor or similar element is momentarily interrupting the incoming audio, so a sufficiently long 2 press will be seen as two brief presses of the digit.

I know nothing about PRI, but would assume that there is some way to log what gets received on the D channel, which should be a clue as to what is going wrong.

Thanks for the thoughts. I’ve got it set to ‘No-Legacy’ for Force Strict Dial Timeout already.

One weird thing I’ve also observed is that the menu works generally fine when I make a call using my laptop on the gmail ‘Make a Phone Call’ feature. No having to select an option multiple times, and no error messages.

You’re DTMF digits are being doubled. You pressed 2, but the system saw 22. The quick-and-dirty fix is to duplicate your single digit IVR selections as double digits, but you are going to want to debug your DAHDI config to get DTMF working.

Thanks. What would you suggest as a first step in debugging DAHDI?

Either by R’ingTFM’s or posting your current configs ( all of them)