IVR.md - edlentz/Nimbus GitHub Wiki
In FreePBX, an IVR (Interactive Voice Response) is a menu system that allows callers to interact with your phone system via DTMF input (pressing keys on their phone). IVRs are used to automate call routing without needing a human operator.
An IVR typically plays a greeting like:
"Thank you for calling ABC Company. Press 1 for Sales, 2 for Support, 3 to speak with an operator."
Based on what the caller presses, the IVR directs the call to:
-
A specific extension
-
A ring group
-
A queue
-
A voicemail
-
Another IVR (nested IVRs)
-
Go to Admin → System Recordings.
-
Record or upload a greeting (WAV/MP3).
-
Name and save the recording.
🎙️ You can record directly using an extension: dial
*77
to record and*99
to listen.
-
Go to Applications → IVR.
-
Click Add IVR.
Click the "+" to add multiple options.
Once your IVR is saved:
-
Go to Inbound Routes or Time Conditions
-
Choose your IVR as the destination under "Set Destination"
This makes the IVR play when someone calls your main number or during specific times.
🧱 Advanced IVR Features Nested IVRs: Build multiple levels (e.g., language selection → main menu).
Custom Destinations: Use custom dialplan logic.
Caller ID-based Routing: Route VIP callers to a different IVR.
Time Conditions: Route to different IVRs based on business hours.
🔐 Best Practices Keep options short and clear (avoid long menus).
Offer "0" for a live operator.
Use timeouts and retries wisely.
Record high-quality greetings.
Avoid too many nested levels (frustrates users).