I have a strange and annoying issue with a new FreePBX 17 installation. My use case is this - I have an IVR set up to allow for direct dialing of extensions, with the timeout destination set to the primary extension (my desk phone). Ideally, I’d like to have a timeout of ~5 seconds with no retries or announcements, so an external caller hears nothing but dead air for a few seconds before it rings to my desk phone.
The issue I’m seeing is this - the IVR does not detect the DTMF from an inbound call in this configuration. No DTMF prints are seen in the logs at all. If I answer the call after it rings to the timeout destination, I can see the DTMF decoded perfectly fine in the logs. Additionally, if I increase the IVR retries from 0, the second attempt to dial an extension also works fine and the DTMF is detected in the logs as expected. I can also bypass the IVR entirely and send all inbound calls to my extension directly, and DTMF is decoded in this configuration just fine too.
For testing purposes, I extended the IVR timeout to 25 seconds and again, no DTMF was received, however I tried repeatedly dialing a digit and noticed that as soon as the IVR timeout recording started playing, DTMF digits began to be received without any issues. So it seems like for some reason the IVR is unable to detect any DTMF until audio is played from FreePBX to the inbound call.
Anyone have any ideas? I’m using RFC2833 for my trunk (Telnyx).
Subject to the production of adequate logs, this sounds like either you don’t have permanent port forwarding on your router, and it needs outgoing media to set up forwarding and/or firewall rules, or you are behind NAT and haven’t correctly configured your public address and/or local network, so the remote party needs incoming media to learn your true public media address.
Thanks everyone, I tried the trick of adding a silent audio file to the IVR as the announcement and indeed DTMF started being decoded right away.
There’s not anything to see in the logs, even with DTMF logigng enabled. When DTMF doesn’t work, there are no log prints, and when it does there are. The PBX is running on a public IP with no port forwarding, only firewalling - I would think my SIP trunk provider would have no issue connecting but I suppose there could be some strangeness going on with the call establishment.