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.

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:
  • A valid Breakout Destination is entered, and
  • The termination attempt to the Breakout Destination results in a Busy or No Such Number response, or the termination attempt is not answered, and
  • The caller is still connected.
1 Insufficient Digits [Required] This exit is followed if:
  • The caller failed to enter a valid Breakout Destination after the maximum number of iterations, and
  • In the last iteration, the caller entered insufficient digits for an Breakout Destination, and
  • The caller is still connected.
2 No Match [Required] This exit is followed if:
  • The caller failed to enter a valid Breakout Destination after the maximum number of iterations, and
  • In the last iteration, the caller entered sufficient digits for a Breakout Destination but the entered digits did not match a Destination Pattern, and
  • The caller is still connected.

In the five-exit configuration:

Exit Index Name Description
0 Busy [Required] This exit is followed if:
  • A valid Breakout Destination is entered, and
  • The termination attempt to the Breakout Destination results in a Busy response, and
  • The caller is still connected.
1 Insufficient Digits [Required] This exit is followed if:
  • The caller failed to enter a valid Breakout Destination after the maximum number of iterations, and
  • In the last iteration, the caller entered insufficient digits for a Breakout Destination, and
  • The caller is still connected.
2 No Match [Required] This exit is followed if:
  • The caller failed to enter a valid Breakout Destination after the maximum number of iterations, and
  • In the last iteration, the caller entered sufficient digits for a Breakout Destination but the entered digits did not match a Destination Pattern, and
  • The caller is still connected.
3 No Answer [Required] This exit is followed if:
  • A valid Breakout Destination is entered, and
  • The termination attempt to the Breakout Destination is not answered, and
  • The caller is still connected.
4 No Such Number [Required] This exit is followed if:
  • A valid Breakout Destination is entered, and
  • The termination attempt to the Breakout Destination results in a No Such Number response, and
  • The caller is still connected.