Menu
Menu
The Menu operation selects an exit according to the digit entered by the caller when prompted. It
supports some special handling for “Fast Time-Out”.
The Menu operation must have at least one exit. The Menu operation is only useful when it has
more than one exit, although this is not enforced by the operation definition.
If the caller abandons (i.e. hangs up) at any point in the operation, no further processing is performed and no exit is followed. If the caller enters a digit that is associated with an exit, that exit will be followed. Otherwise the “None” exit will be followed.
Config Parameters
The Menu operation config attributes are as follows.
| Parameter | Type | Description |
|---|---|---|
main_announcement
|
Announcement Object |
[Required] The main_announcement parameter is an Object using the shared announcement configuration
structure as defined in the Flow Introduction documentation. This
announcement is played as the prompt for all caller input attempts.
|
timeout_announcement
|
Announcement Object |
[Required] The timeout_announcement parameter is an Object using the shared announcement configuration
structure as defined in the Flow Introduction documentation. This
announcement is played when input fails due to a timeout expiry on input.
|
bad_digit_announcement
|
Announcement Object |
[Required] The bad_digit_announcement parameter is an Object using the shared announcement configuration
structure as defined in the Flow Introduction documentation. This
announcement is played when input fails due to the caller entering an unrecognised digit.
|
max_iterations
|
Integer |
The maximum number of attempts that the caller may have to enter a valid digit. (Default = 3) |
digits
|
Array of Object |
[Required] The digits Array must contain zero or more Objects.
|
Config Digits
The attributes for each Menu operation digits Object are as follows.
| Parameter | Type | Description |
|---|---|---|
digit
|
Character |
[Required] The single input digit which the caller must enter
using DTMF in order to select the associated exit. The permitted values for this
digit are the telephony digits and T. See the following notes for
an explanation of the interpretation of the T digit.
|
exit_idx
|
Integer |
[Required] The zero-based index number of the exit to select when the caller input matches digit.
|
The telephony digits all follow their natural interpretations. If a matching digit is entered, the associated exit is immediately followed.
Digit T indicates a “fast timeout rule”. If the caller does not enter any digit
when first prompted to do so, the presence of a T digit will cause the associated exit
to be followed. (No further prompting will occur.) When no T digit is specified, the
caller will be re-prompted until a digit is entered or max_iterations is reached and
the None exit is followed.
Example Operation
Here is an example Menu operation in JSON representation.
{
"id": 5,
"type": "Menu",
"config": {
"main_announcement": {
"customer_name": "Main Customer",
"entry": "16740"
},
"timeout_announcement": {
"customer_name": "Main Customer",
"entry": "16698"
},
"bad_digit_announcement": {
"customer_name": "Public Announcements",
"entry": "50"
},
"max_iterations": 3,
"digits": [
{ "digit": "1", "exit_idx": 1 }
]
},
"exits": [ 4, 17 ]
}
In this example, if the caller enters digit 1, processing will continue via exit index 1 to the operation with ID 17.
If the caller enters any other digit or no digits, processing will continue via exit index 0 to the operation with ID 4 (possibly after re-prompting).
Exits
The first exit is always the “None” exit.
| Exit Index | Name | Description |
|---|---|---|
0
|
Exit #1 (None) |
[Required]
All Menu operations must have at least one exit.
|
1
|
Exit #2 + | Additional exits may be present. |