IVR actions ​
WARNING
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 ​
| Action | Description |
|---|---|
| Alter CallerID Name with content of variable | You can choose one of the available actions (Prepend, Append, Replace) to modify the CallerID name using a recorded variable. This action is recommended if you want to modify the CallerID of the person calling the IVR. For example, you can Prepend the CallerID name with the sales value, recorded with the Record digits to variable action. |
| Alter CallerID Name with static value | You can choose one of the available actions (Prepend, Append, Replace) to modify the CallerID name using a static value. This action is recommended if you want to modify the CallerID name of the person calling the IVR. For example, you can Prepend the CallerID name with the Sales value. When a call is placed to the IVR and then transferred to the Sales extension, the CallerID name will be read: Sales{callerid_name}, where {callerid_name} is the initial CallerID name. |
| Alter CallerID Number with content of variable | You can choose one of the available actions (Prepend, Append, Replace) to modify the CallerID using a recorded variable. 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 Prepend the CallerID number with the recorded value 021. When a call is made, the CallerID number will contain 021. |
| Alter CallerID Number with static value | Choose one of the available actions (Prepend, Append, Replace) to modify the CallerID using a static value. 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 Prepend the CallerID with the 12345 value. When a call is placed to the IVR and then transferred to an extension, the CallerID number will be read: 12345{callerid_number}, where{callerid_number} is the initial CallerID number. |
| 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:
|
| 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:
|
| 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:
|
| 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 . |
| 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 background or in foreground. If foreground is selected, then the caller will have to wait for the whole sound to be played before initiating a new action. If background is selected, then the caller can stop the sound by pressing a key and other actions may be initiated. |
| 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 scenarios ​
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, 2to get transferred to the desired extension. - If you do not enter the required number or you do not press
0, 1, 2, theoptionscontext 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:
| Action | Description |
|---|---|
| Play sound file in background | Here you will define a message that will be played to the caller. For example: Thank you for calling company X. If you know your party's 3-digit extension, please dial it now. For front desk dial 1, for back desk dial 2, and for the operator dial 0. |
| 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 Full month. Jump to context - Select Options, at option - select start. Else jump to context - Select main, at option - select start. |
The actions for the invalid option are:
| Action | Description |
|---|---|
| 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:
| Action | Description |
|---|---|
| Play sound in background | As you wish. |
The actions for the timeout option are:
| Action | Description |
|---|---|
| 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:
| Action | Description |
|---|---|
| Play sound in background | As you wish. |
| Time-interval based jump | Fill in the options as follows: Jump to context - Select Options, at option - select start. |
The actions for the 0 option are:
| Action | Description |
|---|---|
| Time-interval based call transfer | Fill in the options as follows: If in time interval - Select the Full month interval. 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:
| Action | Description |
|---|---|
| Time-interval based call transfer | Fill in the options as follows: If in time interval - Select the Full month interval. 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:
| Action | Description |
|---|---|
| Time-interval based call transfer | Fill in the options as follows: If in time interval - Select the Full month interval. 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:
| Action | Description |
|---|---|
| Time-interval based context jump | Fill in the options as follows: Jump to context - Select Options, at option - Select start. |
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:
| Action | Description |
|---|---|
| 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. |