Features/Mass Deployment/Setting Files/XML/Dial Plan/Syntax

From Snom User Wiki

Jump to: navigation, search

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:
  1. The special characters supported in 'match' include '.' for any digit between 0-9.
  2. '*' as a wildcard for all charcaters and digits.
  3. '[' & ']' 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.
  4. ',' is used to indicate secondary local dialtone. It often follows a digit usually 9 or 0.
  5. 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.
  6. 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.
  7. The dialplan attributes can be saved either in capital or small letters. The phone would internally store them in lower case.
Personal tools
Interoperability