Extension Dialing

Extension Dialing

The ExtensionDialing operation requests the network infrastructure to prompt the caller to enter an “Extension Number”.

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 but the digits do not match one of the configured patterns, the “No Match” exit will be selected.

Otherwise a “Final Destination” number will be assembled from the prefix associated with the first matching pattern and the Extension Number. Termination to that Final 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.

For example, if the entered Extension Number is 100, and that Extension Number matches pattern ^1%d%d$ for which the associated prefix is 4329, termination will be attempted to Final Destination 4329100.

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 an Extension Number that is within the bounds of min_digits and max_digits, and matches one of the patterns specified by destination_patterns.
(Default = 3)
min_digits Integer [Required] The minimum number of digits which may constitute a valid Extension Number.
This value must be <= max_digits.
The Flow Editor requires this value to be in the range of 1-5 inclusive.
max_digits Integer [Required] The maximum number of digits which may constitute a valid Extension Number.
This value must be >= min_digits.
The Flow Editor requires this value to be in the range of 1-5 inclusive.
timeout_seconds Integer The number of seconds that the termination attempt to the Final 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
Object
[Required] The destination_patterns Array must contain one or more Objects.

Config Destination Patterns

The attributes for each ExtensionDialing operation destination_patterns Object are as follows.

Parameter Type Description
pattern Lua Pattern [Required] The Lua pattern that the caller-entered Extension Number must match to attempt termination with the associated prefix and caller-entered Extension Number.
See the notes on Pattern Matching in the Flow Elements Introduction documentation.
prefix String [Required] The prefix to use to build the Final Destination from the caller-entered Extension Number.
The Flow Editor requires that the value of min_digits plus the length of prefix be at least 7.

Example Operation

Here is an example ExtensionDialing operation in JSON representation.

    {
        "id": 5,
        "type": "ExtensionDialing",
        "config": {
            "main_announcement": { "customer_name": "Main Customer", "entry": "Please Enter Extension Number" },
            "reprompt_announcement": { "customer_name": "Main Customer", "entry": "Invalid Input Please Try Again"},
            "min_digits": 3,
            "max_digits": 4,
            "end_character": "none",
            "cancel_character": "none",
            "destination_patterns": [
                { "pattern": "^1%d%d%d$", "prefix": "04434" },
                { "pattern": "^%d%d%d$", "prefix": "044333" }
            ]
        },
        "exits": [ 4, 17, 22 ]
    }

In this example, the caller must enter a three- or four-digit Extension Number. Any three-digit Extension Number is valid; four-digit Extension Numbers must start with 1. The Final Destination will be 044333xyz or 044341xyz.

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