Breakout Dialing
Breakout Dialing
The BreakoutDialing operation requests the network infrastructure to prompt the caller to enter a
complete “Breakout Destination” address.
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 does not enter a sufficient number of digits (according to the minimum and maximum configured for the operation instance), the “Insufficient Digits” exit will be selected.
If sufficient digits are entered, one or more patterns are configured, and the digits do not match one of the configured patterns, the “No Match” exit will be selected.
Otherwise termination to the Breakout Destination will be attempted. If the termination attempt is answered, no further processing is performed and no exit is followed. Otherwise the exit associated with the termination attempt result will be selected.
Note that when included in the flow for a service, this operation has the potential to allow callers to
make free calls to arbitrary destination numbers. Therefore a BreakoutDialing operation should
always be protected by a preceding PinAuthorisation or AccountCodeEntry operation, and destination
pattern configuration should be applied to restrict valid destination numbers appropriately.
Config Parameters
The BreakoutDialing 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 Breakout Destination that
is within the bounds of min_digits and max_digits, and matches
one of the patterns specified by destination_patterns (if any).(Default = 3) |
min_digits
|
Integer |
[Required] The minimum number of digits which may constitute a valid Breakout Destination. This value must be <= max_digits.The Flow Editor requires this value to be in the range of 6-20 inclusive.
|
max_digits
|
Integer |
[Required] The maximum number of digits which may constitute a valid Breakout Destination. This value must be >= min_digits.The Flow Editor requires this value to be in the range of 6-20 inclusive.
|
timeout_seconds
|
Integer | The number of seconds that the termination attempt to the Breakout Destination should allow for ringing before selecting the no-answer exit if the destination does not answer. If present, this value must be greater than or equal to zero. If absent, a system-configured default timeout will be used. |
end_character
|
String |
Specifies the "End of Input" digit or handling. If default, the system-default End-of-Input digit will be used.If none, no End-of-Input digit will be used.Otherwise the specified telephony digit will be used to indicate end of input. (Default = default)
|
cancel_character
|
String |
Specifies the "Cancel Input" digit or handling. If default, the system-default Cancel digit will be used.If none, no Cancel digit will be used.Otherwise the specified telephony digit will be used to cancel input. (Default = default)
|
destination_patterns
|
Array of Lua Pattern |
If this parameter is present then it must be an Array containing one or more Lua patterns against
which the Breakout Destination 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
caller-entered Breakout Destination does not match any of the specified patterns, the "No Match"
exit will be followed.(Default = No Checking) |
Example Operation
Here is an example BreakoutDialing operation in JSON representation.
{
"id": 5,
"type": "BreakoutDialing",
"config": {
"main_announcement": { "customer_name": "Main Customer", "entry": "Please Enter Breakout Destination" },
"reprompt_announcement": { "customer_name": "Main Customer", "entry": "Invalid Input Please Try Again" },
"max_iterations": 2,
"min_digits": 9,
"max_digits": 12,
"end_character": "none",
"cancel_character": "none",
"destination_patterns": [
"^04432[7-9]%d%d%d$",
"^063581140$"
]
},
"exits": [ 4, 17, 22 ]
}
In this example, the valid Breakout Destinations that the caller may enter are 044327xyz, 044328xyz, 044329xyz, or 063581140.
- If the caller does not provide at least
9digits (min_digits) to form a Breakout Destination after2attempts (max_iterations), processing will continue via exit index1to the operation with ID17`. - If the caller provides at least
9digits (min_digits) to form a Breakout Destination but the entered digits do not match apatternfrom thedestination_patternsArray after2attempts (max_iterations), processing will continue via exit index2to the operation with ID22. - If the caller enters a valid Breakout Destination that is not routable, busy, or
does not answer, processing will continue via exit index
0to the operation with ID4. - If the caller abandons or the caller enters a valid Breakout Destination that answers, processing is complete.
Exits
This operation may be configured with either 3 or 5 exits.
In the three-exit configuration:
| Exit Index | Name | Description |
|---|---|---|
0
|
Busy / No Answer / No Such Number |
[Required]
This exit is followed if:
|
1
|
Insufficient Digits |
[Required]
This exit is followed if:
|
2
|
No Match |
[Required]
This exit is followed if:
|
In the five-exit configuration:
| Exit Index | Name | Description |
|---|---|---|
0
|
Busy |
[Required]
This exit is followed if:
|
1
|
Insufficient Digits |
[Required]
This exit is followed if:
|
2
|
No Match |
[Required]
This exit is followed if:
|
3
|
No Answer |
[Required]
This exit is followed if:
|
4
|
No Such Number |
[Required]
This exit is followed if:
|