Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Table of Contents

XML Configuration

This section describes the formatting and options available when creating XML-based configuration files for provisioning Digium phones. Users choosing this method of configuration forgo use of the DPMA, and instead are provisioning phones for use with Asterisk versions that do not support the DPMA.

...

Expand
A Complete XML Configuration Example
A Complete XML Configuration Example
Code Block
xml
xml
borderStylesolid
titleA Complete XML Configuration Example
<?xml version="1.0" ?>
<config>
    <setting id="login_password" value="789" />
    <setting id="time_zone" value="America/Los_Angeles" />
    <setting id="time_source" value="ntp" />
    <setting id="ntp_server" value="0.digium.pool.ntp.org" />
    <setting id="ntp_resync" value="86400" />
    <setting id="accept_local_calls" value="any" />
    <setting id="transport_udp_enabled" value="1" />
    <setting id="transport_udp_port" value="5060" />
    <setting id="transport_tcp_enabled" value="1" />
    <setting id="transport_tcp_port" value="5060" />
    <setting id="udp_ka_interval" value="60"/>
    <setting id="logo_file" value="user" path="/user_image.png" url="https://server.example.com/mylogo.png" md5="126cd744583eeea1ab7e44ed8af3d39c" />
    <setting id="display_mc_notification" value="1" />
    <setting id="brightness" value="10" />
    <setting id="contrast" value="10" />
    <setting id="enable_check_sync" value="1"/>
    <setting id="dim_backlight" value="1" />
    <setting id="backlight_timeout" value="30" />
    <setting id="backlight_dim_level" value="2" />
    <setting id="default_fontsize" value="10" />
    <setting id="locale" value="en_US"/>
    <setting id="ringer_volume" value="5" />
    <setting id="speaker_volume" value="5" />
    <setting id="handset_volume" value="5" />
    <setting id="headset_volume" value="5" />
    <setting id="reset_call_volume" value="0" />
    <setting id="active_ringtone" value="Digium" />
    <setting id="headset_answer" value="0" />
    <setting id="ring_headset_only" value="0" />
    <setting id="call_waiting_tone" value="1" />
    <setting id="ehs" value="auto" />
    <setting id="enable_blf_on_unused_line_keys" value="0" />
    <setting id="contacts_max_subscriptions" value="40" />
    <setting id="name_format" value="first_last" />
    <setting id="blf_contact_group" value="Default" />
    <setting id="network_enable_dhcp" value="1" />
    <setting id="network_static_ip_address" value="" />
    <setting id="network_subnet_mask" value="" />
    <setting id="network_default_gateway" value="" />
    <setting id="network_domain_name" value="" />
    <setting id="network_primary_dns_server" value="" />
    <setting id="network_secondary_dns_server" value="" />
    <setting id="network_vlan_discovery_mode" value="NONE" />
    <setting id="network_vlan_id" value="44" />
    <setting id="pc_vlan_id" value="10" />
    <setting id="lan_port_mode" value="auto" />
    <setting id="pc_port_mode" value="auto" />
    <setting id="log_level" value="debug" />
    <setting id="enable_logging" value="0" />
    <setting id="log_server" value="10.1.2.3" />
    <setting id="log_port" value="514" />
    <setting id="web_ui_enabled" value="1" />
    <setting id="sip_qos" value="3" />
    <setting id="rtp_qos" value="6" />
    <setting id="pc_qos" value="1" />
    <setting id="sip_dscp" value="24" />
    <setting id="rtp_dscp" value="46" />
    <keymap>
        <state id="incoming">
            <softkeys>
                <key id="0" action="accept_call" />
                <key id="1" action="reject_call" />
                <key id="2" action="transfer_call" />
                <key id="3" action="send_to_vmail" />
            </softkeys>
        </state>
    </keymap>
    <contacts url="https://server.example.com/myfile.xml" id="internal" md5="abcd123" />
    <smart_blf>
        <blf_items url="http://server.example.com/myblfitems.xml" />
    </smart_blf>
    <accounts>
        <account server_uuid="0" index="0" status="1" register="1" account_id="100" username="100" authname="100" password="100" passcode="100" line_label="100 Alligator" caller_id="100 Alligator" dial_plan="[0-8]xxxxx|911|9411|9611|9011xxx.T3|91xxxxxxxxxx|9[2-9]xxxxxx|*xx.T3|[0-8]xx.T3" visual_voicemail="0" voicemail="sip:800@10.1.2.3" needMwiSubscription="1" outbound_proxy="" outbound_port="" conflict="replace">
            <host_primary server="10.10.2.108" port="5060" transport="udp" reregister="300" retry="25" num_retries="5" />
            <host_alternate server="10.1.2.3" port="5060" transport="udp" reregister="300" retry="25" num_retries="5" />
            <permission id="record_own_calls" value="0" />
        </account>
    </accounts>
    <networks>
        <network id="1" display_name="Internal" cidr="192.168.8.0/24" />
        <network id="2" display_name="External" cidr="10.0.0.0/8" />
        <network id="3" display_name="All Networks" cidr="0.0.0.0/0" />
    </networks>
    <codecs>
        <codec id="PCMU" priority="255" packetization="20" jitter_min="0" jitter_max="0" jitter_target="0" enabled="1" />
        <codec id="PCMA" priority="13" packetization="20" jitter_min="0" jitter_max="0" jitter_target="0" enabled="1" />
        <codec id="G722" priority="11" packetization="20" jitter_min="0" jitter_max="0" jitter_target="0" enabled="1" />
        <codec id="G726-32" priority="7" packetization="20" jitter_min="0" jitter_max="0" jitter_target="0" enabled="1" />
        <codec id="G729" priority="4" packetization="20" jitter_min="0" jitter_max="0" jitter_target="0" enabled="1" />
        <codec id="L16" priority="2" packetization="20" jitter_min="0" jitter_max="0" jitter_target="0" enabled="1" />
        <codec id="L16-256" priority="1" packetization="20" jitter_min="0" jitter_max="0" jitter_target="0" enabled="1"/>
    </codecs>
    <ringtones>
        <tones>
            <tone id="Alarm" display="Alarm" type="phone"/>
            <tone id="Chimes" display="Chimes" type="phone"/>
            <tone id="Digium" display="Digium" type="phone"/>
            <tone id="GuitarStrum" display="Guitar Strum" type="phone"/>
            <tone id="Jingle" display="Jingle" type="phone"/>
            <tone id="Office" display="Office" type="phone"/>
            <tone id="Office2" display="Office 2" type="phone"/>
            <tone id="RotaryPhone" display="Rotary Phone" type="phone"/>
            <tone id="SteelDrum" display="Steel Drum" type="phone"/>
            <tone id="Techno" display="Techno" type="phone"/>
            <tone id="Theme" display="Theme" type="phone"/>
            <tone id="Tweedle" display="Tweedle" type="phone"/>
            <tone id="Twinkle" display="Twinkle" type="phone"/>
            <tone id="Vibe" display="Vibe" type="phone"/>
        </tones>
        <alerts>
            <alert alert_info="normal" ringtone_id="Digium" ring_type="normal" />
            <alert alert_info="ring-answer" ringtone_id="Digium" ring_type="ring-answer" />
            <alert alert_info="intercom" ringtone_id="" ring_type="answer" />
            <alert alert_info="visual" ringtone_id="" ring_type="visual" />
        </alerts>
    </ringtones>
    <appconfig id="appscreen">
        <application id="contacts" />
    </appconfig>
    <appconfig id="contacts">
        <display_rules>
            <display_rule id="0" action_id="monitor" show="0"/>
            <display_rule id="1" action_id="monitor" target_status="on_the_phone" show="1"/>
            <display_rule id="2" action_id="intercom" show="0"/>
            <display_rule id="3" action_id="intercom" target_status="idle" show="1"/>
            <display_rule id="4" action_id="dial_vm" phone_state="idle" show="0"/>
            <display_rule id="5" action_id="transfer_vm" show="0"/>
            <display_rule id="6" action_id="transfer_vm" phone_state="transfer" show="1"/>
        </display_rules>
        <settings can_transfer_vm="1" name_format="last_first" />
    </appconfig>
    <firmwares>
        <firmware model="D50" version="1_0_3_45441" url="http://10.10.4.11/firmware/1_0_3_45441_D50_firmware.eff" />
        <firmware model="D70" version="1_0_3_45441" url="http://10.10.4.11/firmware/1_0_3_45441_D70_firmware.eff" />
        <firmware model="D40" version="1_0_3_45441" url="http://10.10.4.11/firmware/1_0_3_45441_D40_firmware.eff" />
    </firmwares>
    <public_firmwares>
        <public_firmware model="D50" version="1_0_3_45441" url="http://firmware.example.com/1_0_3_45441_D50_firmware.eff" />
        <public_firmware model="D70" version="1_0_3_45441" url="http://firmware.example.com/1_0_3_45441_D70_firmware.eff" />
        <public_firmware model="D40" version="1_0_3_45441" url="http://firmware.example.com/1_0_3_45441_D40_firmware.eff" />
    </public_firmwares>
</config>

Setting Elements

Expand
XML Setting Elements
XML Setting Elements
Code Block
xml
xml
borderStylesolid
titleXML Setting Elements
<?xml version="1.0" ?>
<config>
    <setting id="login_password" value="789" />
    <setting id="time_zone" value="America/Los_Angeles" />
    <setting id="time_source" value="ntp" />
    <setting id="ntp_server" value="pool.ntp.org" />
    <setting id="ntp_resync" value="86400" />
    <setting id="accept_local_calls" value="any" />
    <setting id="transport_udp_enabled" value="1" />
    <setting id="transport_udp_port" value="5060" />
    <setting id="transport_tcp_enabled" value="1" />
    <setting id="transport_tcp_port" value="5060" />
    <setting id="udp_ka_interval" value="x"/>
    <setting id="logo_file" value="user" path="/user_image.png" url="https://server.example.com/mylogo.png" md5="126cd744583eeea1ab7e44ed8af3d39c" />
    <setting id="display_mc_notification" value="1" />
    <setting id="brightness" value="10" />
    <setting id="contrast" value="10" />
    <setting id="enable_check_sync" value="1"/>
    <setting id="dim_backlight" value="1" />
    <setting id="backlight_timeout" value="30" />
    <setting id="backlight_dim_level" value="2" />
    <setting id="default_fontsize" value="10" />
    <setting id="locale" value="en_US"/>
    <setting id="ringer_volume" value="5" />
    <setting id="speaker_volume" value="5" />
    <setting id="handset_volume" value="5" />
    <setting id="headset_volume" value="5" />
    <setting id="reset_call_volume" value="0" />
    <setting id="active_ringtone" value="Digium" />
    <setting id="headset_answer" value="0" />
    <setting id="ring_headset_only" value="0" />
    <setting id="call_waiting_tone" value="1" />
    <setting id="ehs" value="auto" />
    <setting id="enable_blf_on_unused_line_keys" value="0" />
    <setting id="contacts_max_subscriptions" value="40" />
    <setting id="name_format" value="first_last" />
    <setting id="blf_contact_group" value="Default" />
    <setting id="network_enable_dhcp" value="1" />
    <setting id="network_static_ip_address" value="" />
    <setting id="network_subnet_mask" value="" />
    <setting id="network_default_gateway" value="" />
    <setting id="network_domain_name" value="" />
    <setting id="network_primary_dns_server" value="" />
    <setting id="network_secondary_dns_server" value="" />
    <setting id="network_vlan_discovery_mode" value="NONE" network="10.10.0.0/16" />
    <setting id="network_vlan_id" value="44" />
    <setting id="pc_vlan_id" value="10" />
    <setting id="lan_port_mode" value="auto" />
    <setting id="pc_port_mode" value="auto" />
    <setting id="log_level" value="debug" />
    <setting id="enable_logging" value="0" />
    <setting id="log_server" value="10.1.2.3" />
    <setting id="log_port" value="514" />
    <setting id="web_ui_enabled" value="1" />
    <setting id="parking_lot_extension" value="700" />
    <setting id="parking_lot_enable_blind_transfer" value="0" />
    <setting id="sip_qos" value="3" />
    <setting id="rtp_qos" value="6" />
    <setting id="pc_qos" value="1" />
    <setting id="sip_dscp" value="24" />
    <setting id="rtp_dscp" value="46" />
</config>

Each <setting> element represents at least an id and value pair of attributes. Some <setting> tags may have additional attributes.

General (Login)

Option

Values

Description

login_password

Integer, e.g. 789

Sets the Admin Password for logging into Web UI or Admin Settings Section on Phone Menu, defaults to 789

General (Time)

Option

Values

Description

time_zone

Timezone String, e.g. America/Chicago

Sets the time zone for the phone

time_source

"ntp"

Sets the time source for the phone. Currently, the only option is "ntp"

ntp_server

Hostname or IP address, e.g. 0.digium.pool.ntp.org

Sets the NTP server to which the phone will synchronize itself, defaults to 0.digium.pool.ntp.org

ntp_resync

Seconds as integer, e.g. 86400

Sets the interval between NTP synchronization

General (SIP)

Option

Values

Description

accept_local_calls

any / host

Sets whether to accept calls from any source or only from hosts to which the phone is registered

transport_udp_enabled

boolean

Sets whether to enable UDP transport, defaults to 1

transport_udp_port

Valid integer for ports (1-65535)

Sets the local UDP SIP port, defaults to 5060

transport_tcp_enabled

boolean

Sets whether to enable TCP transport, defaults to 1

transport_tcp_port

Valid integer for ports (1-65535 )

Sets the local TCP SIP port, defaults to 5060

udp_ka_intervalinteger, in secondsSets the UDP keep alive interval, at which the phone will send CR-LF to the registered server. Defaults to 0, never.

Preferences (Idle Screen)

Option

Values

Description

logo_file

value as factory / user; path as location on disk of file - /factory_asterisk.png for default and /user_image.png for custom ; url as optional location to fetch a logo; md5 as optional when url is used to determine if logo has changed to avoid re-fetching

Sets the idle screen logo, defaults to factory-asterisk.png

display_mc_notification

boolean

Disables / Enables display of missed calls on the phone, defaults to 1

Preferences (Display)

Option

Values

Description

brightness

integer (0-10)

Sets the LCD screen brightness, defaults to 5

contrast

integer (0-10)

Sets the LCD screen contrast, defaults to 5

enable_check_sync

boolean

Controls whether the phone will perform a reconfigure when sent a check-sync SIP NOTIFY Event from the server to which it is registered. Defaults to 1.

dim_backlight

boolean

enable backlight dimming where 1 dims the screen after backlight timeout has been reached and phone is otherwise idle, defaults to 1

backlight_timeout

integer (0-3200)

Time, in seconds, before backlight is set to backlight_dim_level while phone is idle; setting to 0 disables backlight timeout, defaults to 0

backlight_dim_level

integer (0-10)

Brightness level dims to when when dim_backlight is 1, defaults to 2

default_fontsizeinteger (10-14)Sets the default font size for the phone. Caution should be exercised when using this option as larger sizes will cause labels to overrun their allowed space. D40, D45, and D50 default to 10. D70 defaults to 11.

Preferences (Localization)

Option

Values

Description

locale

de_DE, en_AU, en_CA, en_GB, en_US, es_ES, es_MX, fr_BE, fr_CA, fr_FR, it_IT, nl_BE, nl_NL, pt_BR, pt_PT

Specifies the locale used by the phone, defaults to en_US

Preferences (Sounds)

Option

Values

Description

ringer_volume

integer (0-10)

Sets the ringer volume, defaults to 5

speaker_volume

integer (0-10)

Sets the speaker volume, defaults to 5

handset_volume

integer (0-10)

Sets the handset volume, defaults to 5

headset_volume

integer (0-10)

Sets the headset_volume, defaults to 5

handset_sidetone_dbInteger, e.g. -25Sets the gain, in negative dBs, for sidetone presented on the phone's handset. Defaults to -25. Digium cautions against changing this value.
headset_sidetone_dbInteger, e.g. -15Sets the gain, in negative dBs, for sidetone presented on the phone's headset. Defaults to -15. Digium cautions against changing this value.

reset_call_volume

boolean

If 1, volume changes made during a call do not persist to the next call, defaults to 0

active_ringtone

Tone ID from <tones> provided to phone

Sets the current user-selected ringtone, defaults to Digium

Preferences (Answering Calls)

Option

Values

Description

headset_answer

boolean

Sets whether to use the headset, rather than the speaker, for answering all calls, defaults to 0

ring_headset_onlybooleanSets whether or not to play ringing tone out the headset, defaults to 0
call_waiting_tonebooleanEnabled by default, if disabled, the phone phone will not playback the call-waiting tone

ehs

auto, jabra_iq, plantronics

Defines the Electronics Hookswitch type to support

Contacts

Option

Values

Description

enable_blf_on_unused_line_keys

boolean

If 1, assigns BLFs beginning with first empty line key. If 0, assigns BLFs beginning with first sidecar key. Defaults to false.

contacts_max_subscriptions

integer, e.g. 40Sets the maximum number of SUBSCRIBEs the phone will perform for contacts

name_format

first_last, last_first

Formats the display of contact names, defaults to first_last

blf_contact_group

Any group_name from the loaded contacts

The group_name of the contact list group to use for the rapid dial list

Network (IP Settings)

Option

Values

Description

network_enable_dhcp

boolean

Disable or Enable DHCP network configuration, defaults to 1

network_static_ip_address

IPv4 address

Defines the network address for the phone

network_subnet_mask

IPv4 netmask

Defines the netmask for the phone

network_default_gateway

IPv4 address

Defines the network gateway for the phone

network_primary_dns_server

IPv4 address

Defines the primary DNS server for the phone

network_secondary_dns_server

IPv4 address

Defines the secondary DNS server for the phone

Network (Virtual LAN)

Option

Values

Description

network_vlan_discovery_mode

value of NONE, MANUAL, LLDP; network as IP mask

Sets use of none, manual, or LLDP discovered VLAN and, if MANUAL, defines the network; defaults to LLDP

network_vlan_id

integer (0-4095)

Sets the VLAN ID

pc_vlan_id

integer (0-4095)

Sets the VLAN ID of the PC port; untagged traffic from the PC port to the LAN port will be tagged with this VLAN ID

Network (Interfaces)

OptionValuesDescription
lan_port_modeauto, 10hd, 10fd, 100hd, 100fd, 1000fdSets the port speed for the phone's LAN port. "auto" will perform auto-negotiation.
pc_port_modeauto, 10hd, 10fd, 100hd, 100fd, 1000fd, offSets the port speed for the phone's PC port. "auto" will perform auto-negotiation; "off" disables the port."

Logging

Option

Values

Description

log_level

error, warning, debug, information

Sets the logging level, defaults to error

log_server

IPv4 address of syslog server

Specifies remote syslog server

log_port

port as integer

Specifies port of remote syslog server

enable_logging

boolean

Disables or Enables remote syslog, defaults to 0

Miscellaneous

Option

Values

Description

web_ui_enabled

boolean

Disables, Enables the phone's web user interface, defaults to 1 (Enabled)

sip_qos

integer (0-7)

Defaults to 3. Sets the SIP signaling QOS level

rtp_qos

integer (0-7)

Defaults to 6. Sets the RTP media QOS level

pc_qos

integer (0-7)

No default. Sets the QOS level for traffic from the PC port to the LAN port

sip_dscp

integer (0-63)

Specifies the DSCP field of the DiffServ byte for SIP Signaling QoS, defaults to 24

rtp_dscp

integer (0-63)

Specifies the DSCP field of the DiffServ byte for RTP Media QoS, defaults to 46

Keymap Elements

Keymap Elements control the functionality of softkeys during various phone states.

...

Option

Values

Description

key

id as 0-3, action as "accept_call, reject_call, transfer_call, send_to_vmail"

Maps a softkey represented by id of 0-3, left-to-right, to an action.

Contacts Element

Expand
Contacts Element Example
Contacts Element Example
Code Block
xml
xml
borderStylesolid
titleContacts Element Example
<?xml version="1.0" ?>
<config>
    <contacts url="https://server.example.com/myfile.xml" id="internal" md5="abcd123" />
</config>

...

Option

Values

Description

contacts

url as file link, id as unique identifier, md5 as the md5sum of the xml file

Specifies the contacts XML file to be retrieved by the phone and identifies that file; more than one contacts parameter may be used. Digium phones support basic authentication, so a username and password may be passed in the URL line, e.g. http://user:pass@server.example.com

Smart BLF Element

The Smart BLF element contains the BLF Items child element.  BLF Items points to an XML sheet that defines the function and positioning of BLF keys, Contacts and Applications on the phone.

BLF Items: Child Element of <smart_blf>

Expand
titleBLF Items Element Example
Code Block
titleBLF Items Element Example
languagehtml/xml
<?xml version="1.0">
<config>
    <smart_blf>
        <blf_items url="http://server.example.com/myblfitems.xml" network_id="mynetwork" md5="abcd123" />
    </smart_blf>
</config> 
OptionValuesDescription
blf_items

url as file link, network_id (optional) as network identifier for this element,

md5 (optional) as md5 sum of referenced XML sheet

Specifies the BLF Items XML file to be retrieved by the phone. Digium phones support basic authentication, so a username and password may be passed in the URL line, e.g. http://user:pass@server.example.com

Accounts Element

Expand
Accounts Element Example
Accounts Element Example
Code Block
xml
xml
borderStylesolid
titleAccounts Element Example
<?xml version="1.0" ?>
<config>
    <accounts>
        <account server_uuid="0" index="0" status="1" register="1" account_id="100" username="100" authname="100" password="100" passcode="100" line_label="100 Alligator" caller_id="100 Alligator" dial_plan="[0-8]xxxxx|911|9411|9611|9011xxx.T3|91xxxxxxxxxx|9[2-9]xxxxxx|*xx.T3|[0-8]xx.T3"  visual_voicemail="0" voicemail="sip:800@10.1.2.3" needMwiSubscription="1" outbound_proxy="" outbound_port="" conflict="replace">
            <host_primary server="10.10.2.108" port="5060" transport="udp" reregister="300" retry="25" num_retries="5" />
            <host_alternate server="10.1.2.3" port="5060" transport="udp" reregister="300" retry="25" num_retries="5" />
            <permission id="record_own_calls" value="0" />
        </account>
    </accounts>
</config>

Option

Values

Description

server_uuidStringSpecifies a unique identifier for the server

index

integer (0-5)

Defines the line key to which the account will be mapped

status

boolean

Enables the line key; if false, will not display the line on the phone or register with the primary host

register

boolean

If 1, then this account will attempt to register with the primary host

account_id

string

SIP username

username

string

SIP username

authname

string

SIP authname

password

string

SIP password

passcode

string

SIP password

line_label

string

The text that shows up next to the line key for this account

caller_id

Name <Number>

Outgoing caller id displayed for this account

dial_plan

Digit mapping, see #dialplans

The dial plan / digit mapping for this account

visual_voicemail

boolean

Only valid on account with index of 0. Only valid for phones provisioned by Switchvox or the DPMA. If this is set to 1 then the Msgs button action will open the voicemail app. Otherwise it will dial the voicemail extension.

voicemail

digits or SIP URI

A SIP URI or extension to be dialed for voicemail pertaining to this account.

needMwiSubscription
booleanDefines whether or not a phone should subscribe for MWI on this account.

outbound_proxy

IP address / Hostname

Outbound proxy for this account

outbound_port

port

Port for the outbound proxy

conflict

replace

Host Primary: Child Element of <account>

Option

Values

Description

server

Hostname or IPv4 Address

Sets the server to which calls for this account are directed

port

integer (1-65535)

Sets the server's SIP port

transport

udp, tcp

Sets the transport type, UDP or TCP

reregister

integer in seconds

Sets the re-registration interval

retry

integer

Specifies the number of time to attempt re-registration if registration fails

num_retries

integer

Specifies the number of retries to attempt if registration fails

Host Alternate: Child Element of <account>

Option

Values

Description

server

Hostname or IPv4 Address

Sets the server to which calls for this account are directed in the event that host_primary is unreachable

port

integer (1-65535)

Sets the server's SIP port

transport

udp, tcp

Sets the transport type, UDP or TCP

reregister

integer in seconds

Sets the re-registration interval

retry

integer

Specifies the number of time to attempt re-registration if registration fails

num_retries

integer

Specifies the number of retries to attempt if registration fails

Permission: Child Element of <account>

Defines line/account based permissions for various phone functions with an id and value pair.

Option

Values

Description

record_own_calls

boolean

If 1, allows the user to record their own calls using a soft-key. Note that this feature can only enabled when using the DPMA. Users manually provisioning Digium phones should set this to 0 in order to ensure that a non-functional (because the DPMA is not being used) call recording softkey does not appear.

Networks Element

Expand
Networks Element Example
Networks Element Example
Code Block
xml
xml
borderStylesolid
titleNetworks Element Example
<?xml version="1.0" ?>
<config>
    <networks>
        <network id="1" display_name="Internal" cidr="192.168.8.0/24" />
        <network id="2" display_name="External" cidr="10.0.0.0/8" />
        <network id="3" display_name="All Networks" cidr="0.0.0.0/0" />
    </networks>
</config>

...

Option

Values

Description

id

integer

Unique, numbered identifier for the network

display_name

string

A named identifier for the network

cidr

CIDR formatted address

A CIDR formatted network address, e.g. 10.0.0.0/8

Codecs Element

Expand
Codecs Element Example
Codecs Element Example
Code Block
xml
xml
borderStylesolid
titleCodecs Element Example
<?xml version="1.0" ?>
<config>
    <codecs>
        <codec id="PCMU" priority="255" packetization="20" jitter_min="0" jitter_max="0" jitter_target="0" enabled="1" />
        <codec id="PCMA" priority="13" packetization="20" jitter_min="0" jitter_max="0" jitter_target="0" enabled="1" />
        <codec id="G722" priority="11" packetization="20" jitter_min="0" jitter_max="0" jitter_target="0" enabled="1" />
        <codec id="G726-32" priority="7" packetization="20" jitter_min="0" jitter_max="0" jitter_target="0" enabled="1" />
        <codec id="G729" priority="4" packetization="20" jitter_min="0" jitter_max="0" jitter_target="0" enabled="1" />
        <codec id="L16" priority="2" packetization="20" jitter_min="0" jitter_max="0" jitter_target="0" enabled="1" />
        <codec id="L16-256" priority="1" packetization="20" jitter_min="0" jitter_max="0" jitter_target="0" enabled="1"/>
    </codecs>
</config>

...

Option

Values

Description

id

PCMU, PCMA, G722, G726-32, G729, L16, L16-256

A codec supported by the phone

priority

integer (1-255)

Priority of the codec where higher numbers mean the codec is more favored

packetization

integer in 10ms increments per RFC codec guidelines

Packetization (ptime) rate for the specified codec, defaults to 20

jitter_min

integer in ms

Sets the minimum size of the codec jitter buffer

jitter_max

integer in ms

Sets the maximum size of the codec jitter buffer

jitter_target

integer in ms

Sets the target size of the codec jitter buffer

enabled

boolean

Disables / Enables a codec

Ringtones Element

This section has two primary child elements:

  1. tones, which are the actual sounds heard when a call is made
  2. alerts, which map to a tone and represent a certain call condition

Tones: Child element of <ringtones>

Expand
Tones Element Example
Tones Element Example
Code Block
xml
xml
borderStylesolid
titleTones Element Example
<?xml version="1.0" ?>
<config>
    <ringtones>
        <tones>
            <tone id="Alarm" display="Alarm" type="phone"/>
            <tone id="Chimes" display="Chimes" type="phone"/>
            <tone id="Digium" display="Digium" type="phone"/>
            <tone id="GuitarStrum" display="Guitar Strum" type="phone"/>
            <tone id="Jingle" display="Jingle" type="phone"/>
            <tone id="Office" display="Office" type="phone"/>
            <tone id="Office2" display="Office 2" type="phone"/>
            <tone id="RotaryPhone" display="Rotary Phone" type="phone"/>
            <tone id="SteelDrum" display="Steel Drum" type="phone"/>
            <tone id="Techno" display="Techno" type="phone"/>
            <tone id="Theme" display="Theme" type="phone"/>
            <tone id="Tweedle" display="Tweedle" type="phone"/>
            <tone id="Twinkle" display="Twinkle" type="phone"/>
            <tone id="Vibe" display="Vibe" type="phone"/>
            <tone id="208" display="Fancy" url="http://10.1.2.3/mytone.sln" md5="abc123" type="user"/>
        </tones>
    </ringtones>
</config>

...

Option

Values

Description

id

string

Internal Tone identifier

display

string

External Tone Description

url

URL string

Location from which to retrieve a 16-bit, 16kHz, mono raw signed linear sound file, less than 1MB in size

md5

md5sum

MD5 sum of the file to be retrieved

type

phone, user

Indicates the tone's origin; tones that are type phone are embedded into the phone's firmware, tones that are type user are retrieved by URL

Alerts: Child element of <ringtones>

Expand
Alerts Element Example
Alerts Element Example
Code Block
xml
xml
borderStylesolid
titleAlerts Element Example
<?xml version="1.0" ?>
<config>
    <ringtones>
        <alerts>
            <alert alert_info="normal" ringtone_id="Digium" ring_type="normal" />
            <alert alert_info="ring-answer" ringtone_id="Digium" ring_type="ring-answer" />
            <alert alert_info="intercom" ringtone_id="" ring_type="answer" />
            <alert alert_info="visual" ringtone_id="" ring_type="visual" />
        </alerts>
    </ringtones>
</config>

...

Option

Values

Description

alert_info

string

The alert_info header that, as received, applies to this alert

ringtone_id

string

The id of the ring tone for this alert

ring_type

normal, answer, ring-answer, visual

The type of call-answer to affect for this alert.

Firmwares Element

Expand
Firmwares Element Example
Firmwares Element Example
Code Block
xml
xml
borderStylesolid
titleFirmwares Element Example
<?xml version="1.0" ?>
<config>
    <firmwares>
        <firmware model="D50" version="1_0_3_45441" url="http://10.10.4.11/firmware/1_0_3_45441_D50_firmware.eff" />
        <firmware model="D70" version="1_0_3_45441" url="http://10.10.4.11/firmware/1_0_3_45441_D70_firmware.eff" />
        <firmware model="D40" version="1_0_3_45441" url="http://10.10.4.11/firmware/1_0_3_45441_D40_firmware.eff" />
    </firmwares>
</config>

...

Option

Values

Description

model

D40, D50, D70

Model number of the Digium phone

version

string

Version string for the firmware. On boot, the phone will check the version string against an internal copy of the string, as previously loaded. If the strings differ, the phone will load the new firmware

url

http URL string

URL location of the phone firmware. Digium phones support basic authentication, so a username and password may be passed in the URL line, e.g. http://user:pass@server.example.com

Public Firmwares Element

Expand
Public Firmwares Element Example
Public Firmwares Element Example
Code Block
xml
xml
borderStylesolid
titleFirmwares Element Example
<?xml version="1.0" ?>
<config>
    <public_firmwares>
        <public_firmware model="D50" version="1_0_3_45441" url="http://firmware.example.com/1_0_3_45441_D50_firmware.eff" />
        <public_firmware model="D70" version="1_0_3_45441" url="http://firmware.example.com/1_0_3_45441_D70_firmware.eff" />
        <public_firmware model="D40" version="1_0_3_45441" url="http://firmware.example.com/1_0_3_45441_D40_firmware.eff" />
    </public_firmwares>
</config>

...

Option

Values

Description

model

D40, D50, D70

Model number of the Digium phone

version

string

Version string for the firmware. On boot, the phone will check the version string against an internal copy of the string, as previously loaded. If the strings differ, the phone will load the new firmware

url

http URL string

URL location of the phone firmware. Digium phones support basic authentication, so a username and password may be passed in the URL line, e.g. http://user:pass@server.example.com

Appconfig Element

Expand
Appconfig Element Example
Appconfig Element Example
Code Block
xml
xml
borderStylesolid
titleAppconfig Element Example
<?xml version="1.0" ?>
<config>
    <appconfig id="appscreen">
        <application id="contacts" />
    </appconfig>
    <appconfig id="contacts">
        <display_rules>
            <display_rule id="1" action_id="monitor" show="0"/>
            <display_rule id="2" action_id="monitor" target_status="on_the_phone" show="1"/>
            <display_rule id="3" action_id="intercom" show="0"/>
            <display_rule id="4" action_id="intercom" target_status="idle" show="1"/>
            <display_rule id="5" action_id="dial_vm" phone_state="transfer" show="0"/>
            <display_rule id="6" action_id="transfer_vm" show="0"/>
            <display_rule id="7" action_id="transfer_vm" phone_state="transfer" show="1"/>
        </display_rules>
        <settings can_transfer_vm="1" name_format="last_first" />
    </appconfig>
</config>
  • Element lists the <appconfig> elements

Display Rules: Child Element of <appconfig> for contacts application

OptionValuesDescription
idunique idA unique identifier for this display_rule, e.g. 0, 1, 2, etc.
action_idA valid action as defined in the phone's Contacts fileSets the action_id for the display rule to act upon
phone_stateidle, hold, transfer, incoming/transfer, incoming, connected, dialing, calling, failedDefines the state of the local phone during which the rule will be acting. If not specified in a rule, all states are matched. Note that this list of states differs from the larger list of states available for BLF key action mappings.
target_statusunknown, idle, on_hold, ringing, on_the_phoneOptional. Sets the status of the subscribed to contact that must be matched for this display rule to be in effect
showBooleanIf set to yes, shows a particular action; if set to no, hides the action. To hide an action for all states and only show it for some states, first declare the action to have a false show, then declare it to have a true show for only a particular state or states.

The can_transfer_vm attribute controls the display of the "Transfer VM" softkey from within the Contacts application.
The name_format attribute controls the display order of names from within the Contacts application.

network_id attribute

The network_id attribute, in conjunction with the Networks element is used to provision multiple different options for a particular element, e.g. account address, so that when the Digium phone is located on different networks, the proper element for that network can be loaded by the phone. When the phone boots and discovers its IP address, it compares that against matching elements with network_id attributes and loads only those elements, rather than elements with non-matching network_ids.

...