How to Set Up an IVR Menu in ICTContact

A well-configured IVR menu is the difference between callers reaching the right agent on the first try and callers bouncing between departments or hanging up. ICTContact’s IVR builder handles everything from simple two-option menus to multi-level trees with queue routing and fallback handling. This guide gets you from zero to a working IVR in a single session.

Prerequisites

  • ICTContact installed with admin access to the dashboard
  • At least one inbound DID (phone number) configured and assigned to your contact center
  • Your audio prompt files ready — MP3 or WAV, clearly recorded, ideally by a professional voice talent or a decent text-to-speech engine
  • A clear map of your menu structure on paper before you start building — it’s much faster to translate a written plan into ICTContact than to figure out the logic inside the tool
  • At least one agent queue or SIP extension set up so you have somewhere to route calls

Step 1: Map Your Menu Structure Before Touching the Builder

This step saves you from rebuilding the IVR twice. Write out every option, every action, and every fallback path before you open ICTContact.

A typical IVR for a small contact center looks like this: Press 1 for Sales, Press 2 for Support, Press 3 for Billing, Press 0 to speak with an operator, no input = repeat the prompt once, then transfer to operator. That’s your tree. If yours is more complex — say, a sub-menu under Support for different product lines — map that out too.

Keep the top-level menu to five options or fewer. Callers don’t like long menus, and they’ll press 0 to reach a person if you give them more than they can remember. Fewer options, cleaner routing.

Step 2: Upload Your Audio Prompts

Go to IVR > Sounds (or the global Sounds section, depending on your ICTContact version). Click Add Sound and upload each prompt file.

You’ll need at minimum: a main greeting/menu prompt (“Thank you for calling [Company]. For sales, press 1. For support, press 2…”), a fallback/repeat prompt for when no input is detected, and an error prompt for invalid key presses. If you have sub-menus, upload those prompts too.

Name each file consistently so you can identify them quickly in dropdowns. “main-menu-EN”, “submenu-support-EN”, “invalid-key-EN” is clearer than “recording1”, “recording2”.

If you don’t have pre-recorded files, ICTContact’s text-to-speech engine works for initial setup. Just replace TTS prompts with real recordings before the IVR goes live — TTS is fine for testing, but robotic prompts do affect how professional your contact center sounds to callers.

Step 3: Create the IVR in ICTContact

Navigate to IVR > Add IVR. Give the IVR a name that identifies it by purpose and DID (e.g., “Main IVR — US Support Line”). You’ll assign the DID to this IVR in a later step, but good naming makes management easier as you add more IVRs over time.

On the IVR creation screen, set the following:

  • Greeting Sound: Select your main menu prompt from the dropdown. This is what callers hear the moment the IVR answers.
  • Timeout: How long to wait for input before playing the fallback prompt. 5 seconds is standard — long enough for callers who need a moment, short enough not to feel like dead air.
  • Max Retries: How many times to repeat the menu if the caller provides no input or presses an invalid key. 2 retries is typical. After the retries are exhausted, route to your fallback destination (usually the operator queue).
  • Invalid Sound: The audio that plays when a caller presses a key that isn’t mapped. Upload and assign your error prompt here.

Save the IVR record before adding key mappings — ICTContact requires the parent IVR to be saved first.

Step 4: Map Keys to Destinations

This is where you define what happens when a caller presses each key. Go to IVR Options or the key mapping section within the IVR you just created. Add one entry per key.

For each key, you’ll set:

  • Key: The digit pressed (0-9, *, #)
  • Action: What happens — options typically include Queue (route to an agent queue), Extension (ring a specific SIP extension), IVR (go to a sub-menu IVR), Voicemail, Hangup, or a callback/recording action
  • Destination: The specific queue, extension, or sub-IVR to route to

Work through every option in your menu map from Step 1. Don’t skip the “0 for operator” entry — callers who can’t find their option will press 0, and if it’s not mapped, they’ll hit the invalid-key prompt and get frustrated.

For the no-input and invalid-key fallbacks, set the action to route to your operator queue after the retry limit is reached. Never let the IVR hang up on a caller who fails to navigate the menu — they had a reason for calling.

Step 5: Configure Sub-Menus (If Needed)

If any of your key options lead to a deeper menu (e.g., pressing 2 for Support takes callers to “Press 1 for ICTContact Cloud, Press 2 for On-Premise”), you need to create a second IVR record and route the parent key to it.

Create the sub-menu IVR the same way you created the parent in Steps 3 and 4. Then go back to the parent IVR’s key mapping, find the key that should trigger the sub-menu, set the action to IVR, and select the sub-menu IVR as the destination.

Each sub-menu should have its own fallback that routes to the operator queue — don’t create dead ends where a caller gets stuck in a sub-menu with no exit. Include a “Press 0 for operator” option or a “Press * to return to the main menu” option in every sub-menu.

Step 6: Assign the IVR to a DID

The IVR doesn’t answer calls until you assign it to an inbound phone number. Go to DID Management (sometimes listed as Inbound Routes or Phone Numbers depending on your ICTContact version). Find the DID you want this IVR to handle and set the routing destination to your IVR.

Save the DID assignment. At this point, calls to that number will hit your IVR. Don’t announce the number to callers until you’ve tested it thoroughly in Step 7.

Check the ICTContact features overview if you’re not sure whether your plan includes multi-DID routing or sub-account IVRs — some configurations are edition-specific.

Step 7: Test Every Path

Call the DID from a real phone. Don’t test from a SIP softphone connected to the same system — test from an external number, ideally a mobile. Work through every path in your menu map:

  • Press each valid key and confirm you reach the expected destination
  • Press an unmapped key and confirm the invalid-key prompt plays
  • Stay silent through the timeout and confirm the fallback prompt plays
  • Exhaust the retries and confirm you end up in the operator queue (not hung up on)
  • If you have sub-menus, test every branch in those as well

Also test from a mobile phone with background noise. TTS prompts and recordings that sound fine in a quiet office sometimes get clipped or sound unclear on compressed mobile audio. If something sounds off, re-record or adjust the TTS script.

Step 8: Monitor and Refine After Go-Live

After the IVR is live, check your IVR reports weekly for the first month. You’re looking for two things: which key options are being pressed most, and where callers are dropping off or timing out.

If a large percentage of callers are pressing 0 for operator instead of navigating the menu, your menu is probably too long, too confusing, or the audio quality is poor. If callers are timing out on the first prompt, the greeting might be too long before the options are presented — front-load the options in the first 10 seconds.

ICTContact’s call reporting gives you per-IVR option press counts. Use that data to reorder your menu so the most-pressed options come first.

Troubleshooting

Callers aren’t hearing the IVR — they go straight to a queue or get a busy signal

Check the DID routing assignment. Go to DID Management, find the number, and confirm it’s pointing to the IVR and not a queue or extension you previously assigned it to. If the DID was recently migrated from a direct queue to an IVR, make sure you saved the new assignment. Also verify the IVR record itself is active — a newly created IVR may need to be set to “enabled” before it takes calls.

Key presses aren’t registering — callers get the invalid-key prompt for valid keys

This is usually a DTMF detection issue. Check whether your SIP trunk is configured to send DTMF as RFC 2833 (the most common) or in-band audio. If your trunk sends RFC 2833 but ICTContact is expecting in-band (or vice versa), key presses won’t be detected. Go to your SIP trunk settings and match the DTMF mode to what your provider specifies. Most providers use RFC 2833 — confirm with your trunk provider if unsure.

IVR audio sounds choppy or cuts off mid-prompt

Check the audio file format and bitrate. ICTContact works best with 8kHz, 16-bit mono WAV files. Files recorded at 44.1kHz stereo will be converted on playback and can sound degraded. Re-export your audio files at the correct spec and re-upload them. Also check server CPU load — if the server is under heavy load, audio processing can stutter.

Calls route correctly but agents in the queue can’t hear the caller

This is a one-way audio issue, almost always caused by NAT traversal problems between the caller’s SIP path and the ICTContact server. Check your STUN server settings and whether ICTContact’s external IP is correctly configured in the SIP settings. If agents hear the caller but not vice versa, the problem is on the agent’s softphone side — check the agent’s local firewall and SIP port settings.

Frequently Asked Questions

How many levels deep can an ICTContact IVR go?

There’s no hard limit on IVR nesting — you can chain sub-IVRs as deeply as your menu structure requires. In practice, anything beyond three levels is too complex for most callers. If your menu tree is that deep, it’s usually a sign that the department structure needs simplifying, not the IVR. Two levels covers almost every legitimate use case.

Can the IVR collect caller input and pass it to an agent?

ICTContact’s IVR can capture DTMF input and use it for routing decisions. Passing that input as data to an agent (e.g., displaying “caller pressed 2 for billing” as a screen-pop) depends on your CRM integration and how ICTContact is configured to log call context. Check the integration documentation for your specific CRM setup.

Can I run different IVR menus at different times of day?

Yes. ICTContact supports time-based routing on inbound DIDs. You can configure the DID to route to your normal IVR during business hours and to a different IVR (or directly to voicemail) outside those hours. Set this up in DID Management under the schedule or time condition settings.

Does ICTContact support speech recognition in the IVR instead of key presses?

DTMF key-press menus are the default and most reliable option. Speech recognition integration depends on the version and configuration of your ICTContact instance. Check the ICTContact product page or contact the support team for your specific deployment’s speech recognition support.

How do I handle callers who call outside business hours?

Create a separate “after-hours IVR” with a different greeting (“Thank you for calling. Our office is currently closed…”) and route the DID to it outside business hours using the time-condition settings. The after-hours IVR should offer callers the option to leave a voicemail rather than just hanging up or playing a message with no action.

ICTContact is contact center software built for inbound, outbound, and blended operations across voice, SMS, and other channels. Learn more about ICTContact and see how it handles everything from IVR routing to live agent management.

Related Resources