How do I create a custom dial plan for a Snom phone?

Digium does not support custom digit maps / dial plans, but the information below may help in creating a custom digit map for SNOM phones (firmware version 7 and 8).
If you run into trouble, you will need to contact Snom for assistance and the default dial plan or HERE

Dial plans enable the snom SIP phone to support automatic dialing and automatic generation of a secondary dial tone. If a single dial plan is to be used for a system of phones, the dial plan is best specified in the default configuration file that is used to provision the phone in the beginning. When creating a dial plan, remember the following:

  • Dial plans must be in an .xml format and be stored on your phone or provisioned through http or tftp server.

  • <dialplan> indicates the start of a dialplan and </dialplan> indicates the end of a plan.

  • Rules are matched from start to finish with the longest matching rule taken as the one to use.

XML Dial plan can be placed either

<?xml version="1.0" encoding="utf-8" ?>
<settings>
  <phone-settings></phone-settings>
  <functionKeys></functionKeys>
  <tbook></tbook>
  <uploads></uploads>
  <certificates></certificates>
  <dialplan e="2">
   <!--Example North American Dialplan-->
   <TEMPLATE MATCH="0" Timeout="1" User="Phone"/>
   <TEMPLATE MATCH="9,011*" Timeout="6" User="Phone"/>
   <TEMPLATE MATCH="9,0" Timeout="1" User="Phone"/>
   <TEMPLATE MATCH="9,11" Timeout="0" User="Phone" Rewrite="9911"/>
   <TEMPLATE MATCH="9,.11" Timeout="0" User="Phone"/>
   <TEMPLATE MATCH="9,101..............." Timeout="0" User="Phone"/>
   <TEMPLATE MATCH="9,10.............." Timeout="0" User="Phone"/>
   <TEMPLATE MATCH="9,10*" Timeout="6" User="Phone"/> 
   <TEMPLATE MATCH="9,1.........." Timeout="0" User="Phone"/>
   <TEMPLATE MATCH="9,......." Timeout="0" User="Phone"/>
   <TEMPLATE MATCH="*" Timeout="15"/>
  </dialplan>
</settings>

<?xml version="1.0" encoding="utf-8"?>
<dialplan e="2">
<!--Example North American Dialplan-->
<TEMPLATE MATCH="0" Timeout="1" User="Phone"/>
<TEMPLATE MATCH="9,011*" Timeout="6" User="Phone"/>
<TEMPLATE MATCH="9,0" Timeout="1" User="Phone"/>
<TEMPLATE MATCH="9,11" Timeout="0" User="Phone" Rewrite="9911"/>
<TEMPLATE MATCH="9,.11" Timeout="0" User="Phone"/>
<TEMPLATE MATCH="9,101..............." Timeout="0" User="Phone"/>
<TEMPLATE MATCH="9,10.............." Timeout="0" User="Phone"/>
<TEMPLATE MATCH="9,10*" Timeout="6" User="Phone"/> 
<TEMPLATE MATCH="9,1.........." Timeout="0" User="Phone"/>
<TEMPLATE MATCH="9,......." Timeout="0" User="Phone"/>
<TEMPLATE MATCH="*" Timeout="15"/>
</dialplan>

where the following attributes are allowed:

  • e="2" defines that unicode-values inside xml-escapes (e.g. & # 6 4 ;) may be greater than 255.

  • MATCH=”pattern” is the dial pattern to match. While entering the pattern: numbers 0-9, * and # represent the keys on the phone that are entered. Use a period (.) to match any key. An asterisk (*) at the very end of the pattern matches one or more characters. Matching just the * key without interference with the wildcard character is done by escaping it with a backslash "\*". To have the phone generate a secondary dial tone when the part of the template matches, use a comma (,).

  • Timeout=”sec” is the number of seconds before a timeout will occur and the number will be dialed as entered by the user. To have the number dial immediately, specify 0.

  • User=”type” is the either IP or Phone. Enter User=phone or User=IP to have the tag automatically added to the dialed number. Currently User=phone is supported.

  • Rewrite=”altstrng” is the alternate string to be dialed instead of what the user enters. This field can be left empty.

  • identity=”number” is the identity that is used to establish the call. If no identity is given, the active identity is used.

  • If desired, specify at the end of each string where comment defines the type of plan (for example, Long Distance or Corporate Dial Plan).

  • Special note on dialplan nomenclature:

    • The special characters supported in 'match' include '.' for any digit between 0-9.

    • '*' as a wildcard for all characters and digits.

    • '[' & ']' to specify a range for single digit input e.g. match="[4-7].." would mean any three digit number where the first digit is either 4, 5, 6 or 7 i.e. 4-7 inclusive of both limits.

    • ',' is used to indicate secondary local dialtone. It often follows a digit usually 9 or 0.

    • The closest logical match through all the dialplans would be selected for ay given input match. Ascending or descending order does not over rule this feature.

    • If one doesn't want to specify a timeout, rewrite or user; either leave them empty or do not include them at all. In this case the default for all would be used.

    • The dialplan attributes can be saved either in capital or small letters. The phone would internally store them in lower case.

 

For some examples of SNOM dial plans go to HERE

Return to Documentation Home I Return to Sangoma Support