VAD (Voice Application Designer). Part 2 components (Call Related)
- Tutorial

Let's talk about the components that are available in the constructor and at the end a small example of the described components. For convenience, the components are divided into three categories:
1. Call Related (call management)
2. Control Structures (structure management)
3. Advanced (additional features
Call Related Category .
The set of components that are responsible for call control depending on the routing or on the DTMF send from the caller.

And now in order.
Menu
Component of the selection menu. The basis of the IVR tree, with the ability to select which buttons to use:
Component Settings:

- Allow Barge In - enable or disable extension dialing, as well as the ability to use the IVR menu.
- Timeout (secs) - timeout after which a special message will be played (TimeoutPrompts).
- Max Retry Count - the number of repetitions of the played sound file.
- Option 0-1, *, # - buttons that can be programmed for a specific action for use on the telephone keypad.
In addition, in the Menu component, you need to select sound files for different events:


- InitialPrompts - start greeting.
- InvalidDigitPrompts - message if unused numbers have been entered.
- SubsequentPrompts - a voice message that can be played in addition to the main greeting after the value specified in the Max Retry Count field or between. For example, you are instructed to play the greeting 3 times, but you understand that if the greeting is played twice already, then something is probably wrong and you can offer an alternative option, for example, inform about a hidden menu or give some kind of hint :

- MinTryCount - adjustable value. Indicates how many times to insert an additional sound file after playing the main greeting.
TimeoutPrompts - a message that plays if no actions have been entered.
User input
A component that is responsible for the ability to dial an extension number or any other number of digits, depending on the task of this component.
Component Settings:

- Allow Barge In - enable or disable extension dialing, as well as the ability to use the IVR menu.
- Max Retry Count - the number of repetitions of the played sound file.
- First Digit Timeout (secs) - timeout before entering the first digit.
- Inter Digit Timeout (secs) - timeout between entering numbers.
- Final Digit Timeout (secs) - waiting time before dialing, if the number is dialed within the limits
- Min Digits - the minimum length of a valid number
- Max Digits - the maximum length of a valid number
- Stop Digit - forced dialing of digits
- Valid Digits - numbers are valid for dialing. If a number prohibited for dialing has been used, the corresponding notification will be played.
It has a setting for voice messages, a complete analogy as for the Menu component .
Prompt playback
A component that is responsible for inserting a variety of voice messages, with the ability to enable or disable typing characters while playing a file.
Component Settings:

- Description - description of the component.
- Enabled - Turn on / off the component.
- (Name) - The name of the component must be unique within the project.
- AllowBargeIn - Allows or denies dialing numbers.
- Prompts - select a sound file.
Record
The component that is responsible for recording conversations.
Component Settings:

- Emit beep just prior to recording - whether to play the “beeeep” signal before recording starts
- Maximum Time (secs) - limit on the maximum recording time. In this example, if the conversation lasts more than 60 seconds, then everything above 60 seconds will not be recorded.
- Final Silence (secs) - end the conversation recording if the system automatically ends the recording within the specified time (10 seconds in the example).
- Terminate by DTMF - add. option, with it you can enable recording to end by pressing a specific button or by dialing a specific digital value.
- Save to file and File Name - properties can be set using an expression. In order to create an expression for these properties, use the "Expression Editor" button on the right side:

Transfer
The component that is responsible for transferring the call to a specific number or to the buffer or to any other accessible place where the dialed number is processed:
Component Settings:

You can redirect a call:
- Javascript Expression - Java Expression
- Variable - options available on the current CallFlow (i.e., all available components on the current workspace are taken into account)
- VAD Expression - expressions used by VAD, predefined expressions:

Disconnect call
Component call termination.
The component does not have any subtle settings, but simply turns on or off.
An example of constructing a simple IVR menu:

This IVR provides:
1. An incoming call
2. Next, a message that suggests either connecting to the "Managers" queue or pressing the "2" button to dial the extension number.
3. After clicking on the “2” button, the client goes to a separate menu where he is allowed to dial the extension number, I want to note that in the main menu he is prohibited from dialing extension numbers.
4. Further, if he dials the correct extension number, the PBX will connect the client to the extension, if not the board, then the system will inform that the client has dialed the wrong extension number and end the call.
5. If the client has not dialed anything, the system will issue a voice message provided for the timeout action.
Here is such a simple IVR menu, you can collect in 5 minutes and make restrictions on dialing.
In the next article, I will talk about the capabilities of the Control Structures components .