IVR (Interactive Voice Response):
Auto-Attendant Setup
Build a professional, intelligent auto-attendant that routes callers instantly to the right team, handles after-hours scenarios, and never lets a customer call go unanswered β step by step.
An IVR (Interactive Voice Response) system β commonly called an auto-attendant β is the automated phone menu that greets your callers, plays a professional greeting, and routes them to the right department or person based on the digit they press. Done well, it makes even a small business sound like an enterprise, handles calls 24/7 without a receptionist, and dramatically reduces misrouted calls. Done poorly, it frustrates callers and drives abandonment. This guide covers everything: the difference between a basic auto-attendant and an advanced IVR, how to design a menu tree that callers actually use, how to write effective IVR scripts, how to configure both basic and advanced IVR in FreePBX, how to handle after-hours and holiday scenarios, and how to connect your IVR to failover routing and least cost routing for a complete, resilient phone system.
π Table of Contents
- What Is an IVR? Auto-Attendant vs Full IVR
- Business Impact: Why Every Business Needs an IVR
- IVR Menu Design: Structure, Depth & Digit Assignment
- Building Your IVR Call Tree β Visual Guide
- Writing Effective IVR Scripts & Greetings
- Time-Based IVR: Business Hours vs After-Hours
- Configuring IVR in FreePBX β Step-by-Step
- Advanced IVR Features: Callbacks, Voicemail, DTMF
- Connecting IVR to Failover & Redundancy Routing
- IVR Best Practices: The Complete Do & Don't List
- Frequently Asked Questions
- Related Articles
1. What Is an IVR? Auto-Attendant vs Full IVR
The terms "IVR" and "auto-attendant" are often used interchangeably, but they describe systems of different complexity. An auto-attendant is the simpler form β a recorded greeting followed by a menu ("Press 1 for Sales, Press 2 for Support, Press 0 for reception"). It routes calls based on a single digit press. A full IVR goes further: it can accept variable-length digit input, integrate with databases to look up caller information, play personalised responses, collect form data via keypad, and make intelligent routing decisions based on multiple inputs.
For most small and medium-sized businesses, a well-designed auto-attendant delivers everything you need at a fraction of the complexity of a full IVR platform. The key word is "well-designed" β a simple, clean auto-attendant with four clear options outperforms a complex IVR with eight nested menus on almost every caller experience metric. Modern FreePBX and Asterisk deployments make setting up both levels straightforward, with the built-in IVR module handling everything from single-level menus to multi-layer call trees with time conditions and failover destinations.
At NetViaVoice, our SIP trunking platform fully supports IVR and auto-attendant systems across all major PBX platforms β delivering the inbound calls cleanly to your IVR via a DID number, with carrier-level failover to protect against downtime. For the call routing layer that sits alongside your IVR, read our guide on Call Routing Rules.
Want a Professional IVR Configured on Your SIP Trunk?
NetViaVoice engineers design and configure IVR systems, auto-attendants, and call routing for FreePBX, Asterisk, and 3CX β backed by our reliable global SIP trunking infrastructure.
2. Business Impact: Why Every Business Needs an IVR
An IVR system does far more than route calls β it shapes the entire first impression a caller has of your business, handles call load without headcount, and protects revenue by ensuring no call goes unanswered or misrouted. The measurable business impact is significant across every key metric:
3. IVR Menu Design: Structure, Depth & Digit Assignment
The most important decision in IVR design is how many levels and how many options to offer. Research consistently shows that callers tolerate one level of menu very well, two levels acceptably, and three or more levels with rapidly increasing frustration and abandonment. Keep your design as flat as possible:
| Menu Depth | Caller Experience | Abandonment Rate | Recommendation |
|---|---|---|---|
| 1 level (4β5 options) | Excellent β fast and clear | ~8% | Ideal for most SMBs |
| 2 levels (nested) | Good β manageable | ~18% | Acceptable if needed |
| 3 levels | Poor β confusing | ~35% | β Avoid |
| 4+ levels | Very poor β frustrating | 58%+ | β Never |
Standard Digit Assignment Convention
4. Building Your IVR Call Tree β Visual Guide
Before configuring a single setting in FreePBX, map your complete call tree on paper or in a diagram tool. Every destination, every timeout scenario, and every invalid-input path should be defined before you start building. Here is an example call tree for a professional services business:
DID β Time Condition
"Welcome to Acme Corp..."
Ring Group
Queue
Extension
Extension 100
β Repeat Γ 2
β Reception
+ Email Alert
"We are closed..."
On-Call Mobile
5. Writing Effective IVR Scripts & Greetings
The words your IVR speaks matter as much as the routing logic behind them. A greeting that is too long, too formal, or poorly structured drives callers to hang up before they even reach your team. Here are two versions of a main greeting β the common mistake and the professional version:
"Thank you for calling Acme Corporation, a leading provider of professional business solutions and services since 1987. We are committed to delivering excellence to all of our valued customers across North America. Your call is very important to us. Please listen carefully to the following options as our menu has recently changed. For Sales, press 1. For Customer Support and Technical Assistance, press 2. For Accounts and Billing Enquiries, press 3. For our address and business hours information, press 4. To speak to our reception team, press 0. To repeat these options, press 9. Please make your selection now."
"Welcome to Acme Corporation. For Sales, press 1. For Support, press 2. For Billing, press 3. For reception, press 0."
π IVR Script Writing Rules
- State the destination before the digit: "For Sales, press 1" β not "Press 1 for Sales". Callers can skip irrelevant options mid-sentence.
- Keep greetings under 10 seconds: Get to the menu. Callers do not need your history, awards, or brand values in the greeting.
- Never say "Your call is important to us": This phrase has become universally associated with being put on hold. It erodes trust instantly.
- Use natural spoken language: Write for how people speak, not how they write. Short sentences. Common words.
- Avoid "our menu has recently changed": If your menu changed, update the recording β do not announce the change.
- Always state 0 for operator last: Give callers who want self-service options first, then offer the human option at the end.
- Professional voice artist for main greeting: The main greeting sets the brand tone β invest in a professional recording for this one.
6. Time-Based IVR: Business Hours vs After-Hours
A complete IVR system routes calls differently depending on the time of day, day of week, and specific holidays. The caller should hear a different greeting and reach different destinations during business hours, evenings, weekends, and public holidays. This is handled in FreePBX through Time Conditions that sit in front of the IVR module in the call routing chain.
π Time-Based IVR Architecture
Business Hours (Active IVR)
Greeting: "Welcome to [Company]. For Sales, press 1. For Support, press 2..."
Destination: Live agents via ring groups and queues. Maximum response time orientation.
After-Hours (Passive IVR)
Greeting: "Thank you for calling [Company]. Our office is currently closed. Our hours are Monday to Friday, 9 AM to 6 PM. Press 1 to leave a voicemail and we will call you back on the next business day. Press 2 for emergencies."
Destination: Voicemail boxes with email notification, on-call mobile.
Lunch Hours (Reduced IVR)
Greeting: "We are currently at lunch and will return at 1 PM. Press 1 to hold, Press 2 to leave a voicemail."
Destination: Reduced ring group (skeleton staff) or voicemail.
Holiday IVR
Greeting: "Happy [Holiday] from [Company]. We are closed today and will reopen on [Date]. Press 1 to leave a message."
Destination: Holiday voicemail with email. Special holiday time groups override regular weekly schedule.
7. Configuring IVR in FreePBX β Step-by-Step
Record Your IVR Greetings
Navigate to Admin β System Recordings. Click "Add Recording". You can dial *77 from any extension to record via phone, or upload a pre-recorded MP3/WAV file. Create recordings for: main business hours greeting, after-hours greeting, holiday greeting, and invalid-entry prompt.
Create the Ring Groups and Queues
Before building the IVR, create the destinations it will route to. Go to Applications β Ring Groups to create ring groups for each department (Sales, Support, Billing). Each ring group needs its member extensions, ring strategy, and ring timeout configured. These become the "landing destinations" your IVR points to.
Build the IVR Module
Navigate to Applications β IVR. Click Add IVR. Set the name, select your business hours greeting recording, set the digit timeout (5β7 seconds recommended), set the number of invalid retries (2), and configure what happens on timeout and invalid input (recommend: ring group for reception or repeat menu).
Add Digit Options
In the IVR module, scroll to the Digit Options section. For each menu option, select the digit (1β9, 0, #, *) and the destination. Example: Digit 1 β Ring Groups β Sales Ring Group. Digit 2 β Queues β Support Queue. Digit 0 β Extensions β 100 (Reception). Add all options defined in your call tree.
Configure Time Condition
Go to Applications β Time Conditions. Create "Business Hours" time condition (MonβFri, 9:00β18:00). Set Match destination to your IVR. Set No Match destination to your After-Hours IVR (a separate IVR module with the after-hours recording and voicemail option).
Connect Inbound Route to Time Condition
Go to Connectivity β Inbound Routes. Find your DID's inbound route. Set the "Set Destination" to your Time Condition. Click Submit β Apply Config. Call your DID from an external phone to test. Verify business hours routing, after-hours routing, each digit option, timeout, and invalid input handling.
8. Advanced IVR Features: Callbacks, Voicemail Drops, DTMF
Beyond basic menu routing, modern IVR systems offer advanced features that further reduce agent workload and improve caller experience:
| Feature | Description | Business Benefit | FreePBX Module |
|---|---|---|---|
| Voicemail Drop | IVR option to go directly to voicemail without ringing agents | Reduces interruptions; collects message 24/7 | Voicemail module |
| Queue Callback | Caller enters queue, hangs up, receives callback when agent free | Reduces abandonment; improves satisfaction | Queue module + callback |
| Multi-Language IVR | Press 1 for English, Press 2 for Spanish (routes to language-specific team) | Serves bilingual markets professionally | Separate IVR per language |
| Announcement Only | IVR digit plays pre-recorded information (hours, address, status) | Handles info calls without agent time | Announcement module |
| IVR PIN Access | Callers enter PIN to access restricted destinations | Protects VIP lines and internal extensions | PIN Set module |
| CRM Screen Pop | IVR digit selection passes context to CRM when agent answers | Agent knows reason for call before speaking | API integration |
For DTMF-related IVR configuration β particularly ensuring callers' digit presses are correctly interpreted by your PBX β the DTMF mode must be correctly set on both your SIP trunk and your IVR extensions. This is one of the most common causes of IVR "not responding to key presses." For a full guide, see our Call Routing Rules Guide.
9. Connecting IVR to Failover & Redundancy Routing
Your IVR is only as reliable as the infrastructure delivering calls to it. Even a perfectly designed IVR is useless if calls cannot reach it due to a trunk outage, internet failure, or PBX crash. Connecting your IVR to a failover routing architecture ensures callers always reach someone β even when your primary system is down.
π‘οΈ IVR + Failover Integration Strategy
- Primary trunk failover: Configure a secondary SIP trunk in your outbound routes as a failover β if the primary trunk delivering inbound calls fails, the secondary trunk takes over automatically. See: Failover Routing: Primary & Secondary Trunk Setup
- Carrier-level DID failover: Configure in your NetViaVoice portal β if your PBX SIP registration lapses, inbound calls forward to a mobile number. Your mobile then provides a manual "IVR" via your voicemail greeting.
- Geographic redundancy: For enterprise IVR deployments, run duplicate IVR configurations on geographically separated servers. See: Geo-Redundant Routing Guide
- IVR destination failover: Each IVR digit destination (ring group, queue) should have its own failover defined β if the ring group times out, route to voicemail rather than playing a busy tone.
- Least cost routing integration: For businesses with multiple trunk providers, connect your IVR to LCR to ensure outbound calls generated by IVR callback features use the most cost-effective route. See: Least Cost Routing Guide
10. IVR Best Practices: The Complete Do & Don't List
β Do β IVR Best Practices
- Keep menu to maximum 2 levels
- Limit to 4β5 options per menu level
- State destination before digit number
- Always offer 0 for operator
- Keep main greeting under 10 seconds
- Use professional voice talent for recordings
- Configure timeout and invalid input handling
- Test IVR from external phone before going live
- Review call analytics monthly β optimize based on data
- Set up after-hours IVR with voicemail
- Match IVR language to your primary market
β Don't β Common IVR Mistakes
- Never create 3+ level menu nesting
- Never make greeting over 20 seconds
- Never say "your call is important to us"
- Never list more than 6 options per menu
- Never have dead-ends with no fallback
- Never let timeout route to fast-busy
- Never skip after-hours configuration
- Never use poor quality audio recordings
- Never configure IVR without testing it
- Never remove the operator (0) option
- Never set digit timeout longer than 8 seconds
Analytics Tip: Review your IVR digit press reports monthly. If 80% of callers press 1 (Sales) and almost no one presses 4 (Info), your menu is weighted wrong β Sales should probably route directly without a menu press. If abandonment before any digit press is high, your greeting is too long. Let data drive IVR improvements, not assumptions.
11. Frequently Asked Questions
The terms are often used interchangeably, but technically they describe systems of different sophistication:
- Auto-Attendant: A simpler system that answers calls, plays a greeting, and routes the caller to a predetermined destination based on a single digit press. It follows a fixed script with no dynamic data integration. Most SMBs use an auto-attendant and call it their "IVR."
- Full IVR (Interactive Voice Response): A more sophisticated system that can accept variable-length digit input (phone numbers, account numbers, postal codes), query databases in real time, play personalised responses based on caller data, collect form submissions via keypad, and make intelligent routing decisions based on multiple inputs. Used in banking, utilities, large call centres.
For most businesses, a well-configured auto-attendant in FreePBX delivers everything needed. The terms are used interchangeably in this guide because the practical setup is the same β the distinction matters more at the enterprise level where full IVR integration with CRM and billing systems is required.
Setting up an IVR in FreePBX requires the following steps in order:
- Step 1: Record or upload your greeting audio files via Admin β System Recordings
- Step 2: Create the destinations your IVR will route to (Ring Groups, Queues, Extensions) via the Applications menu
- Step 3: Build the IVR itself via Applications β IVR β Add IVR. Select your greeting, configure timeout settings, and add digit options pointing to your destinations
- Step 4: Create a Time Condition (Applications β Time Conditions) to route business hours calls to the IVR and after-hours calls to an after-hours IVR or voicemail
- Step 5: Set your inbound route (Connectivity β Inbound Routes β your DID) destination to the Time Condition
- Step 6: Click Submit β Apply Config, then test by calling your DID from an external phone
The complete step-by-step configuration is covered in Section 7 of this guide above.
IVR not responding to digit presses is almost always a DTMF (Dual Tone Multi-Frequency) configuration problem. DTMF is the technology that transmits the keypad tones from a caller's phone to your PBX. There are several DTMF transport methods, and a mismatch between your SIP trunk, your PBX, and your phones causes the tones to not be received:
- Most common fix: Ensure both your SIP trunk and your IVR extensions use
RFC 2833(chan_sip) orRFC 4733(PJSIP) for DTMF. This sends DTMF as out-of-band data packets separate from the audio stream β far more reliable than in-band DTMF. - In FreePBX: go to your SIP trunk settings β Advanced Options β DTMF Mode β set to
rfc2833 - In pjsip.conf endpoint: set
dtmf_mode=rfc4733 - Secondary cause: If using G.729 audio codec, in-band DTMF is compressed out of existence. G.729 requires RFC 2833 out-of-band DTMF β in-band will never work.
- Third cause: SIP trunk carrier stripping DTMF. If RFC 2833 is correctly set but digits still not received, capture a SIP trace (sngrep) and verify
a=rtpmap:101 telephone-event/8000appears in the SDP offer.
The research on IVR usability consistently points to the same answer: 4 to 5 options per menu level is the sweet spot. Here is why:
- Fewer than 3 options suggests you could probably handle it more simply without a menu
- 4β5 options gives clear routing for the main departments without overwhelming callers
- 6+ options becomes cognitively difficult to track β callers have to keep all options in memory while listening
- Always include 0 for operator β this is standard and expected, so it does not "waste" a slot conceptually
If you genuinely need more than 5 routing options, consider a two-level menu: Level 1 routes to a category ("Press 1 for commercial services, Press 2 for residential services"), then Level 2 routes to a specific department within that category. This is preferable to offering 8+ options on a single menu.
The ultimate test: time your IVR recording. If reciting all your options takes more than 12 seconds, you have too many. Callers become impatient after 15 seconds in a menu. Keep it tight, keep it fast.
Yes β this is one of the most important and commonly used FreePBX features for businesses. Time-based IVR greetings are implemented using the Time Conditions module combined with separate IVR configurations for each time period. Here is how it works:
- Create multiple IVR configurations: Build a "Business Hours IVR" with your active greeting and department routing, and a separate "After Hours IVR" with your closed message and voicemail option
- Create a Time Condition: Applications β Time Conditions β define your business hours (e.g., MonβFri, 9:00β18:00)
- Set Match/No Match: Time Condition Match β Business Hours IVR; No Match β After Hours IVR
- Connect to inbound route: Your DID's inbound route destination points to the Time Condition, which then routes to the appropriate IVR based on when the call arrives
- Add holiday exceptions: Create Time Groups for specific holiday dates (Admin β Time Groups) and add them to your Time Condition β holidays automatically play the holiday greeting regardless of day-of-week settings
You can also use a manual override feature in FreePBX where dialling a specific extension toggles the time condition β useful for unexpected early closures where staff can quickly switch to after-hours mode without changing any configuration. For routing redundancy that protects your IVR deliverability, read: Geo-Redundant Routing Guide.
ποΈ Get a Professional IVR Built on NetViaVoice SIP Trunks
NetViaVoice provides expertly designed IVR and auto-attendant systems for businesses worldwide β built on our reliable SIP Trunking platform with 160+ country coverage, carrier-level failover, and 24/7 technical support. Stop missing calls and start routing them intelligently.