Linksys/Sipura Dial Plan tutorial

Page 1 of 4

Linksys/Sipura Dial Plan basics:
A VoIP call is initiated when the caller sends a call request to the VoIP provider’s server. Because this call request must contain the full number to which the caller wishes to connect, the ATA must wait to send the call request until it ‘knows’ the full number the caller is dialing. The ATA is programmed to consider dialing complete (and send or reject the call request) in the following circumstances: 1. A certain period of time has passed since the last digit was dialed, or 2. The pound key (#) has been pressed, or 3. A pattern in the dial plan has been uniquely matched (ie, it’s not possible that a different pattern in the plan could still be matched if more digits are dialed), or 4. A pattern in the dial plan has been matched (not unique—dialing more digits could match a different pattern) and a specified period of time has passed since the last digit was dialed. Timers: There are two timer values that work in hand with the dial plan, the “interdigit long timer” and the “interdigit short timer”. The long timer, by default set to 10 seconds, is the time the ATA will wait before rejecting a call if the digits dialed so far do not match any dial plan pattern. The short timer, by default set to 3 seconds, is the time the ATA will wait before sending a call if the digits dialed so far match a dial plan pattern, but, if additional digits are dialed a different pattern could be matched. Timer example: Say your dial plan is very simple—you can dial any 10-digit number or any 7digit number. Such a dial plan would look like this (dial plan syntax will be described later): (xxxxxxx|xxxxxxxxxx) • If you were to dial six digits, the sequence you’ve dialed does not match any of the dial plan patterns (your choices are 7 or 10 digits). The ATA would wait until the long timer expires before rejecting your call due to non-match to your dial plan. The same thing would happen if you dial 8 or 9 digits. • If you were to dial 10 digits, the numbers you dialed would be sent to your service provider’s server immediately, because that is a unique match to the 10-digit pattern. • If you were to dial 7 digits, the adapter would wait until the short timer expires before sending the sequence you dialed to your service provider’s server. The reason for this delay is that if 7 digits are dialed, the device is programmed to wait for that duration in case you intended to dial 10 digits instead of 7. This timer can be overridden while dialing by dialing the pound key (#) after the 7th digit.

Written by FISAMO on 3 August 2007

Please distribute freely.

Linksys/Sipura Dial Plan tutorial

Page 2 of 4

Dial Plan Syntax: The dial plan consists of several appropriate dialing patterns (defined by your service provider). The entire set of patterns is enclosed in parentheses, and each valid pattern is separated by the “pipe” character, | . You can see these aspects of the dial plan in the plan above that was used to describe the timer functions. Each dialing pattern may contain one or more of several characters: Dial pattern element What the element represents Any individual key on the telephone Itself (only) keypad (‘0’, ‘1’, ‘2’, ‘3’, …, ‘9’, ‘*’, ‘#’ The letter ‘x’ Any digit (0 – 9) Any subset of keys, within brackets (See specific definitions for sequences) • [259] • ‘2’, ‘5’, or ‘9’ (one digit only) • [24-7] • ‘2’, ‘4’, ‘5’, ‘6’, or ‘7’ Substitution: Dialed sequences can be used to make a <numbers dialed (to match):numbers match, but different digits are sent to the sent> server. • Dial 611, adapter sends 1-866-6267150. • <611:18666267150> • Dial any 7 digits, adapter adds “1518” to the beginning of those 7 • <:1518>xxxxxxx digits. Number blocking (add ! after pattern) Matched pattern is blocked • 900xxxxxxx! • Block 900 numbers • 1900xxxxxxx! • Block 900 numbers (even if user tries to dial 1 first) • 811! • Prevent dialing “811” The period (‘.’) Element repetition (typically follows ‘x’) • 011xxxxxx. • Matches 011 followed by 5 or more digits S (must be uppercase) Overrides short timer for given pattern, the digit after the S indicates the override • S0 (send digits immediately) value, in seconds. • S1 (1-second short digit timer)

Written by FISAMO on 3 August 2007

Please distribute freely.

Linksys/Sipura Dial Plan tutorial

Page 3 of 4

Example dial plan (mine, as a matter of fact): ([49]11S0|811!|*123S0|*0xS0|*400S0|<211:18888921162>S0|<311:19193628661> S0|<511:18775114662>S0|<611:18666267150>S0|<711:18777358200>S0|<:1919>[ 2-9]xxxxxxS2|1[2-9]xx[2-9]xxxxxxS0|<:1>[2-9]xx[29]xxxxxxS0|0|00|011xxxxxxxxxx.) Dial Pattern [4911]S0 811! *123S0 *0xS0 *400S0 <211:18888921162>S0 Explanation Allows me to dial either 411 or 911 and sends the call immediately. Rejects the call if 811 is dialed (fast busy) Allows me to dial *123 for voicemail and sends the call immediately. Allows me to dial ViaTalk’s “speed dial” codes (*00 *09), and sends the sequence immediately. Allows me to dial *400 for call broadcast and sends the call immediately. Allows me to dial 211, and replaces “211” with 1-888892-1162, the PSTN number for “211” in my area (Raleigh, NC metro area) Allows me to dial 311, and replaces “311” with 1-919362-8661, the Apex, NC police dept. Allows me to dial 511, and replaces “511” with 1-877511-4662, the NC travel information line Allows me to dial 611, and replaces “611” with 1-866626-7150, ViaTalk’s tollfree number. (telephone repair) Allows me to dial 711, and replaces “711” with 1-877735-8200, the NC Telecommunications Relay service Allows me to dial any 7-digit number (as long as the first digit is not 0 or 1). Once 7 digits are dialed, the ATA waits 2 seconds to see if additional digits are dialed. If not, it adds “1919” to the beginning before sending the number to ViaTalk. ViaTalk’s server receives the 11digit number. If additional digits are dialed, this pattern is not matched. Allows me to dial any 10-digit number (the first and fourth digits cannot be 0 or 1), and adds a “1” in the beginning before sending the sequence to ViaTalk. Once again, ViaTalk’s server receives an 11-digit number. The call is sent immediately after the tenth digit is dialed. Allows me to dial an 11-digit number (as long as the first digit is 1, and the second and fifth digits are not 0 or 1), and sends the sequence to ViaTalk immediately. Allows me to dial 0 to connect to a Level3 operator Allows me to dial 00 to connect to a Level3 operator Allows me to dial an international call. There must be at least nine digits after the “011” for the pattern to match.

<311:19193628661>S0 <511:18775114662>S0 <611:18666267150>S0 <711:18777358200>S0 <:1919>[2-9]xxxxxxS2

<:1>[2-9]xx[2-9]xxxxxxS0

1[2-9]xx[2-9]xxxxxxS0

0 00 011xxxxxxxxxx.

Written by FISAMO on 3 August 2007

Please distribute freely.

Linksys/Sipura Dial Plan tutorial

Page 4 of 4

Note 1: If you do not live in Apex, NC, you most likely will want to change some or all of the “n11” substitution numbers. You can find the appropriate number for each “n11” code through diligent Google searching. If you don’t have a number in the 919 area code, you will also most likely want to replace the “1919” with 1, followed by your own three-digit area code. Note 2: The default ViaTalk dial plan also includes some other patterns that I chose not to include in my dial plan. These patterns are given below, along with an explanation: *xx|*xxxxxxxxx|*xxxxxxxxxxxxx|*xxx|xxx|xxxx|[3469]11 |xxxxxxxxxxxx.|011xxxxxxxxxx Dial Pattern Allowed dial Reason it’s not included sequences *xx * followed by any two It’s redundant—any *-codes should be digits recognized by the ATA *xxxxxxxxx * followed by any 9 Used to send *67 + a 7-digit number. digits Instead, I added “*67” to the “Feature Dial Services Codes” field on the Regional tab. Now, when I dial *67, I get an immediate dial tone, and then I dial 7-digits as normal. *67 is added to the front of the sequence I send to ViaTalk’s servers. *xxxxxxxxxxxxx * followed by any 12 Used to send *67 + 11-digit number. digits Excluded for same reason as previous pattern. *xxx * followed by any 3 In my plan, I explicitly allow for *123 and digits *400; other *xxx numbers are rejected by the ATA, rather than sending them to ViaTalk. xxx Any 3-digit sequence Aside from “n11” numbers, which are explicitly defined, no 3-digit numbers are ever intentionally dialed. xxxx Any 4-digit sequence No 4-digit sequences are ever intentionally dialed [3469]11 311, 411, 611, or 911 Each of these sequences is explicitly defined in my plan. xxxxxxxxxxxx. Any sequence of No US number exceeds 11 digits, and 11numbers that is at least digit sequences are explicitly defined. 11 digits long 011xxxxxxxxxx International calls, Redundant to the pattern I use exactly 10 digits after 011

Written by FISAMO on 3 August 2007

Please distribute freely.