IVR (Interactive Voice Response) is a telephony technology in the telecom industry allowing customers to interact with the host system in real-time through a configurable voice menu using the caller’s DTMF tones.
When accessing the IVR system, customers are usually prompted with a welcome message and provided with different destinations where they can be redirected by pressing appropriate digit(s).
IVR systems are used in many industries where customers need to interact with the system to access appropriate service or departments without passing by a receptionist, such as in banks, call centers, customer services companies, hotels, insurance companies, hospitals, and more.
In other words, IVR can be considered as a digital receptionist with no need for a receptionist. IVR can be also used in conjunction with an office receptionist.
This document introduces the configuration of the IVR on the Grandstream IP-PBX series with examples illustrating the use of its features.
IVR CONFIGURATION
Using the Grandstream IP-PBX series, administrators can create up to 500 IVR instances, with each IVR supporting up to 64 menu levels (layers).
Please refer to the following paragraphs in order to configure the IVR on the Grandstream IP-PBXs:
Configuring Basic Settings
IVR features menu is accessible under Web GUI→Basic Call Features→IVR. On this page users can:
- Click on the pencil icon to edit the IVR configuration (if available).
- Click on the trash icon to delete the IVR (if available).
- Click on the Add button to add an IVR.
To configure an IVR, please refer to the steps below:
- Press the “Add” button to create a new IVR, or the “Edit” icon to configure an existing IVR.
- You will be redirected to IVR configuration interface as displayed on the following screenshot.
- Configure the basic IVR settings described in the following table:
General | |
Name | Configures the name of the IVR. Letters, digits, _ and – are allowed. |
Extension | Specifies the extension number for users to access the IVR. |
Auto Record | If enabled, calls to this IVR will automatically be recorded. |
Prompt Language | Select the voice prompt language for this extension. If set to “Default”, the system-wide Voice Prompt language will be used. This setting applies only to system prompts and does not affect the language of custom prompts. |
Prompt | Selects the audio file to be played as the IVR welcome prompt. Up to 5 welcome prompts can be configured per IVR. Click “Upload Audio File” to upload a prompt from your device. You may also choose a previously uploaded prompt from Web GUI→PBX Settings→Voice Prompt→Custom Prompt (Please refer to Create Custom Prompt). |
IVR Webhook | |
IVR Webhook | If enabled, call event notification and call control can be achieved via URL. Using webhooks, the user can send requests to a specific server to perform actions through DTMF. |
Target URL | Target URL address for receiving notification commands as well as sending operation commands. It needs to be the full URL of the web server, static parameters and pages can be included. |
Username | Enter the username used to connect to the target URL. |
Password | Enter the password used to connect to the target URL. |
Call Event | Select the call events to notify the IVR about. The options are:
|
Call Control | If enabled, the predefined IVR flow for the destination URL will be followed. Configurations related to the original IVR flow such as dialed numbers, key events, etc. will be disabled. |
Timeout Time (s) | Configure the timeout time for receiving call control, default 2 seconds, the system tries up to three times after the timeout. |
Dialed Number | |
Dial Other Extensions | Controls the destination that can be reached by the external caller via the inbound route. In other words, if enabled, callers can dial an extension number when accessing IVR and the call will be redirected to entered extension destination. The available destinations are:
|
Dial Block/Allowlist | Controls whether external numbers dialed from the IVR are restricted. The options are:
|
Internal Block/Allowlist | Used to select specific internal destinations (extensions only) that are allowed or blocked when Dial Block/Allowlist is set to “Allowlist” or “Blocklist”. Up to 500 extensions are allowed on the blocklist/allowlist. |
Timeout/Invalid Settings | |
Digit Timeout (s) | After the user enters a digit, the user needs to enter the next digit within the timeout. If no digit is detected within the timeout, the PBX will consider the entries complete. The default timeout is 3 seconds. |
Response Timeout (s) | Timeout occurs when no DTMF entry is detected for the configured number of seconds after the IVR finishes playing the prompts. |
Response Timeout Prompt | Play the selected prompt if response timeout occurs. Click “Upload Audio File” to upload a prompt from your device. You may also choose a previously uploaded prompt from Web GUI→PBX Settings→Voice Prompt→Custom Prompt (Please refer to Create Custom Prompt). |
Response Timeout Prompt Repeats | Number of times to repeat the prompt. |
Invalid Input Prompt | Play the selected prompt if an invalid extension is entered. Click “Upload Audio File” to upload a prompt from your device. You may also choose a previously uploaded prompt from Web GUI→PBX Settings→Voice Prompt→Custom Prompt (Please refer to Create Custom Prompt). |
Invalid Input Prompt Repeats | Number of times to repeat the prompt. |
PMS Wake-Up Call Service Mode | |
PMS Wake-Up Call Service Mode | If enabled, this IVR can be used with Wakeup Service to send notifications to specified destinations based on caller key presses. If enabled, key events will only be supported in standard mode. Time conditions will not be supported. |
Other Settings | |
Replace Display Name | If enabled, the PBX will replace the caller display name with the IVR name the caller know whether the call is incoming from a direct extension or an IVR. |
Return to IVR Menu | If enabled and if a call to an extension fails, the caller will be redirected to the IVR menu. |
Alert-Info | When present in an INVITE request, the alert-Info header field specifies an alternative ring tone to the UAS. |
Configuring Key Pressing Events
This section describes how to configure IVR key pressing events to control call routing based on caller input and time conditions.
The IP-PBX allows administrators to define actions for both standard and custom key events, ensuring that calls are directed to the appropriate destinations according to business hours, holidays, or specific schedules.
Standard Key Event
Standard Key Events define the default IVR actions triggered when a caller presses a single DTMF key (for example, 0–9 or *). Each standard key can be mapped to a destination and evaluated against time conditions, allowing the same key to route calls differently depending on the current system time.
To manage IVR key events, navigate to the Key Pressing Events tab, as shown below. From this page, administrators can configure destinations for each key, define time conditions, and control how calls are handled based on the active schedule.
The following table describes available options that can be assigned for Standard Key Pressing Events:
Key Event Type | Select Standard to configure single-key DTMF events (0–9, *). This mode supports time-based routing per key. |
Key (0–9, *) | Each section corresponds to a specific DTMF key (for example, Key 0, Key 2). Configuration under a key defines how calls are routed when that key is pressed. |
Destination | Select the destination type and target for the key event. Supported destinations include:
|
Time Condition | Assign a time condition to each destination entry. The IVR evaluates the time conditions in order and routes the call to the first matching rule. Common options include All Time, Office Time, Out of Office Time, Holiday, and Specific Time. Note: A single key can contain multiple destination entries with different time conditions (up to five). Users can click the (+) icon to add another destination with a different time condition for the same key, or the (–) icon to remove an existing rule. |
Timeout | Configures the destination when the Timeout Repeat Loop is done. Note: A single key can contain multiple destination entries with different time conditions (up to five). Users can click the (+) icon to add another destination with a different time condition for this option, or the (–) icon to remove an existing rule. |
Invalid | Configures the destination when the Invalid Repeat loop is done. Note: A single key can contain multiple destination entries with different time conditions (up to five). Users can click the (+) icon to add another destination with a different time condition for this option, or the (–) icon to remove an existing rule. |
Custom Key Event
Custom Key Events allow administrators to define advanced IVR key combinations beyond single-digit DTMF input, providing greater flexibility in call routing and IVR design.
To configure custom key events, navigate to the Key Pressing Events tab and select Custom as the Key Event Type. From this page, administrators can define custom key combinations, assign destinations, and apply time conditions to control call behavior based on schedules.
The following options are available for Custom Key Pressing Events:
Key Event Type | Select “Custom” to configure multi-digit DTMF key combinations. This mode supports time-based routing and advanced IVR logic. |
Key | Defines the DTMF key combination that triggers the event. Notes:
|
Destination | Select the destination type and target for the custom key event. Supported destinations include:
|
Time Condition | Assign a time condition to each destination entry. The IVR evaluates the time conditions in order and routes the call to the first matching rule. Common options include All Time, Office Time, Out of Office Time, Holiday, and Specific Time. Note: A single key can contain multiple destination entries with different time conditions (up to five). Users can click the (+) icon to add another destination with a different time condition for the same key, or the (–) icon to remove an existing rule. |
Timeout | Configures the destination when the Timeout Repeat Loop is done. Note: A single key can contain multiple destination entries with different time conditions (up to five). Users can click the (+) icon to add another destination with a different time condition for this option, or the (–) icon to remove an existing rule. |
Invalid | Configures the destination when the Invalid Repeat loop is done. Note: A single key can contain multiple destination entries with different time conditions (up to five). Users can click the (+) icon to add another destination with a different time condition for this option, or the (–) icon to remove an existing rule. |
Configuring IVR Voice Prompts
IVR voice prompts can be customized to match business requirements by recording new prompts or uploading audio files. Once added, custom prompts are stored on the IP-PBX and become available for selection across IVR configurations, including welcome prompts and key pressing events.
Voice prompts can be created or managed from Web GUI→PBX Settings→Voice Prompt→Custom Prompt, or directly from IVR configuration pages where a prompt parameter is available.
Prompts on IVR can be customized/personalized at the customer’s convenience by either recording or uploading new prompts.
Recording Custom Prompts
Administrators can record a new voice prompt directly through the IPPBX by following the instructions below:
- Navigate to Web GUI→PBX Settings→Voice Prompt→Custom Prompt.
- Click the “Record” button.
- Specify a name for the prompt file.
- Select the recording format (GSM or WAV).
- Select the Extension that will receive the recording call.
- Click “Record”. The IP-PBX will place a call to the selected extension.
- Answer the call and follow the voice instructions to complete the recording.
Once completed, the recorded prompt will appear in the Custom Prompt list, where it can be played, re-recorded, downloaded, or deleted.
Uploading Custom Prompts
Users can also upload a pre-recorded audio file by following the instructions below:
- Navigate to Web GUI→PBX Settings→Voice Prompt→Custom Prompt and use the “Upload” button, or click Upload Audio File directly from an IVR prompt parameter.
- Select the audio file from the local device and upload it. Uploaded prompts are added to the Custom Prompt list and can be reused across multiple IVRs.
IVR Webhook
The IVR Webhook feature allows external systems to receive IVR call events and optionally control IVR call flow in real time using HTTP/HTTPS requests. When enabled, the IP-PBX sends call-related notifications (such as incoming calls, DTMF input, or call termination) to a specified server endpoint.
IVR Webhook can be used to integrate the IVR with third-party applications, CRM systems, workflow engines, or custom business logic platforms.
When Call Control is enabled, the external system can dynamically control the IVR behavior by returning action commands (for example, play prompts, redirect calls, or hang up), and the predefined IVR logic, including key pressing events and dialed numbers, will be bypassed.
Wake-Up Call IVR
The Wake-Up Call IVR feature is designed for hospitality environments and works in conjunction with the Local PMS (Property Management System) on the Grandstream IP-PBX series. It allows scheduled wake-up calls to interact with guests using IVR prompts and key presses.
When PMS Wake-Up Call Service Mode is enabled on an IVR, the wake-up call can:
- Play customized wake-up prompts
- Accept DTMF input from the guest
- Trigger voicemail or email notifications based on guest responses
- Route calls to specific IVR destinations
Only IVRs with PMS Wake-Up Call Service Mode enabled can be selected as Wake-Up Call IVR strategies in the PMS wake-up service configuration.
Accessing IVR Menu
To access the IVR menu, users can either call directly the IVR’s extension or configure it as default destination for incoming calls via trunks using inbound routes.
To configure the default destination of the inbound routes, please refer to the following steps:
- Access the web GUI of the IP-PBX.
- Navigate to Extension/Trunk→Inbound routes.
- Under default mode section, configure “Default destination” to the IVR configured as displayed on following figure.
IVR Application Examples
This section illustrates IVR application examples in different scenarios.
Example 1: Basic IVR System
The company ABC needs to have an IVR allowing callers to be redirected to different departments (sales, marketing, support…).
In this scenario we will assume the following:
- Inbound route is configured to redirect all the incoming calls to IVR-SC1.
- Calls redirected to sales will be handled by sales agents. (Sales_Ring_Group).
- Calls redirected to marketing will be handled by a marketing agent. (Marketing_Extension (2002)).
- Calls redirected to support will be handled by a support engineer. (Support_Call_Queue).
- Calls redirected to customer services will be handled by customer service agents. (Customers_Service_Ring_Group).
- Calls redirected to after sales service will be handled by a sales agent. (Sales_Call_Queue).
- Calls redirected to manager’s assistant will be handled by an assistant. (Manager_Extension (2001)).
We assume that all ring groups, call queues, extensions, inbound routes used in this example are previously configured.
In order to fulfill company ABC requirements, we need to create an IVR “IVR-SC1” and configure “Key Pressing Events”.
The following screenshots show needed configuration on “IVR-SC1” including “Key Pressing Events” settings:

Example 2: Multi-layer IVR System
The same company ABC (in scenario 1) wants to upgrade its IVR system allowing the support of multilanguage, so customers can select a specific language to be used when playing prompts.
To achieve this, company ABC needs to create different IVRs and use IVR layers supported on the Grandstream IP-PBXs (64 layers supported).
We will assume the following:
- The inbound routes are configured to redirect all the incoming calls to IVR-SC2.
- If user select English language, the call will be redirected to IVR-SC1-English.
- If user select French language, the call will be redirected to IVR-SC1-French.
- If user select Spanish language, the call will be redirected to IVR-SC1-Spanish.
- If user select German language, the call will be redirected to IVR-SC1-German.
First, we need to create different IVRs (in different languages) with the same configuration as shown in the previous example, with the “Language” option set and voice prompts uploaded/recorded in the appropriate language.
The IVRs created are IVR-SC1-English (7002), IVR-SC1-French (7003), IVR-SC1-Spanish (7004), and IVR-SC1-German (7005).
Then, we create “IVR-SC2” (7001) which will be the main IVR, and configure “Key Pressing Events” to connect to specific IVR depending on the language selected. IVR-SC2 will be using “Default” language.
Once the caller dials the company’s number, the IVR plays a greeting message and invites him to select the desired language, and then, the IVR will play selectable menu items.
The following screenshot displays the different IVRs created.
Please refer to the following screenshot describing the basic configuration of IVR-SC2:
The following screenshot shows “Key Pressing Events” settings on IVR-SC2 allowing redirection to other IVRs depending on the customer’s choice.
Please refer to the following diagram explaining the IVR application in detail.

Example 3: IVR System based on Time
The same company ABC (in previous examples) wants to upgrade again its IVR system with one IVR accessible during office time, and another one accessible out of office time.
To achieve this, company ABC needs to create different IVR (IVR-SC3 for out office time).
We will assume the following:
- The “office time” has been previously set and inbound routes are configured to route incoming calls during office time to IVR-SC2, and to IVR-SC3 during out of office time.
Notes:
- For more details about how to manage the inbound route, please refer to following guide:
https://documentation.grandstream.com/knowledge-base/how-to-manage-inbound-outbound-routes/ - For more details about how to configure the office time, please refer to following guide:
https://documentation.grandstream.com/knowledge-base/managing-office-time-holidays/ - IVR-SC3 will play a welcome and greeting message and then inform the caller about out of office time using a specific prompt message named in our example as “Out of office message” and then it will play a selectable menu items.
- If users select first choice, the call will be redirected to the Voice Mail.
- If users select second choice, the call will be redirected to an External Emergency Number (001122334455)
The following screenshots show needed configuration on “IVR-SC3” including “Key Pressing Events” settings:
Please refer to the following diagram explaining the IVR application in detail.



















