VoIP.info Guide

FreePBX IVRs

Create a short voice menu that handles invalid digits, silence and unavailable destinations.

Reviewed 2026-10-12Current Sangoma IVR guide and FreePBX 17 IVR module metadata plus current Asterisk Background, WaitExten and special-extension documentation reviewed September 28, 2026; no PBX, module, generated dialplan, prompt, destination, DTMF digit or live call was testedIntermediateDocumentation based · not lab tested

Write the menu before configuring it

An IVR maps caller digits to PBX destinations. Draft the spoken choices and the routes together: for example, 1 for sales, 2 for support and 0 for an attended fallback. Keep the first menu short enough that a caller can remember the choices.

A recording alone does not create the routing. System Recordings holds the audio asset; the IVR defines the digit behavior. Ensure each advertised department has a working destination before connecting the public number.

Business-hours routing with an explicit fallback
An inbound call reaches a time condition. Open hours lead to an IVR and then a staffed queue with voicemail overflow. Closed hours lead to a closed announcement and voicemail.

One routing design. Test holiday rules, manual overrides, invalid IVR input and queue overflow separately; the selected destinations depend on local policy.

Build and apply a small test menu

Create the prompt in System Recordings and select it in the IVR application. Add the digit-to-destination mappings, timeout behavior and invalid-input destination. Decide whether direct extension dialing is necessary; exposing arbitrary extensions is a separate access decision.

Submit and Apply Config, then route a test DID or internal test path to the menu. Avoid pointing the only business number to an untested IVR. Keep a direct-to-reception route ready as a rollback.

Exercise every branch

Press each valid digit, an invalid digit, nothing at all, a partial multi-digit choice and a digit during the prompt. Test from the real carrier path as well as an internal phone: local DTMF success does not establish carrier-side negotiation. Record the invalid-retry and timeout-retry counts, append-announcement behavior, final destinations and every submenu return action so a retry or parent return is not mistaken for random routing.

If callers hear the menu but digits do nothing, first establish whether Asterisk received them using DTMF negotiation and the affected call leg. If the digit is logged but the menu ignores it, delays it or reaches the wrong destination, use the focused FreePBX IVR keypress diagnostic. Transport, digit timing, direct dialing, menu matching and destination execution are different failure stages.

Keep a reachable exit

Use an attended destination, useful mailbox or clear final announcement after retries. Hidden digit choices are discoverable and must not replace authentication. Re-record the prompt when choices change, and call the public number after every routing update.

Verify Announcement return with and without IVR context

An Announcement can return to its originating IVR only when the call arrived with that IVR context. The Announcement diagnostic compares IVR and direct entry, repeat and skip handling, ordinary completion and the configured post destination so a context-dependent return is not mistaken for random routing.

Keep Directory return behavior inside the IVR path

The FreePBX Directory diagnostic compares direct entry with entry from an IVR. It proves whether Return to IVR overrides the Directory's invalid destination and maps any repeated path before prompts or retry counts are changed.

Keep IVR selection separate from shared recording content

An IVR can reference a System Recording whose media, language or feature-code replacement is owned outside the menu branches. Use the System Recordings guide to preserve that shared object, then test BackGround playback and digit collection in the actual IVR path.

Treat an IVR selection as a handoff, not authorization

The Misc Destinations guide keeps an IVR key, selected record, generated handoff and final feature or route independent. An obscure menu digit is not authentication for a privileged target.

Keep queue-priority selection separate from menu recognition

When an IVR branch assigns a caller class, the queue-priority diagnostic continues from the selected object through variable inheritance and queue admission.

Watch the explanation

21 Inbound Routes - FreePBX 101 v15Crosstalk Solutions · 12:21 · Version-specific

Distinguishes the called DID from caller ID and follows inbound calls to a destination. The catch-all and exact-number examples help explain why a route matches unexpectedly.

Read applicability and editorial notes →
Watch this video here

FreePBX 15 walkthrough. Our written administration baseline is FreePBX 17 on Debian 12. Review used the available transcript and primary references; audio and screen readability remain unverified.

The player loads only when you choose Watch here. Playback uses YouTube’s privacy-enhanced embed; YouTube processes playback data.

22 - IVR Design - FreePBX 101 v15Crosstalk Solutions · 5:42 · Conceptual

Walks a complete inbound design through weather overrides, holidays, business hours and fallback destinations. Watch before building the individual modules.

Read applicability and editorial notes →
Watch this video here

Part of a FreePBX 15 series, but this lesson teaches call-flow design rather than relying on the old interface. Review used the available transcript and primary references; audio and screen readability remain unverified.

The player loads only when you choose Watch here. Playback uses YouTube’s privacy-enhanced embed; YouTube processes playback data.

Explore all 4 related videos →

Sources & applicability

Primary references for the technical details above. Operational examples and planning checklists are VoIP.info editorial guidance.

Examples require adaptation to your topology. No live PBX or hardware testing is claimed.