Applies to VoipNow 3 and higher!
This article describes all the actions available for an IVR extension and provides several examples of IVR scenarios based on such actions.
IVR actions
Alter CallerID Name with content of variable | You can choose one of the available actions ( This action is recommended if you want to modify the CallerID of the person calling the IVR. For example, you can |
Alter CallerID Name with static value | You can choose one of the available actions ( This action is recommended if you want to modify the CallerID name of the person calling the IVR. For example, you can |
Alter CallerID Number with content of variable | You can choose one of the available actions ( This action is recommended if you want to modify the CallerID number with a specific variable taken from the Record digits to variable action. For example, you can |
Alter CallerID Number with static value | Choose one of the available actions ( This action is recommended if you want to modify the CallerID number of the person calling the IVR with a static value. For example, you can |
CallAPI interactive | You can use the CallAPI mechanism to program the IVR to behave in a certain way using HTTP REST interaction with a remote application. Both request methods are available:
You need to define the URL address you want the IVR to send the request to. For more details, check the CallAPI documentation. |
CallerID Number based jump | This action enables jumping to another context, based on the CallerID number of the received call. This action is recommended if you want to have a call sent to a different context, based on the CallerID number. For example, if the CallerID number is 123456789, then the call will be sent to the selected destination of the specified context. You can also set the context and the destination of the call if the CallerID number is not 123456789. Here are the available options:
Any of these options can be configured with one of the available actions, depending on the purpose of the context. In the example below, if the CallerID number is 123456789, then the call will be sent to option * of context1. If the CallerID number is different, then the call will be redirected to option 4 of context3. |
CallerID Name based jump | This action enables jumping to another context, based on the CallerID name of the received call. This action is recommended if you want to have a call sent to a different context, based on the CallerID name. For example, if the CallerID name is John Doe, then the call will be sent to the selected destination of the specified context. You can also set the context and the destination of the call if the CallerID name is not John Doe. Here are the available options:
Any of these options can be configured with one of the available actions, depending on the purpose of the context. In the example below, if the CallerID name is John Doe, then the call will get sent to option <b2<>of context2. If the CallerID name is different, then the call will be redirected to the start option of context3. |
Set variable | This action is useful if you want to replace the content of a variable with a string. This action is recommended if you want to have the content of the variable replaced with a different string. It can be used when setting the language of the IVR. For more details, see Scenario #1. |
Hangup after [X] seconds | This action allows you to terminate a call within a specific period of time. This action is useful if you want to set specific Timeouts for calls. For example, in a context, you can add a Hangup after X seconds action for the Timeout option. In this way, the call will be hung up after the priorly set number of seconds. |
Jump to context | This action enables jumping to another context, based on the evaluation of a given condition. This action is recommended if you want to evaluate different conditions of a given Recorded variable. For example, if you record a variable such as 1234, then a specific context will be used if that variable satisfies the condition you have selected from the drop-down list. |
Play company directory | This action transfers the call to one of the extensions in the company directory. The caller selects the destination extension through the phone keypad. This action is useful if you know the name of the extension, yet you do not know its number. To see how a directory works, you can dial *22 and follow the instructions. |
Play digits | This action plays one or several sound files to communicate a given value. This action is useful if you want to verify the recorded value. |
Play digits contained in variable | This action plays a given value contained in a variable using one or several sound files. You can associate a numeric value to a variable using the Record digits to variable or the Set variable options. |
Play sound | This action plays a given sound file for the caller. You can select from the drop-down list if you want the sound to be played either in If If |
Record digits to variable | This action stores the digits typed by the caller on the phone keypad to a given variable. You can specify the number of digits to be recorded and the name of the value for the digits. To stop recording after a period of time, you just need to fill in a value in the Stop recording after X seconds of inactivity field. The accepted values range from 1 to 9. The default value is 5 seconds. You can also specify if you want a specific sound to be played before the digits get recorded. |
Set language to content of variable | You can use this action to set the language of the call. All sounds will be played to the caller in the selected language. |
Set language to static value | You can use this action to set the language of the call by using the contents of a given variable. All sounds will be played to the caller in the language that you select from the available drop-down list. |
Time interval based call transfer | Based on the time interval during which the call is received, this action transfers the call to another extension on the client account. |
Time interval based context jump | This action enables jumping to another context, based on the time interval during which the call is received. |
Transfer call to extension number | This action transfers a call to another extension on the client account. This action handles transfers from the IVR to different extensions. Any IVR scenario should include this option among its 0-9 actions. |
Transfer to number contained in variable | This action can transfer the call to another extension on the same client or to an external phone number using the contents of a given variable. |
Wait for [X] seconds | This action introduces a delay between two consecutive actions. |
IVR acenarios
Scenario #1
The call flow is:
- First, call the IVR.
- The welcome sound will be played, asking you to enter the 3-digit short number of the extension and to press
0, 1, 2
to get transferred to the desired extension. - If you do not enter the required number or you do not press
0, 1, 2
, theoptions
context will be played. - If you press
3
, the welcome sound will be played again.
To implement the functionality described earlier, you have to build 2 contexts:
Main Context
Here are the actions for the start
option:
Play sound file in background | Here you will define a message that will be played to the caller. For example:
|
Record digits to variable | Fill in the options as follows: Record 3 digits to variable transfer Stop recording after 3 seconds of inactivity Play before starting recording - This option is not mandatory. |
Transfer call to number contained in variable | Fill in the options as follows: Transfer call to number contained in variable transfer |
Time-interval based context jump | Fill in the options as follows: If in time interval - You must first define the desired interval, for example Jump to context - Select Else jump to context - Select |
The actions for the invalid
option are:
Record digits to variable | Fill in the options as follows: Record 3 digits to variable transferext2 Stop recording after 3 seconds of inactivity Play before starting recording - If you wish, it is not required. |
Options context
The actions for the start
option are:
Play sound in background | As you wish. |
The actions for the timeout
option are:
Play sound in background | As you wish. |
Hangup after [X] seconds | Define a value, for example 5 seconds. |
The actions for the invalid
option are:
Play sound in background | As you wish. |
Time-interval based jump | Fill in the options as follows: Jump to context - Select |
The actions for the 0
option are:
Time-interval based call transfer | Fill in the options as follows: If in time interval - Select the Transfer to - Fill in your front desk extension's number. Else transfer to - Fill in the number of the extension where you want the calls to be transferred to. |
The actions for the 1
option are:
Time-interval based call transfer | Fill in the options as follows: If in time interval - Select the Transfer to - Fill in your front desk extension's number. Else transfer to - Fill in the number of the extension where you want the calls to be transferred to. |
The actions for the 2
option are:
Time-interval based call transfer | Fill in the options as follows: If in time interval - Select the Transfer to - Fill in the number of your back desk extension. Else transfer to - Fill in the number of the extension you want to get calls transferred to. |
The actions for the 3
option are:
Time-interval based context jump | Fill in the options as follows: Jump to context - Select |
Scenario #2
Change the language of playing sounds.
To implement this scenario, you have to build one context with the following actions:
The actions for the start
option are:
Record digits to variable | Fill in the options as follows: Record 1 digits to variable var Stop recording after 9 seconds of inactivity Play before recording starts - This option is not mandatory. This action will store the digits typed by the caller on their phone keypad to a given variable. In our case, it will save 1 digit to variable var. The recording will stop after 9 seconds of inactivity. (The default value is 5 seconds). |
Set variable | Fill in the options as follows: Associate variable var With string pt This will replace the content of the variable with a different string. In our case, the var variable will be replaced with pt. |
Set language to content of variable | Fill in the options as follows: Set language to content of variable 1 This will set the language of the call to the one we set at step 2. If the IVR is called and 1 is typed, then the language will be set to pt. |
Related articles
Except where otherwise noted, content in this space is licensed under a Creative Commons Attribution 4.0 International.