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:

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.