Basics#
Minimum API level
API version 7.0 or higher
Scope#
This document is describing the xml Templates for IP relays with http command set in the following PBX systems:
-
COMpact 4000
-
COMpact 5000/5000R
-
COMpact 5200/5200R
-
COMpact 5500R
-
COMmander 6000/6000R/6000RX
The document is meant for developers wanting to create or alter provisioning files for non supported devices.
Standard provisioning#
A device to be provisioned is identified by its unique MAC-address. During the subscriber configuration, this MAC-address is either entered or selected from a list of unused but known MAC-addresses while entering the subscriber extension number.
You need to select a file which is sent to the subscriber whenever it requests provisioning data. The PBX will notify the subscriber when relevant data is changes so it can then request new provisioning data.
Auerswald / FONtevo devices will use the new configuration immediately. Devices from various other manufacturers may need to reboot to use the new configuration.
Zero-touch provisioning#
This is a method where a device does not have to be configured, before it is connected to the PBX.
The only device identifier required in the PBX is the MAC-Address of the device. You only have to configure a subscriber in the PBX and assign that subscriber number to the MAC-address of the device.
A zero-touch-capable device will use a multicast-based mechanism to find the provisioning server (the PBX). The device will then request its configuration data. Thus you can simply put the device on the user's desk, configure the PBX and all necessary steps for the device provisioning are done automatically.
Template files#
The provisioning mechanism implemented in the Auerswald/FONtevo PBX is capable of supporting template files from a wide range of telephone manufactures.
Warning
The mechanism supports only text-based formats. Binary formats of any kind are NOT supported.
For some manufacturers, we have included basic template files which can be altered to better suit the needs of you or your customers. If you encounter omissions or bugs, please send an email to Auerswald or Fontevo
Variables#
Templates contain specially formatted placeholders / variables to insert subscriber / pbx dependant data. Before sending they are replaced with their actual values.
Syntax: $(variablename)
SIP configuration#
variable | type | notes |
---|---|---|
$(sip.server) | string | IP Address of the SIP-Servers (xxx.xxx.xxx.xxx) |
$(sip.port) | integer | SIP server port 0..65535 |
$(sip.username) | string | Telephone account name |
$(sip.displayname) | string | Display name |
$(sip.userpassword) | string | Telephone account password |
Provisioning#
variable | type | notes |
---|---|---|
$(prov.secureserver) | string | provisioning server IP address xxx.xxx.xxx.xxx |
$(prov.port) | integer | provisioning server port number (usually 4433) |
$(prov.path) | string | Path(directory) of the provisioning data files |
LDAP#
variable | type | notes |
---|---|---|
$(ldap.enable) | char | 1: LDAP is used; 0: LDAP not used |
$(ldap.server) | string | LDAP server IP address xxx.xxx.xxx.xxx |
$(ldap.port) | integer | LDAP server port 0..65535 usually 389 |
$(ldap.base) | string | Name of the base organisational unit |
$(ldap.username) | string | LDAP User name, e.g.: "telephoneNumber=..., dc=auerserwald" |
$(ldap.username:server) | string | LDAP Server name, e.g.: "cn= ..., dc=auerserwald" |
$(ldap.password) | string | LDAP User password |
$(ldap.password:server) | string | LDAP Server password |
NTP#
variable | type | notes |
---|---|---|
$(time.ntp_enable) | char | 1: NTP-Server used; 0: not used |
$(time.server) | string | NTP Server IP address xxx.xxx.xxx.xxx |
$(time.port) | integer | Port number of server 0..65535 |
$(time.timezone:hours) | integer | 0..4 in hours (only for Europe) |
$(time.timezone:seconds) | integer | 0..14400 secounds (only for Europe) |
$(time.timezonename.town) | string | e.g.: Berlin |
$(time.timezonename.country) | string | e.g.: Germany |
Call forwarding#
variable | type | notes |
---|---|---|
$(CF.always.destination) | string | CFU destination number |
$(CF.busy.destination) | string | CFB destination number |
UI-Language settings#
variable | notes |
---|---|
$(ui.language:inttxt) | German, English, French |
$(ui.language:iso-localeTxt) | de_DE, ... |
$(ui.language:iculocale) | "language"_"location": fr_CH, ... |
$(ui.language:iculocaleLan) | "language" : de, en, fr, ... |
$(ui.language:iculocaleLoc) | "location" : DE, AT, CH, FR, GB, ... |
$(ui.language:nativtxt) | Deutsch, English, Francais, ... |
$(ui.language:polycomtxt) | German_Germany, English, ... |
$(ui.language:iso639-1) | de, fr, en, ... |
General information#
variable | type | notes |
---|---|---|
$(pbx.name) | string | configured name of the PBX |
$(pbx.pbxprefix) | string | exchange line access code |
$(pbx.certificate) | string | pbx certifcate in the form: ------BEGIN CERTIFICATE----- Hexadecimal representation of the certificate -----END CERTIFICATE----- |
Location information#
variable | type | notes |
---|---|---|
$(pbx.loc.intprefix) | string | internation prefix (for example 00) |
$(pbx.loc.intcode) | string | internation code (for example 49) |
$(pbx.loc.natprefix) | char | area prefix (for example 0) |
$(pbx.loc.natcode) | string | area code (for example 5306) |
$(pbx.loc.country:engtxt) | string | Country at location, e.g.: Germany, England, France... |
$(pbx.loc.country:inttext) | string | Country at location, e.g.: Deutschland, England, France... |
Language at the configured location of the PBX (type: string):
variable | notes |
---|---|
$(pbx.loc.language:inttxt) | German, English, French, ... |
$(pbx.loc.language:iso-localeTxt) | de_DE, ... |
$(pbx.loc.language:iculocale) | "language"_"location": fr_CH, ... |
$(pbx.loc.language:iculocaleLan) | "language" : de, en, fr, ... |
$(pbx.loc.language:iculocaleLoc) | "location" : DE, AT, CH, FR, GB, ... |
$(pbx.loc.language:nativtxt) | Deutsch, English, Francais, ... |
$(pbx.loc.language:polycomtxt) | German_Germany, English, ... |
$(pbx.loc.language:iso639-1) | de, fr, en, ... |
$(pbx.loc.language:localetxt) | de_DE, fr_FR, en_GB, ... |
Miscellaneous#
variable | type | notes |
---|---|---|
$(device.mac_address) | string | MAC adress from the device |
$(device.password) | string | password of the device (currently WS500 only) |