Guest

Cisco Small Business Voice Gateways and ATAs

Getting to Know Dial Plan Parameters


Document ID: 108727


Contents

Introduction
What is a Dial Plan and what are its configurable parameters?
Related Information

Introduction


This article is one in a series to assist in the setup, troubleshooting, and maintenance of Cisco Small Business products (formerly Linksys Business Series).

Q. What is a Dial Plan and what are its configurable parameters?

A.

The SPA allows each line to be configured with a distinct dial plan. The Dial Plan specifies how to interpret digit sequences dialed by the user and convert those sequences into an outbound dial string. The SPA syntax for the dial plan closely resembles the corresponding syntax specified by MGCP and MEGACO. Some extensions that are useful on an end-point are added.

The dial plan function is regulated by the following configurable parameters:

  • Interdigit_Long_Timer
  • Interdigit_Short_Timer
  • Dial_Plan ([1] and [2])

Note: Other timers are configurable via parameters, but do not directly pertain to the dial plan itself.

Getting to Know Interdigit Long Timers
The Interdigit_Long_Timer specifies the default maximum time (in seconds) allowed between dialed digits, when no candidate digit sequence is complete.

Getting to Know Interdigit Short Timers
The Interdigit_Short_Timer specifies the default maximum time (in seconds) allowed between dialed digits, when at least one candidate digit sequence is completed as dialed.

Getting to Know Dial Plan[1] and Dial Plan[2]
The Dial_Plan parameters contain the actual dial plan scripts for lines 1 and 2.

Getting to Know Dial Plan Digit Sequences
The plans contain a series of digit sequences, separated by the | character.  The collection of sequences is enclosed in parentheses (' and ').

When a user dials a series of digits, each sequence in the dial plan is tested as a possible match. Matching sequences form a set of candidate digit sequences. As more digits are entered by the user, the set of candidates diminishes until only one or none are valid.

Any one of a set of terminating events triggers the SPA to either accept the user-dialed sequence and transmit it to initiate a call or reject it as invalid. The terminating events are:

  • No candidate sequences remain

The number is rejected.

  • Only one candidate sequence remains and it has been matched completely

The number is accepted and transmitted after any transformations indicated by the dial plan unless the sequence is barred by the dial plan (barring is discussed later), in which case, the number is rejected.

  • A timeout occurs

The digit sequence is accepted and transmitted as dialed if incomplete, or transformed as per the dial plan if complete.

  • An explicit 'send' (user presses the '#' key)

The digit sequence is accepted and transmitted as dialed if incomplete, or transformed as per the dial plan if complete.

The timeout duration depends on the matching state. If no candidate sequences are as yet complete (as dialed), the Interdigit_Long_Timeout applies. If a candidate sequence is complete, but there exists one or more incomplete candidates, then the Interdigit_Short_Timeout applies.

Note: The white space is ignored and may be used for readability.

Getting to Know Digit Sequence Syntax
Each digit sequence within the dial plan consists of a series of elements, which are individually matched to the keys pressed by the user. Elements can be one of the following:

  • Individual keys '0', '1', '2' . . . '9', '*', '#'.
  • The letter 'x' matches any one numeric digit ('0' .. '9')
  • A subset of keys within brackets (allows ranges): '[' set ']' (e.g. [389] means '3' or '8' or '9')
    • Numeric ranges are allowed within the brackets: digit '-' digit (e.g. [2-9] means '2' or '3' or ... or '9')
    • Ranges can be combined with other keys: e.g. [235-8*] means '2' or '3' or '5' or '6' or '7' or '8' or '*'.

Getting to Know Element Repetition
Any element can be repeated zero or more times by appending a period ('.' character) to the element. Hence, "01." matches "0.", "01.", "011.", "0111.", etc.

Getting to Know Subsequence Substitution
A subsequence of keys (possibly empty) can be automatically replaced with a different subsequence using an angle bracket notation '<', dialed-subsequence ':', and transmitted-subsequence '>'. For example "<8:1650>xxxxxxx" would match "85551212" and transmit "16505551212".

Getting to Know Intersequence Tones
An "outside line" dial tone can be generated within a sequence by appending a ',' character between digits. Thus, the sequence "9, 1xxxxxxxxxx" sounds an "outside line" dial tone after the user presses '9', until the '1' is pressed.

Getting to Know Number Barring
A sequence can be barred (rejected) by placing a '!' character at the end of the sequence.  Thus, "1900xxxxxxx!"  automatically rejects all 900 area code numbers from being dialed.

Getting to Know Interdigit Timer Master Override
The long and short interdigit timers can be changed in the dial plan (affecting a specific line) by preceding the entire plan with the following syntax:

  • Long interdigit timer: 'L' ':' delay-value ','
  • Short interdigit timer: 'S' ':' delay-value ','

Note: The "L=8,( . . . )" would set the interdigit long timeout to 8 seconds for the line associated with this dial plan. The "L:8,S:4,( . . . )" would override both the long and the short timeout values.

Getting to Know Local Timer Overrides
The long and short timeout values can be changed for a particular sequence starting at a particular point in the sequence. The syntax for long timer override is 'L' delay-value ' ' with the terminating space character. The specified delay-value is measured in seconds. To change the short timer override, use 'S' delay-value <space>.

 

Related Information


Updated: Dec 12, 2008Document ID: 108727