Extension Dialing
Extension Dialing
The ExtensionDialing
requests the network infrastructure to prompt the caller to enter an
“Extension Number” which will be appended to a configured prefix to give a Final Destination
address. The resulting Final Destination may be checked against a static list of configured
“permitted destination patterns” configured into this operation. If the Final Destination is acceptable,
the call process will attempt to terminate the call to that destination address.
For example: The prefix
is 4329
. The user enters the digits 100
. The Final Destination
for the termination attempt will be 4329100
.
The ExtensionDialing
operation has three exits. If the caller abandons (i.e. hangs up) during
the announcement, no further processing is performed and no exit is followed.
Otherwise, the exits followed are:
- Destination valid but destination gives Busy/NoAnswer.
- Insufficient Digits (caller did not supply sufficient valid digits).
- No Match (caller entered digits, but they did not match a permitted destination).
Config Parameters
The ExtensionDialing
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 on the caller's first attempt to enter input.
|
reprompt_announcement
|
Announcement Object |
[Required] The reprompt_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 on the caller's second and subsequent attempts to enter input.
|
max_iterations
|
Integer |
The maximum number of attempts that the caller may have to enter a valid Extension Number. (Default = 3) |
prefix
|
String |
[Required] This is the string which is prefixed to the user-supplied Extension Number
in order to provide the Final Destination. The value of min_digits plus the length of
prefix must equal at least 7 . I.e. the Final Destination address must be at least
7 digits.
|
min_digits
|
Integer |
[Required] The minimum number of digits which may constitute a valid Extension Number.
This value must be in the range of 1 -5 inclusive and must be <= max_digits . The
value of min_digits plus the length of prefix must equal at least 7 . I.e. the Final
Destination address must be at least 7 digits.
|
max_digits
|
Integer |
[Required] The maximum number of digits which may constitute a valid Extension Number.
This value must be in the range of 1 -5 inclusive and must be >= min_digits .
|
timeout_seconds
|
Integer | The number of seconds for which the Final Destination should be rung before deciding that the call is unanswered and proceeding to the Busy/NoAnswer exit. If there is no processing attached to the Busy/NoAnswer exit, then this timeout value will not be used. If present, this value must be greater than or equal to zero. If absent or if zero, then a system-configured default timeout will be used. |
end_character
|
String |
Controls how the "End of Input" digit is handled when the caller is entering input digits.
This must be either default (use system default behavior), or none (no end of input
digit will apply to this interaction).(Default = default )
|
cancel_character
|
String |
Controls how the "Cancel Input" digit is handled when the caller is entering input digits.
This must be either default (use system default behavior), or none (no cancel of input
digit will apply to this interaction).(Default = default )
|
destination_patterns
|
Array of String |
If this parameter is present then it must be an Array containing one or more patterns against
which the Final Destination address will be validated before allowing the termination attempt
to occur. See the notes on Pattern Matching in the Flow
Elements Introduction documentation. If the destination_patterns parameter is present and the
user-supplied Extension Number does not match any of the listed patterns, then the "No Match"
exit will be followed.(Default = No Checking) |
Example Operation
Here is an example ExtensionDialing
operation in JSON representation.
{
"id": 5,
"type": "ExtensionDialing",
"base_node": 1,
"config": {
"main_announcement": { "set": "General Purpose Anns",
"entry": "Please Enter Extension Number", "repetition": 1 },
"reprompt_announcement": { "set": "General Purpose Anns",
"entry": "Invalid Input Please Try Again", "repetition": 1 },
"prefix": "04432",
"min_digits": 4,
"max_digits": 4,
"end_character": "none",
"cancel_character": "none",
"destination_patterns": [
"04432[7-9]???",
]
},
"exits": [ 4, 17, 22 ]
}
The entered Breakout Destination must be either 044327xyz
, 044329xyz
, or 044329xyz
.
If the caller enters a valid Extension Number, but termination attempt gives Busy/NoAnswer then processing
will continue down exit index 0
to operation ID 4
.
If the caller cannot provide sufficient digits to form a Extension Number after three attempts, processing will
continue down exit index 1
to operation ID 17
.
If the caller provides sufficient digits to form a Extension Number, but the entered digits do
not match a valid destination number/pattern from the destination_patterns
Array, processing will
continue down exit index 2
to operation ID 22
.
Exits
There are always exactly three exits for an ExtensionDialing
operation.
Exit Index | Name | Description |
---|---|---|
0
|
Busy/NoAnswer | [Required] This exit is followed if the caller successfully entered a recognised Extension Number, but the termination attempt to the Final Destination gives a Busy/NoAnswer result. |
1
|
Insufficient Digits | [Required] This exit is followed if the caller failed to enter an acceptable number of digits for a Extension Number after the maximum number of iterations, and is still connected at the end of the interaction. |
1
|
No Match |
[Required]
This exit is followed if the caller entered an acceptable number of digits for
a Extension Number, but the Final Destination fails validation against
the destination_patterns list.
|