XML Configuration 2.9.22+

XML Configuration

This section describes the formatting and options available when creating XML-based configuration files for provisioning Sangoma 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.

The configuration elements provided in this section are subject to change between Sangoma Phone firmware releases.

 

A Complete XML Configuration Example

<?xml version="1.0" ?> <config> <setting id="config_server_url" value="sip:proxy@server.example.com:5060;transport=udp" /> <setting id="pbx_credentials" value="1" account_id="1234" host="server.example.com" user="1234" pass="my password" /> <setting id="login_password" value="789" /> <setting id="use_secure_labels" value="0" /> <setting id="send_mac_with_useragent" value="0" /> <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="ntp_prefer_option42" value="1" /> <setting id="accept_local_calls" value="any" /> <setting id="compact_sip_headers" value="0" /> <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="transport_tls_allowed" value="1" /> <setting id="transport_tls_port" value="5061" /> <setting id="enable_ice" value="0" /> <setting id="stunaddr" value="" /> <setting id="tls_allow_wildcard_certs" value="1" /> <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="wallpaper_file" value="user" path="/user_wallpaper.png" url="https://server.example.com/wallpaper.png" md5="126cd744583eeea1ab7e44ed8af3d39d" /> <setting id="display_mc_notification" value="1" /> <setting id="display_pickup_notification" value="1" /> <setting id="prefer_dialpad_over_incoming" value="0" /> <setting id="hide_completed_elsewhere" value="0" /> <setting id="small_clock" value="0" /> <setting id="idle_company_text" value="" /> <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="blf_page_return_timeout" value="0" /> <setting id="default_fontsize" value="10" /> <setting id="locale" value="en_US" /> <setting id="time_short_format" value="h:mm a" /> <setting id="date_short_format" value="M/d/yy" /> <setting id="date_time_format" value="{1}, {0}" /> <setting id="idle_screen_clock_format" value="{0} EEE, MMM d" /> <setting id="ringer_volume" value="5" /> <setting id="lock_ringing_volume" value="0" /> <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="call_control_checkx" value="0" /> <setting id="parking_lot_extension" value="700" /> <setting id="parking_lot_enable_blind_transfer" value="0" /> <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="use_call_photos" value="0" url="https://user:password@server.example.com/photos?did=" /> <setting id="expansion_enable" value="0" type="EXP100" page_indicators="0" /> <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_disable_arping" value="0" /> <setting id="allow_insecure_ssl" value="0" /> <setting id="network_ipv6_enabled" value="0"/> <setting id="network_ipv6_preferred" value="0"/> <setting id="network6_static_ip_address" value=""/> <setting id="network6_mask" value=""/> <setting id="network6_default_gateway" value=""/> <setting id="enable_tcp_sack" value="0" /> <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" /> <setting id="rtp_start_port" value="4000" /> <setting id="in_switchvox_environment" value="0" /> <setting id="server_environment" value="" /> <setting id="allow_app_dev" value="0" /> <setting id="handshake_timeout" value="86400" /> <setting id="retransmit_until_response" value="0" /> <setting id="8021x_passthrough" value="0"/> <setting id="8021x_eapol_on_disconnect" value="0"/> <setting id="8021x_method" value=""/> <setting id="8021x_identity" value=""/> <setting id="8021x_anonymous_identity" value=""/> <setting id="8021x_password" value=""/> <setting id="8021x_client_key" value="my-client-key"/> <setting id="8021x_client_cert" value="my-client-cert"/> <setting id="8021x_debug" value="" /> <setting id="network_default_enable_openvpn" value="0" /> <setting id="openvpn_root_cert" url="https://user:password@server.example.com/vpn/ca.crt" value="ca.crt" /> <setting id="openvpn_inline_config" url="https://user:password@server.example.com/vpn/client.ovpn" value="1" md5="abc123" /> <setting id="rtapi_server_url" value="wss://server.example.com:443/rtapi/socket.io" /> <setting id="config_recheck" value="0" idle_time="1800" days="0123456" start_time="2200" hours="4" /> <events> <event id="digium.incomingCall.voicemail" action="app" /> <event id="digium.parkingLot.parked" action="app" /> </events> <keymap> <state id="idle"> <softkeys> <key id="0" action="missed_or_call_log"/> <key id="1" action="show_application" label1="_CONTACTS"> <arg>contacts</arg> </key> <key id="2" action="status"/> <key id="3" action="info"/> <key id="4" action="forward_calls" label1="_FORWARD"/> <key id="5" action="menu"/> </softkeys> </state> <state id="hold"> <softkeys> <key id="0" action="resume"/> <key id="1" action="none"/> <key id="2" action="none"/> <key id="3" action="end_call"/> </softkeys> </state> <state id="hold/transfer"> <softkeys> <key id="0" action="resume"/> <key id="1" action="show_application" label1="_CONTACTS"> <arg>contacts</arg> </key> <key id="2" action="none"/> <key id="3" action="cancel_call"/> </softkeys> </state> <state id="hold/conference"> <softkeys> <key id="0" action="resume"/> <key id="1" action="split_conference"/> <key id="2" action="none"/> <key id="3" action="end_call"/> </softkeys> </state> <state id="hold/preconference"> <softkeys> <key id="0" action="resume"/> <key id="1" action="show_application" label1="_CONTACTS"> <arg>contacts</arg> </key> <key id="2" action="none"/> <key id="3" action="end_call"/> </softkeys> </state> <state id="incoming"> <softkeys> <key id="0" action="accept_call"/> <key id="1" action="reject_call"/> <key id="2" action="transfer_call"/> </softkeys> </state> <state id="incoming/transfer"> <softkeys> <key id="0" action="show_application" label1="_CONTACTS"> <arg>contacts</arg> </key> <key id="1" action="none"/> <key id="2" action="none"/> <key id="3" action="cancel_call"/> </softkeys> </state> <state id="connected"> <softkeys> <key id="0" action="conference"/> <key id="1" action="none"/> <key id="2" action="none"/> <key id="3" action="end_call"/> </softkeys> </state> <state id="connected/conference"> <softkeys> <key id="0" action="none"/> <key id="1" action="split_conference"/> <key id="2" action="none"/> <key id="3" action="end_call"/> </softkeys> </state> <state id="connected/transfer"> <softkeys> <key id="0" action="transfer_call"/> <key id="1" action="none"/> <key id="2" action="none"/> <key id="3" action="end_call"/> </softkeys> </state> <state id="dial"> <softkeys> <key id="0" action="toggle_url_number"/> <key id="1" action="show_application" label1="_CONTACTS"> <arg>contacts</arg> </key> <key id="2" action="none"/> <key id="3" action="cancel_call"/> </softkeys> </state> <state id="dial/conference"> <softkeys> <key id="0" action="none"/> <key id="1" action="show_application" label1="_CONTACTS"> <arg>contacts</arg> </key> <key id="2" action="none"/> <key id="3" action="cancel_call"/> </softkeys> </state> <state id="dial/transfer"> <softkeys> <key id="0" action="none"/> <key id="1" action="show_application" label1="_CONTACTS"> <arg>contacts</arg> </key> <key id="2" action="none"/> <key id="3" action="cancel_call"/> </softkeys> </state> <state id="dialing"> <softkeys> <key id="0" action="make_call"/> <key id="1" action="backspace"/> <key id="2" action="none"/> <key id="3" action="cancel_call"/> </softkeys> </state> <state id="dialing/conference"> <softkeys> <key id="0" action="make_call"/> <key id="1" action="show_application" label1="_CONTACTS"> <arg>contacts</arg> </key> <key id="2" action="backspace"/> <key id="3" action="cancel_call"/> </softkeys> </state> <state id="dialing/transfer"> <softkeys> <key id="0" action="transfer_call"/> <key id="1" action="make_call"/> <key id="2" action="backspace"/> <key id="3" action="cancel_call"/> </softkeys> </state> <state id="failed"> <softkeys> <key id="0" action="none"/> <key id="1" action="none"/> <key id="2" action="none"/> <key id="3" action="clear_call"/> </softkeys> </state> <state id="calling"> <softkeys> <key id="0" action="none"/> <key id="1" action="none"/> <key id="2" action="none"/> <key id="3" action="end_call"/> </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" plar_number="" ring_type="normal" subscription_extension="auto_hint_100" mwi_subscription_uri-"" conflict="replace"> <host_primary server="10.10.2.108" port="" transport="udp" media_encryption="" reregister="300" retry="25"> <outbound_proxy server="" port="" transport="" /> </host_primary> <host_alternate server="10.1.2.3" port="" transport="udp" media_encryption="" reregister="300" retry="25" authname="" password=""> <outbound_proxy server="" port="" transport="" /> </host_alternate> <permission id="record_own_calls" value="0" /> <setting id="use_call_log_api" value="0" /> <setting id="call_log_fetch_entries" value="50" /> <setting id="parking_lot_extension" value="700" /> <setting id="parking_lot_enable_blind_transfer" value="0" /> <permission id="use_voicemail" value="1" /> <permission id="send_to_voicemail" value="1" /> <permission id="ignore_calls" value="1" /> </account> </accounts> <networks> <network id="network1" display_name="Internal" cidr="192.168.8.0/24" /> <network id="network2" display_name="External" cidr="10.0.0.0/8" /> <network id="network3" display_name="All Networks" cidr="0.0.0.0/0" /> </networks> <codecs> <codec id="PCMU" priority="255" packetization="20" enabled="1" /> <codec id="PCMA" priority="13" packetization="20" enabled="1" /> <codec id="G722" priority="11" packetization="20" enabled="1" /> <codec id="G7221" priority="10" packetization="20" enabled="1" samplerate="uwb" bitrate="48000" /> <codec id="G726-32" priority="7" packetization="20" enabled="1" /> <codec id="opus" priority="6" packetization="20" jitter_min="0" jitter_max="0" jitter_target="0" enabled="1" complexity="10" samplerate="wb" use_vbr="0" /> <codec id="G729" priority="5" packetization="20" jitter_min="0" jitter_max="0" jitter_target="0" enabled="1" /> <codec id="iLBC" priority="4" packetization="30" 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="bluetooth" /> <application id="voicemail" /> <application id="parking" /> <application id="status" /> <application id="contacts" /> <application id="queues" /> <application id="call_log" /> <application id="forward_calls" /> <application id="hotdesking" /> <application id="conferences" /> <auto_start /> </appconfig> <appconfig id="phonemenu"> <auto_start /> </appconfig> <appconfig id="contacts"> <account account_id="101" username="101" password="1234" appserver="dasp://server.example.com/json" apiformat="json"/> <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" use_local_storage="0" preferred_contact_group="" /> <settings in_switchvox_environment="0" /> <auto_start /> </appconfig> <appconfig id="status"> <account account_id="101" username="101" password="1234" appserver="dasp://server.example.com/json" apiformat="json"/> <send_dnd status="" /> <auto_start /> <full_application /> </appconfig> <appconfig id="queues"> <account account_id="101" username="101" password="1234" appserver="dasp://server.example.com/json" apiformat="json"/> <auto_start /> </appconfig> <appconfig id="parking"> <account account_id="101" username="101" password="1234" appserver="dasp://server.example.com/json" apiformat="json"/> <auto_start /> </appconfig> <appconfig id="voicemail"> <account account_id="101" username="101" password="1234" appserver="dasp://server.example.com/json" apiformat="json"/> <settings require_password="0" /> <auto_start /> </appconfig> <appconfig id="hotdesking" use_pbx_credentials="1" status="logged_in"> <account account_id="000000000000" username="000000000000" appserver="https://server.example.com/json" apiformat="json"/> </appconfig> <appconfig id="conferences"> <enabled /> <default_bridge pin="1234"/> </appconfig> <appconfig id="call_log"> <account account_id="101" username="101" password="1234" appserver="dasp://server.example.com/json" apiformat="json"/> <enabled /> </appconfig> <appconfig id="mycustomapp"> <url url="http://server.example.com/myapp.zip" /> <settings mysettinga="1" mysettingb="2" mysettingc="telephone" /> </appconfig> <firmwares> <firmware model="D40" version="2_8_0" url="http://10.10.4.11/firmware/2_8_0_D40_firmware.eff" /> <firmware model="D45" version="2_8_0" url="http://10.10.4.11/firmware/2_8_0_D45_firmware.eff" /> <firmware model="D50" version="2_8_0" url="http://10.10.4.11/firmware/2_8_0_D50_firmware.eff" /> <firmware model="D60" version="2_8_0" url="http://10.10.4.11/firmware/2_8_0_D60_firmware.eff" /> <firmware model="D62" version="2_8_0" url="http://10.10.4.11/firmware/2_8_0_D62_firmware.eff" /> <firmware model="D65" version="2_8_0" url="http://10.10.4.11/firmware/2_8_0_D65_firmware.eff" /> <firmware model="D70" version="2_8_0" url="http://10.10.4.11/firmware/2_8_0_D70_firmware.eff" /> <firmware model="D80" version="2_8_0" url="http://10.10.4.11/firmware/2_8_0_D80_firmware.eff" /> <firmware model="EXP100" version="2.0.5.1" url="http://10.10.4.11/firmware/EXP100-2051.rom" /> </firmwares> <public_firmwares> <public_firmware model="D40" version="2_8_0" url="http://firmware.example.com/firmware/2_8_0_D40_firmware.eff" /> <public_firmware model="D45" version="2_8_0" url="http://firmware.example.com/firmware/2_8_0_D45_firmware.eff" /> <public_firmware model="D50" version="2_8_0" url="http://firmware.example.com/firmware/2_8_0_D50_firmware.eff" /> <public_firmware model="D60" version="2_8_0" url="http://firmware.example.com/firmware/2_8_0_D60_firmware.eff" /> <public_firmware model="D62" version="2_8_0" url="http://firmware.example.com/firmware/2_8_0_D62_firmware.eff" /> <public_firmware model="D65" version="2_8_0" url="http://firmware.example.com/firmware/2_8_0_D65_firmware.eff" /> <public_firmware model="D70" version="2_8_0" url="http://firmware.example.com/firmware/2_8_0_D70_firmware.eff" /> <public_firmware model="D80" version="2_8_0" url="http://firmware.example.com/firmware/2_8_0_D80_firmware.eff" /> <public_firmware model="EXP100" version="2.0.5.1" url="http://firmware.example.com/firmware/2.0.5.1/EXP100-2051.rom" /> </public_firmwares> <multicastpage> <listener id="1" extension="" name="SomePage" addr="239.0.0.1" port="32000" priority="1" interrupt_calls="0"/> <listener id="2" extension="" name="All Page" addr="239.0.0.2" port="32000" priority="2" interrupt_calls="1"/> <broadcast id="1" name="All Page Group" addr="239.0.0.3" port="32000" codec="PCMU"/> </multicastpage> <certs> <cert id="1" label="my-ca" md5="abc123">MIICXQIBAAKB...XYZ</cert> <clientcert id="1" label="my-client-cert" md5="abc123">MIICXQIBAAKB...XYZ</clientcert> <clientkey id="1" label="my-client-key" type="RSA" md5="abc123">MIICXQIBAAKB...XYZ</clientkey> </certs> <activity_indicator> <setting id="idle" color="amber" state="off" /> <setting id="default" color="amber" state="off" /> <setting id="hold" color="red" state="slow" /> <setting id="ringing" color="green" state="fast" /> <setting id="active" color="green" state="on" /> <setting id="new_vm" color="red" state="slow" /> <setting id="listen_vm" color="red" state="on" /> <setting id="leaving_vm" color="amber" state="slow" /> <setting id="screen_vm" color="amber" state="on" /> <setting id="announcement" color="amber" state="fast" /> </activity_indicator> <use_proxy_for network="10.10.0.0/20" network_id="1" host="10.1.2.3" use="0" /> </config>

Setting Elements

 

XML Setting Elements

<?xml version="1.0" ?> <config> <setting id="config_server_url" value="sip:proxy@server.example.com:5060;transport=udp" /> <setting id="pbx_credentials" value="1" account_id="1234" host="server.example.com" user="1234" pass="my password" /> <setting id="login_password" value="789" /> <setting id="send_mac_with_useragent" value="0" /> <setting id="use_secure_labels" value="0" /> <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="ntp_prefer_option42" value="1" /> <setting id="accept_local_calls" value="any" /> <setting id="compact_sip_headers" value="0" /> <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="transport_tls_allowed" value="1" /> <setting id="transport_tls_port" value="5061" /> <setting id="enable_ice" value="0" /> <setting id="stunaddr" value="" /> <setting id="tls_allow_wildcard_certs" value="1" /> <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="wallpaper_file" value="user" path="/user_wallpaper.png" url="https://server.example.com/wallpaper.png" md5="126cd744583eeea1ab7e44ed8af3d39d" /> <setting id="display_mc_notification" value="1" /> <setting id="display_pickup_notification" value="1" /> <setting id="prefer_dialpad_over_incoming" value="0" /> <setting id="hide_completed_elsewhere" value="0" /> <setting id="small_clock" value="0" /> <setting id="idle_company_text" value="" /> <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="blf_page_return_timeout" value="0" /> <setting id="default_fontsize" value="10" /> <setting id="locale" value="en_US"/> <setting id="time_short_format" value="h:mm a" /> <setting id="date_short_format" value="M/d/yy" /> <setting id="date_time_format" value="{1}, {0}" /> <setting id="idle_screen_clock_format" value="{0} EEE, MMM d" /> <setting id="ringer_volume" value="5" /> <setting id="lock_ringing_volume" value="0" /> <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="call_control_checkx" value="0" /> <setting id="parking_lot_extension" value="700" /> <setting id="parking_lot_enable_blind_transfer" value="0" /> <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="use_call_photos" value="0" url="https://user:password@server.example.com/photos?did=" /> <setting id="expansion_enable" value="0" type="EXP100" page_indicators="0" /> <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_disable_arping" value="0" /> <setting id="allow_insecure_ssl" value="0" /> <setting id="network_ipv6_enabled" value="0"/> <setting id="network_ipv6_preferred" value="0"/> <setting id="network6_static_ip_address" value=""/> <setting id="network6_mask" value=""/> <setting id="network6_default_gateway" value=""/> <setting id=""enable_tcp_sack" value="0" /> <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="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" /> <setting id="rtp_start_port" value="4000" /> <setting id="in_switchvox_environment" value="0" /> <setting id="server_environment" value="" /> <setting id="allow_app_dev" value="0" /> <setting id="handshake_timeout" value="86400" /> <setting id="retransmit_until_response" value="0" /> <setting id="8021x_passthrough" value="0"/> <setting id="8021x_eapol_on_disconnect" value="0"/> <setting id="8021x_method" value=""/> <setting id="8021x_identity" value=""/> <setting id="8021x_anonymous_identity" value=""/> <setting id="8021x_password" value=""/> <setting id="8021x_client_cert" value=""/> <setting id="8021x_client_key" value=""/> <setting id="8021x_debug" value="" /> <setting id="network_default_enable_openvpn" value="0" /> <setting id="openvpn_inline_config" url="https://user:password@server.example.com/vpn/client.ovpn" value="1" md5="abc123" /> <setting id="rtapi_server_url" value="wss://server.example.com:443/rtapi/socket.io" /> <setting id="config_recheck" value="0" idle_time="1800" days="0123456" start_time="2200" hours="4" /> </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

Models

config_server_url

The URL of the DPMA / Switchvox config server in the format:
sip:proxy@host:port;transport=xyz

or:


[protocol://][user:password@]server[:port][/path] 

For phones attached to DPMA or Switchvox, contains the URL path to the config server. Transport type is dependent upon model and firmware version. sip:proxy is a literal.

Specifies the URL string that the Sangoma phone's cURL application will call in order to retrieve the phone's configuration file.

No default. 

D40, D45, D50, D60, D62, D65, D70, D80

pbx_credentials

value as string
account_id per Switchvox
host as the Switchvox hostname
user as the Switchvox account username
pass as the Switchvox account API password 

For Switchvox-connected phones only, specifies the set of credentials used by an application when the use_pbx_credentials appconfig parameter is true. This should be omitted for phones connecting to something other than Switchvox.

No default.

D40, D45, D50, D60, D62, D65, D70, D80

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

D40, D45, D50, D60, D62, D65, D70, D80

send_mac_with_useragent

boolean

If 1, the phone will send its MAC address long with its Model and Firmware version in any cURL User-Agent requests that it makes.

Defaults to 0.

D40, D45, D50, D60, D62, D65, D70 (2_2_2_3)

D80 (1_4_3)

use_secure_labels

boolean

If 1, the phone will replace the config fetch URL with "Server" on boot and will disguise user and password inputs on Bootconfig Server URL entry screen with * characters.

Defaults to 0.

D40, D45, D50, D60, D62, D65, D70 (2_2_0_6)

General (Time)

Option

Values

Description

Models

time_zone

Timezone String, e.g. America/Chicago

Sets the time zone for the phone.

Defaults to America/Los_Angeles

D40, D45, D50, D60, D62, D65, D70, D80

time_source

"ntp"

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

Defaults to ntp.

D40, D45, D50, D60, D62, D65, D70, D80

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

D40, D45, D50, D60, D62, D65, D70, D80

ntp_resync

Seconds as integer, e.g. 86400

Sets the interval between NTP synchronization.

Defaults to 86400.

D40, D45, D50, D60, D62, D65, D70, D80

ntp_prefer_option42

boolean

If 1, the phone will prefer and use an IPv4 address, not host name, NTP server, first server only and not multiple servers, as provided by DHCP Option 42. If 0, the phone will ignore DHCP Option 42.

Defaults to 1.

D40, D45, D50, D60, D62, D65, D70 (2_7_0)

General (SIP)

Option

Values

Description

Models

accept_local_calls

any / host

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

Defaults to any.

D40, D45, D50, D60, D62, D65, D70, D80

compact_sip_headers

boolean, Defaults to 0

If enabled, causes the phone to utilize the compact form of SIP headers, rather than the expanded form, as well as causing the phone not to enumerate the statically defined codec payload types

D40, D45, D50, D60, D62, D65, D70 (2_8_4)
D80 (1_11_0)

transport_udp_enabled

boolean

If 1, enables UDP SIP transport. If 0, disables UDP SIP transport.

Defaults to 1

D40, D45, D50, D60, D62, D65, D70, D80

transport_udp_port

Valid integer for ports (1-65535)

Sets the local UDP SIP port.

Defaults to 5060

D40, D45, D50, D60, D62, D65, D70, D80

transport_tcp_enabled

boolean

If 1, enables TCP SIP transport. If 0, disables TCP SIP transport.

Defaults to 1

D40, D45, D50, D60, D62, D65, D70, D80 (1_9_0)

transport_tcp_port

Valid integer for ports (1-65535 )

Sets the local TCP SIP port.

Defaults to 5060

D40, D45, D50, D60, D62, D65, D70, D80 (1_9_0)

transport_tls_allowed

boolean

If 1, enables TLS SIP transport. If 0, disables TLS SIP transport.

Defaults to 1

D60, D62, D65 (2_1_0_6), D80 (1_12_0)

transport_tls_port

Valid integer for ports (1-65535)

Sets the local TLS SIP port.

Defaults to 5061

D60, D62, D65 (2_1_0_6), D80 (1_12_0)

enable_ice

boolean, defaults to 0

If enabled, ICE candidates will be gathered

D80 (1_12_1)

stunaddr

string, defaults to turn.respoke.io:443

Sets the address of the STUN server to be used. Address is in the format stun.example.com:3478. If omitted, the default port of 3478 will be used.

D80 (1_12_1)

tls_allow_wildcard_certs

boolean, defaults to 1

If enabled, SIP TLS signaling will accept a wildcard certificate as valid, contrary to RFC 5922 section 7.2

D60, D62, D65 (2_9_2), D80 (1_12_1)

udp_ka_interval

integer, in seconds

Sets the UDP keep alive interval, at which the phone will send CR-LF to the registered server.

Defaults to 0, never.

D40, D45, D50, D60, D62, D65, D70, D80

Preferences (Idle Screen)

Option

Values

Description

Models

logo_file

value as "factory" or "user"
path as location on disk of file
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.

value defaults to factory.

path defaults to "/factory_asterisk.png" and should be "/user_image.png" for custom

D40, D45, D50, D60, D62, D65, D70, D80

wallpaper_file

value as "factory" or "user"
path as location on disk of file
url as optional location to fetch a logo
md5 as optional when url is used to determine if wallpaper has changed to avoid re-fetching

Sets the wallpaper

value defaults to factory.

path defaults to "/factory_wallpaper.png" and should be "/user_wallpaper.png" for custom

D60, D62, D65 (2_2_1_0)

display_mc_notification

boolean

If 1, enables display of missed calls. If 0, disables display of missed calls.

Defaults to 1

D40, D45, D50, D60, D62, D65, D70, D80

display_pickup_notification

boolean

If 1, enables display of pickup notifications. If 0, disables display of pickup notifications.

Defaults to 1.

D80 (1_8_0)

prefer_dialpad_over_incoming

boolean

If 1, the phone will keep the dial pad in the foreground during transfer operations, deferring new incoming calls received while in the transfer state to the background

D80 (1_12_4)

hide_completed_elsewhere

boolean

If 1, the phone to not register a call, missed or otherwise, when receiving RFC 3326 "Call completed elsewhere" SIP Reason. If 0, all calls that are canceled from the remote side before answer by the local phone will show as missed.

Defaults to 0.

D40, D45, D50, D60, D62, D65, D70 (2_2_1_1)

small_clock

boolean

If 1, the phone will display a small time and date on the idle screen. If 0, the regular, large format clock will be displayed on the idle screen. Applies only to D6x models of phones.

Defaults to 0. 

D60, D62, D65 (2_2_1_0)

idle_company_text

string

When set, the phone will display this string in its status bar while idle and no other status notification icons are active.

No default.

D60, D62, D65 (2_2_1_4)

Preferences (Display)

Option

Values

Description

Models

brightness

integer (1-10)

Sets the LCD screen brightness

Defaults to 5

D40, D45, D50, D60, D62, D65, D70, D80

contrast

integer (0-10)

Sets the LCD screen contrast

Defaults to 5

D40, D45, D50, D70

enable_check_sync

boolean

If 1, the phone will perform a reconfigure when sent a check-sync SIP NOTIFY Event from the server to which it is registered. This option is affected by the accept_calls_option. When the accept_any_calls option is set to "host," only check-sync Events from registered hosts will be acted upon. When the accept_any_calls option is set to "any," any check-sync Event from any host will be acted upon. If 0, the phone will ignore check-sync events.

Defaults to 1.

D40, D45, D50, D60, D62, D65, D70, D80

dim_backlight

boolean

If 1, the screen will dim after the backlight timeout has been reached and phone is otherwise idle. If 0, the phone will not dim the screen.

Defaults to 1

D40, D45, D50, D60, D62, D65, D70, D80

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

D40, D45, D50, D60, D62, D65, D70, D80

backlight_dim_level

integer (0-10)

Brightness level dims to when when dim_backlight is true.

Defaults to 2

D40, D45, D50, D60, D62, D65, D70, D80

blf_page_return_timeout

integer (0-60)

Time, in seconds, that elapses before a D65 will return to its first page of rapid dial favorites.

Defaults to 0 (never return).

D65 (2_2_0_6)

default_fontsize

integer (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.

D40, D45, D50, D70

Preferences (Localization)

Option

Values

Description

Models

locale

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

Specifies the locale used by the phone. ru_RU applies only to D6x models of phones.

Defaults to en_US.

D40, D45, D50, D60, D62, D65, D70

D80 (1_4_0)

time_short_format

an ICU date/time pattern

Sets the time format used by the phone when displaying the small clock. This setting is normally controlled by the phone's configured locale.

Defaults to h:mm a

D40, D45, D50, D60, D62, D65, D70

date_short_format

an ICU date/time pattern

Sets the date format used by the phone when displaying the short date. This setting is normally controlled by the phone's configured locale.

Defaults to M/d/yy

D40, D45, D50, D60, D62, D65, D70

date_time_format

string

Sets the date and time format used by the phone. This setting is normally controlled by the phone's configured locale. {0} represents time, and {1} represents the date.

Defaults to {1}, {0}

D40, D45, D50, D60, D62, D65, D70

idle_screen_clock_format

an ICU date/time pattern

Sets the clock format used by the phone on its idle screen. This setting is normally controlled by the phone's configured locale.

Defaults to {0} EEE, MMM d

D40, D45, D50, D60, D62, D65, D70

ICU Date Patterns

An ICU date/time pattern may contain the following character sequences:

a : am/pm

d : day of month (1 - 31)

dd : day of month (01 - 31)

EEE : day of week abbreviated

EEEE : day of week full name

h : 12 hour clock hour of day (1 - 12)

hh : 12 hour clock hour of day (01 - 12)

m : minutes of hour (00 - 59)

mm : minutes of hour (00 - 59)

M : month of year (1 - 12)

MM : month of year (01 - 12)

MMM : month of year, abbreviated (Jan, Feb, etc.)

MMMM : month of year (January, February, etc.)

s : seconds of minute (01 - 59)

ss : seconds of minute (01 - 59)

yy : 2 digit year, no century

yyyy : 4 digit year

zzz : timezone abbreviation (may not conform to ICU)

zzzz : timezone full name (may not conform to ICU)

'' : Characters between single quotes are considered literal strings. No substitutions are performed.

Matching of ICU pattern characters is greedy, e.g. "yyyyy" will be converted to "2012y"

Preferences (Sounds)

Option

Values

Description

Models

ringer_volume

integer (0-10)

Sets the ringer volume.

Defaults to 5

D40, D45, D50, D60, D62, D65, D70, D80

lock_ringing_volume

boolean

If 1, the phone's hard ringing key will not change the ringing-volume of the phone. If 0, the hard ringing key will be able to change the ringing-volume of the phone.

Defaults to 0.

D40, D45, D50, D60, D62, D65, D70 (2_2_2_3)

speaker_volume

integer (1-10)

Sets the speaker volume.

Defaults to 5

D40, D45, D50, D60, D62, D65, D70, D80

handset_volume

integer (1-10)

Sets the handset volume.

Defaults to 5

D40, D45, D50, D60, D62, D65, D70, D80

headset_volume

integer (1-10)

Sets the headset_volume.

Defaults to 5

D40, D45, D50, D60, D62, D65, D70, D80

handset_sidetone_db

Integer, e.g. -25

Sets the gain, in negative dBs, for sidetone presented on the phone's handset. Sangoma cautions against changing this value.

Defaults to -25.

D40, D45, D50, D60, D62, D65, D70

headset_sidetone_db

Integer, e.g. -15

Sets the gain, in negative dBs, for sidetone presented on the phone's headset. Sangoma cautions against changing this value.

Defaults to -15.

D40, D45, D50, D60, D62, D65, D70

reset_call_volume

boolean

If 1, volume changes made during a call do not persist to the next call. If 0, volume changes made during a call persist for subsequent calls.

Defaults to 0

D40, D45, D50, D60, D62, D65, D70, D80

active_ringtone

Tone ID from <tones> provided to phone

Sets the current user-selected ringtone.

Defaults to Digium

D40, D45, D50, D60, D62, D65, D70, D80

Preferences (Answering Calls)

Option

Values

Description

Models

headset_answer

boolean

If 1, the phone will use direct calls answered using the Answer soft key to the headset, rather than the handsfree speaker. If 0, the phone will direct calls answered using the Answer soft key to the handsfree speaker.

Defaults to 0

D40, D45, D50, D60, D62, D65, D70, D80

ring_headset_only

boolean

If 1, the phone will play ringing tones out the headset interface. If 0, the phone will play ringing tones out the handsfree speaker.

Defaults to 0

D40, D45, D50, D60, D62, D65, D70, D80

call_waiting_tone

boolean

If 1, the phone will play a call waiting tone when other calls are received. If 0, the phone phone will not playback a call waiting tone

Defaults to 1.

D40, D45, D50, D60, D62, D65, D70, D80

ehs

auto, jabra_iq, plantronics

Defines the Electronics Hookswitch type to support.

Defaults to auto.

D40, D45, D50, D60, D62, D65, D70, D80

call_control_checkx

boolean,

If 1, allows the confirmation key to answer a call and the x-key to reject a call. If 0, the confirmation key will not answer a call nor will the x-key reject a call.

Defaults to 0.

D60, D62, D65 (2_6_6)

parking_lot_extension

string

For Switchvox and DPMA environments, specifies the lot in which a call is transferred using the Park soft key. This option must be defined also, duplicating the account-level parking_lot_extension setting.

No default.

D40, D45, D50, D60, D62, D65, D70, D80

parking_lot_enable_blind_transfer

boolean

For Switchvox and DPMA environments, specifies the type of call parking transfer to perform. If 1, a blind transfer will be performed. If 0, an attended transfer will be performed. This option must be defined also, duplicating the account-level parking_lot_enable_blind_transfer setting.

Defaults to 0.

D40, D45, D50, D60, D62, D65, D70, D80

Contacts

Option

Values

Description

Models

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 0.

D50, D70

contacts_max_subscriptions

integer, e.g. 40

Sets the maximum number of SUBSCRIBEs the phone will perform for contacts.

Defaults to 40.

D40, D45, D50, D60, D62, D65, D70, D80

name_format

first_last, last_first

Formats the display of contact names.

Defaults to first_last

D40, D45, D50, D60, D62, D65, D70, D80

blf_contact_group

Any group_name from the loaded contacts

The group_name of the contact list group to which the phone will subscribe. If this setting is blank, the phone will not subscribe for any indicators and no device state LEDs will light nor presence update.

No default.

D40, D45, D50, D60, D62, D65, D70, D80

use_call_photos

value as boolean, defaults to 0

url as url

If enabled, the phone will make a cURL request to the defined URL and append the called or calling number. The phone expects to receive a 64x64 RGBI PNG format photo that it will use on the left side of the call card.

D40, D45, D50, D70
D60, D62, D65 (2_8_0)
D80 (1_10_0) 

expansion_enable

value as boolean, defaults to 0

type="EXP100"

page_indicators as boolean, defaults to 0

If enabled, the phone will start its expansion module daemon and will support expansion modules. At present, the only type supported is EXP100, which also supports the EXP150. Enabling this prevents the phone from using VLAN ID 3182 and prevents downstream devices, i.e. laptops, from making outbound requests (any protocol) on port 10024, 10025, and 10026. If page_indicators (2_9_1) is enabled, the unit will display a dot indicator for item activity on the non-active screen.

D65 (2_8_0)

Network (IP Settings)

Option

Values

Description

Models

network_enable_dhcp

boolean

If 1, enables DHCPv4/v6 network configuration. If 0, DHCP configuration is not used.

Defaults to 1

D40, D45, D50, D60, D62, D65, D70, D80

network_static_ip_address

IPv4 address

Defines the network address for the phone.

No default.

D40, D45, D50, D60, D62, D65, D70, D80

network_subnet_mask

IPv4 netmask

Defines the netmask for the phone.

No default.

D40, D45, D50, D60, D62, D65, D70, D80

network_default_gateway

IPv4 address

Defines the network gateway for the phone.

No default.

D40, D45, D50, D60, D62, D65, D70, D80

network_primary_dns_server

IPv4 address

Defines the primary DNS server for the phone.

No default.

D40, D45, D50, D60, D62, D65, D70, D80

network_secondary_dns_server

IPv4 address

Defines the secondary DNS server for the phone.

No default.

D40, D45, D50, D60, D62, D65, D70, D80

network_disable_arping 

boolean

If 1, causes the phone to not ARP for an in-use address as-provided by a DHCP server, before using it. If 0, the phone will ARP for other devices responding to the same IP address before accepting the address from the DHCP server.

Defaults to 0.

D40, D45, D50, D60, D62, D65, D70 (2_3_6)

allow_insecure_ssl

boolean

By default, phones will not, using SSL, connect to self-signed servers. Instead, they will only connect to publicly-signed server. To allow the phone to connect to a self-signed server, set this option to 1.

Defaults to false.

D40, D45, D50, D60, D62, D65, D70 (2_3_0)

D80 (1_5_0)

network_ipv6_enabled

boolean

If 1, the phone will attempt IPv6 networking, in addition to IPv4 networking.

Defaults to 0.

Support for IPv6 is in beta. DHCP IPv4 is still required at present.

D60, D62, D65 (2_5_0)

network_ipv6_preferred

boolean

If 1, name servers returned by an IPv6 DHCP server will be tried first in the phone's DNS resolution.

Defaults to 0.

Support for IPv6 is in beta. DHCP IPv4 is still required at present.

D60, D62, D65 (2_5_0)

network6_static_ip_address

IPv6 address

Defines the phone's IPv6 address, if it is not to be retrieved from a DHCPv6 server.

No default.

Support for IPv6 is in beta. DHCP IPv4 is still required at present.

D60, D62, D65 (2_5_0)

network6_mask

IPv6 network mask

Defines the phone's IPv6 network mask, if it is not to be retrieved from a DHCPv6 server.

No default.

Support for IPv6 is in beta. DHCP IPv4 is still required at present.

D60, D62, D65 (2_5_0)

network6_default_gateway

IPv6 address

Defines the phone's IPv6 default gateway, if it is not to be retrieved from a DHCPv6 server.

No default.

Support for IPv6 is in beta. DHCP IPv4 is still required at present.

D60, D62, D65 (2_5_0)

enable_tcp_sack

boolean, Defaults to 0

If enabled, causes phone to enable TCP SACK processing. Defaults too disabled.

D40, D45, D50, D60, D62, D65, D70 (2_8_4)
D80 (1_11_0)

Network (Virtual LAN)

Option

Values

Description

Models

network_vlan_discovery_mode

NONE, MANUAL, LLDP

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

Defaults to LLDP

D40, D45, D50, D60, D62, D65, D70, D80

network_vlan_id

integer (0-4095)

Sets the VLAN ID. VLAN ID 3182 is reserved ifexpansion_enable is enabled for D65 model phones.

No default.

D40, D45, D50, D60, D62, D65, D70, D80

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. This function is not available when the PC port is attached to an EXP150 expansion module. VLAN ID 1 is reserved for D80 model phones.

No default.

D40, D45, D50, D60, D62, D65, D70, D80

Network (Interfaces)

Option

Values

Description

Models

lan_port_mode

auto, 10hd, 10fd, 100hd, 100fd, 1000fd

Sets the port speed for the phone's LAN port. "auto" will perform auto-negotiation.

Defaults to auto.

D40, D45, D50, D60, D62, D65, D70

pc_port_mode

auto, 10hd, 10fd, 100hd, 100fd, 1000fd, off

Sets the port speed for the phone's PC port. "auto" will perform auto-negotiation; "off" disables the port."

Defaults to auto.

D40, D45, D50, D60, D62, D65, D70

Logging

Option

Values

Description

Models

log_level

error, warning, debug, information

Sets the logging level.

Defaults to information

D40, D45, D50, D60, D62, D65, D70

log_server

IPv4 address of syslog server

Specifies remote syslog server.

No default.

D40, D45, D50, D60, D62, D65, D70

log_port

port as integer

Specifies port of remote syslog server.

No default.

D40, D45, D50, D60, D62, D65, D70

enable_logging

boolean

If 1, the phone will send log events to a remove syslog server. If 0, the phone will not send log events to a remote syslog server.

Defaults to 0

D40, D45, D50, D60, D62, D65, D70

Miscellaneous

Option

Values

Description

Models

web_ui_enabled

boolean

If 1, enables the phone's built-in web interface. If 0, disables the phone's built-in web interface.

Defaults to 1 (Enabled)

D40, D45, D50, D60, D62, D65, D70

sip_qos

integer (0-7)

Sets the SIP signaling QOS level

Defaults to 3.

D40, D45, D50, D60, D62, D65, D70, D80

rtp_qos

integer (0-7)

Sets the RTP media QOS level.

Defaults to 6.

D40, D45, D50, D60, D62, D65, D70, D80

pc_qos

integer (0-7)

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

No default.

D40, D45, D50, D60, D62, D65, D70, D80

sip_dscp

integer (0-63)

Specifies the DSCP field of the DiffServ byte for SIP Signaling QoS.

Defaults to 24

D40, D45, D50, D60, D62, D65, D70, D80

rtp_dscp

integer (0-63)

Specifies the DSCP field of the DiffServ byte for RTP Media QoS.

Defaults to 46

D40, D45, D50, D60, D62, D65, D70, D80

rtp_start_port

integer

Specifies the starting port for RTP allocation.

Defaults to 4000

D40, D45, D50, D60, D62, D65, D70

in_switchvox_environment

boolean, Defaults to 0

If 1, informs the phone that it should operate as though it is connected to Switchvox, as opposed to any other server type.

Defaults to 0

D40, D45, D50, D60, D62, D65, D70, D80

server_environment

empty string, DPMA, Switchvox.

Defines the server environment under which the phone should be operating. Phones not attached to DPMA or Switchvox need not define this. Phones attached to DPMA should define DPMA. Phones attached to Switchvox should define Switchvox.

Defaults to empty string

D40, D45, D50, D60, D62, D65, D70, D80

allow_app_dev

boolean

If 1, turns on the phone's built-in appdev web functionality.

Defaults to 0.

D40, D45, D50, D60, D62, D65, D70

handshake_timeout

time in seconds

For phones connected to Switchvox and/or DPMA, specifies a default timeout at which the phone should reissue a handshake, regardless of any external commands to otherwise issue one.

Defaults to 86400

D40, D45, D50, D60, D62, D65, D70, D80

retransmit_until_response

boolean

If 1, causes the phone to continue sending requests to the proxy, should the proxy not respond. If 0, the phone will re-send the request only once. It is not recommended to enable this option.

Defaults to 0.

D40, D45, D50, D60, D62, D65, D70, D80

802.1X

Option

Values

Description

Models

8021x_passthrough

boolean

If 1, enables pass-through of EAPOL packets from the PC port to the LAN port. If 0, EAPOL packets will be blocked from traversing from the PC port to the LAN port.

Defaults to 0

D40, D45, D50, D70 (2_2_0_6)

D60, D62, D65 (2_0_3_1)

8021x_eapol_on_disconnect

boolean

If 1, enables sending of EAPOL disconnect on behalf of a PC-port attached device when it disconnects. If 0, EAPOL disconnect not will not be sent on behalf of a PC-port attached device when it disconnects.

Defaults to 0

D40, D45, D50, D70 (2_2_0_6)

D60, D62, D65 (2_0_3_1)

8021x_method

eap-md5, peap-mschap, eap-tls, peap-gtc, ttls-mschap, ttls-gtc

Sets the method of 802.1X authentication for the phone,

Defaults to empty string (none).

D40, D45, D50, D70 (2_2_0_6)

D60, D62, D65 (2_0_3_1)

D80 (1_9_0)

8021x_identity

string

Sets the 802.1X authentication identifier (username),

Defaults to empty string (none).

D40, D45, D50, D70 (2_2_0_6)

D60, D62, D65 (2_0_3_1)

D80 (1_9_0)

8021x_anonymous_identity

string, PHONE_MAC

Sets the 802.1X anonymous authentication identifier (username), can be set to "PHONE_MAC" to pass phone's MAC address.

Defaults to empty string (none).

D40, D45, D50, D70 (2_2_0_6)

D60, D62, D65 (2_0_3_1)

D80 (1_9_0)

8021x_password

string

Sets the 802.1X authentication password

Defaults to empty string (none)

D40, D45, D50, D70 (2_2_0_6)

D60, D62, D65 (2_0_3_1)

D80 (1_9_0)

8021x_client_cert

"value" as label for a defined <clientcert>

Sets the client certificate to be used when performing the 802.1X authentication. Value should be populated with the label of the <clientcert> to be used.

No default.

D40, D45, D50, D60, D62, D65, D70 (2_7_0)

D80 (1_9_0)

8021X_client_key

"value" as label for a defined <clientkey>

Sets the client key to be used when performing the 802.1X authentication.  Value should be populated with the label of the <clientkey> to be used.

No default.

D40, D45, D50, D60, D62, D65, D70 (2_7_0)

D80 (1_9_0)

8021x_debug

-d, -dd

Sets the debug level to be used when troubleshooting 802.1X authentication errors. Phone will generate error report that can be utilized by Sangoma Support. Phone should not be configured to operate in this mode on an ongoing basis as it will generate excessive messages.

No default.

D40, D45, D50, D70 (2_2_0_6)

D60, D62, D65 (2_0_3_1)

D80 (1_9_0)

OpenVPN

Option

Values

Description

Models

network_default_enable_openvpn

boolean

If 1, instructs the phone to perform the VPN connection on startup.

Defaults to 0.

D60, D62, D65 (2_2_1_0)

D80 (1_9_0)

openvpn_inline_config

http(s) URI as "url"

"1" as "value"

md5sum of url file as "md5" 

Sets the URL the phone will use to cURL in an inline OpenVPN configuration file. Value must be set to 1. md5 must be valid.

No default.

D60, D62, D65 (2_7_0)
D80 (1_9_0)

RTAPI

Option

Values

Description

Models

rtapi_server_url 

string

Specifies the RTAPI server URL for communication with RTAPI-equipped servers, such as Switchvox

D80 (1_12_11)

Config Re-check

Option

Values

Description

Models

config_recheck

value as boolean

idle_time as time, in seconds

days as string format day of week (0-6, 0=Sunday, 6=Saturday)

start_time as integer (hhmm)

hours as integer (1-23)

If value is true, sets phones that are configured using cURL config method (non-DPMA) to perform a periodic configuration request and application to the defined config_server_url. The specific time of the check will be random within the window set by the other parameters of the setting.  Default to 0.

idle_time determines the amount of time in seconds that the phone must be idle before the phone can begin the config pull. If the phone is not idle for this period of time, then the other values will not be evaluated.  Default 600 (10 minutes).

days determines on what days of the week the phone will perform the check.  Default every day.


start_time sets the time at which the check window opens.  Default 2AM.

hours sets the amount of time for which the check window remains open, during which the specific time is randomly calculated.  Default 2 hours.

D60, D62, D65 (2_9_20)

Events Element

 

Events Element Example

<?xml version="1.0" ?> <config> <events> <event id="digium.incomingCall.voicemail" action="app" /> <event id="digium.parkingLot.parked" action="app" /> </events> </config>

Any number of event elements may be present directly under the events element.

Option

Values

Description

Models

id

digium.incomingCall.voicemail, digium.parkingLot.parked

Specifies the event that the phone should expect from server

No default.

D40, D45, D50, D60, D62, D65, D70, D80

action

app

Specifies that the phone should load an associated app / notification upon receiving the defined event

No default.

D40, D45, D50, D60, D62, D65, D70, D80

Keymap Elements

 

Keymap Element Example

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

Option

Values

Description

Models

state

id as one of:

calling

connected

connected/conference

connected/transfer

dial

dial/conference

dial/transfer

dialing

dialing/conference

dialing/transfer

failed

hold

hold/conference

hold/preconference

hold/transfer

idle

incoming

incoming/transfer

Sets the phone state to which this soft key mapping should apply.

D40, D45, D50, D60, D62, D65, D70

key

id as integer, beginning with 0

action as one of:

accept_call

backspace

cancel_call

clear_call

conference

end_call

forward_calls

label1 as:

_FORWARD

info

make_call

menu

missed_or_call_log

none

park_call

record_call

reject_call

resume

send_to_vmail

show_application

label1 as one of:

_CONTACTS

_PARKED_CALLS

_QUEUES

_STATUS

may be replaced by _DND when in non-FreePBX/PBXact/Switchvox mode

arg as one of:

contacts

voicemail

parking

status

queues

split_conference

status

label1 may be _DND when in non-FreePBX/PBXact/Switchvox mode

toggle_url_number

transfer_call

Maps a soft key, represented by an id (index=0), left-to right, where index greater than the free keys on-screen will result in a "More..." soft key being automatically applied to the right-most key, to an action, optionally passed a label1, and optionally passed an arg. Note that not all actions are appropriate for all phone states and not all functionality, e.g. Call Recording, cannot be accomplished outside of a DPMA or Switchvox environment. There is currently no label1 for voicemail.

D40, D45, D50, D60, D62, D65, D70

Contacts Element

 

Contacts Element Example

 

Any number of contacts elements may be present directly under the config element.
These <contacts> elements have attributes, most importantly url which allow contacts xml sheets to be downloaded via the DPMA.

Option

Values

Description

Models

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. Sangoma phones support basic authentication, so a username and password may be passed in the URL line, e.g. http://user:pass@server.example.com. Digest authentication is supported as of 2_3_0 (non-D80) and 1_5_0 (D80) .

No defaults.

D40, D45, D50, D60, D62, D65, D70, D80

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>

 

BLF Items Element Example

 

Option

Values

Description

Models

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. Sangoma phones support basic authentication, so a username and password may be passed in the URL line, e.g. http://user:pass@server.example.com

D40, D45, D50, D60, D62, D65, D70, D80

Accounts Element

 

Accounts Element Example

 

Option

Values

Description

Models

server_uuid

Non-zero String

Specifies a unique identifier for the server.

D40, D45, D50, D60, D62, D65, D70, D80

index

integer (0-5)

Defines the line key to which the account will be mapped.

There is no default index value. This option is mandatory.

D40, D45, D50, D60, D62, D65, D70, D80

status

boolean

If 1, enables the account's line key. If 0, will not display the account's line on the phone or register with the primary host.

Defaults to 0.

D40, D45, D50, D60, D62, D65, D70, D80

register

boolean

If 1, then this account will attempt to register with the primary host. If 0, then registration will not be performed for this account.

Defaults to 0.

D40, D45, D50, D60, D62, D65, D70, D80

account_id

string

For Switchvox systems, the Switchvox account_id associated with the SIP account. For non-Switchvox systems, a unique identifier, not necessarily related to any SIP credentials.

D40, D45, D50, D60, D62, D65, D70, D80

username

string

SIP username

D40, D45, D50, D60, D62, D65, D70, D80

authname

string

SIP authname

D40, D45, D50, D60, D62, D65, D70, D80

password

string

SIP password

D40, D45, D50, D60, D62, D65, D70, D80

passcode

string

SIP password

D40, D45, D50, D60, D62, D65, D70, D80

line_label

string

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

D40, D45, D50, D60, D62, D65, D70, D80

caller_id

Name <Number>

Outgoing caller id displayed for this account

D40, D45, D50, D60, D62, D65, D70, D80

dial_plan

Digit mapping, see XML Configuration 2.9.20+

The dial plan / digit mapping for this account

D40, D45, D50, D60, D62, D65, D70, D80

visual_voicemail

boolean

Only valid on account with index of 0. Only valid for phones provisioned by Switchvox or the DPMA. If 1, then the Msgs button action will open the voicemail app. If 0, then the Msgs button will be mapped to the extension defined for the voicemail option.

Defaults to 0.

D40, D45, D50, D60, D62, D65, D70, D80

voicemail

digits or SIP URI

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

D40, D45, D50, D60, D62, D65, D70, D80

needMwiSubscription

boolean

If 1, the phone will subscribe for MWI for this account. If 0, the phone will not subscribe for MWI for this account.

Defaults to 0.

D40, D45, D50, D60, D62, D65, D70, D80

plar_number

string

If defined, the phone will dial the configured string as a URI when the account is taken off-hook.

D60, D62, D65 (2_2_1_4)

ring_type

normal, answer, ring-answer, visual

Allows control over the default ringing type for this account in the absence of any explicit Alert-Info header. Defaults to normal.

D40, D45, D50, D60, D62, D65, D70 (2_2_1_3)

subscription_extension

string

For DPMA-connected phones, defines the user-part to which the phone should subscribe for presence updates

D40, D45, D50, D60, D62, D65, D70, D80

mwi_subscription_uri

SIP URI e.g.: sip:mailbox@host

If empty, subscribe to the primary_host using the ISP username. If non-empty, allows definition of the URI for MWI subscription

D60, D62, D65 (2_9_15)

Host Primary: Child Element of <account>

Option

Values

Description

Models

server

Hostname or IPv4 Address

Sets the server to which calls for this account are directed

D40, D45, D50, D60, D62, D65, D70, D80

port

empty, or integer (1-65535)

Sets the server's SIP port. If empty, and if a hostname is used for the server, the port will be retrieved from DNS. The port option must be specified, even if it is set to empty, and is not optional.

D40, D45, D50, D60, D62, D65, D70, D80

transport

udp, tcp, tls

Sets the transport type, UDP or TCP, TLS. TLS for D6x and D80 only.

D40, D45, D50, D60, D62, D65, D70, D80 (1_10_0 TCP, 1_12_0 TLS)

media_encryption

sdes

Sets the media_encryption method, none or SDES.

Defaults to empty string (none).

The media_encryption setting for the host_primary must match the setting for the host_alternate.

D60, D62, D65 (2_1_0_5), D80 (1_12_0)

reregister

integer in seconds

Sets the re-registration interval which the phone will present in the Expires header of the REGISTER. At half the interval of the reregister value, plus or minus a few random seconds, the phone will perform its reregistration.

Defaults to 300.

D40, D45, D50, D60, D62, D65, D70, D80

retry

integer

Specifies the period, plus or minutes 10 random seconds, at which the phone will perform a registration retry, given a registration failure.

Defaults to 25.

D40, D45, D50, D60, D62, D65, D70, D80

needMwiSubscription

boolean

Per-host override of needMwiSubscription from account element

D60, D62, D65 (2_9_20)

mwi_subscription_uri

SIP URI e.g.:
sip:mailbox@host 

Per-host override of mwi_subscription_uri from account element

D60, D62, D65 (2_9_20)

Host Alternate: Child Element of <account>

Option

Values

Description

Models

server

Hostname or IPv4 Address

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

D40, D45, D50, D60, D62, D65, D70, D80 (1_10_0)

port

empty, or integer (1-65535)

Sets the server's SIP port. If empty, and if a hostname is used for the server, the port will be retrieved from DNS. The port option must be specified, even if it is set to empty, and is not optional.

D40, D45, D50, D60, D62, D65, D70, D80 (1_10_0)

transport

udp, tcp, tls

Sets the transport type, UDP or TCP, TLS. TLS for D6x and D80 only.

D40, D45, D50, D60, D62, D65, D70, D80 (1_10_0 TCP, 1_12_0 TLS)

reregister

integer in seconds

Sets the re-registration interval which the phone will present in the Expires header of the REGISTER. At half the interval of the reregister value, plus or minus a few random seconds, the phone will perform its reregistration.

Defaults to 300.

D40, D45, D50, D60, D62, D65, D70, D80 (1_10_0)

retry

integer

Specifies the period, plus or minutes 10 random seconds, at which the phone will perform a registration retry, given a registration failure.

Defaults to 25.

D40, D45, D50, D60, D62, D65, D70, D80 (1_10_0)

authname

String

Specifies an authentication name to be used when registering to the host_alternate server, if null, utilizes the auth name from the account object.

D40, D45, D50, D60, D62, D65, D70 (2.6.2), D80 (1_10_0)

password

String

Specifies an authentication password to be used when registering to the host_alternate server, if null, utilizes the authentication password from the account object.

D40, D45, D50, D60, D62, D65, D70 (2.6.2), D80 (1_10_0)

needMwiSubscription

boolean

Per-host override of needMwiSubscription from account element

D60, D62, D65 (2_9_20)

mwi_subscription_uri

SIP URI e.g.:
sip:mailbox@host 

Per-host override of mwi_subscription_uri from account element

D60, D62, D65 (2_9_20)

Outbound Proxy: Child Element of <host_primary> and/or <host_alternate>

Option

Values

Description

Models

server

Hostname or IP Address

Outbound proxy for this account.

D60, D62, D65 (2_9_15)

port

empty, or integer (1-65535)

Port for the outbound proxy

D60, D62, D65 (2_9_15)

transport

udp, tcp, tls

SIP Transport for the outbound proxy

D60, D62, D65 (2_9_15)

Outbound Proxy: Child Element of <account>

Option

Values

Description

Models

server

Hostname or IP Address

Outbound proxy for this account.

D40, D45, D50, D70 (2_8_3), D80 (1_10_3)
D60, D62, D65 as of 2_8_3; however, as of 2_9_15 should use child element of <host_primary> and/or <host_alternate> 

port

empty, or integer (1-65535)

Port for the outbound proxy

D40, D45, D50D70 (2_8_3), D80 (1_10_3)
D60, D62, D65 as of 2_8_3; however, as of 2_9_15 should use child element of <host_primary> and/or <host_alternate> 

Permission: Child Element of <account>

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

Option

Values

Description

Models

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 Sangoma phones should set this to false in order to ensure that a non-functional (because the DPMA is not being used) call recording softkey does not appear.

Defaults to 0.

D40, D45, D50, D60, D62, D65, D70, D80

use_voicemail

boolean

If 1, allows the user to have voicemail for this account.

Defaults to 0.

D40, D45, D50, D60, D62, D65, D70, D80

send_to_voicemail

boolean

If 1, allows the user to send an incoming call to voicemail.

Defaults to 0.

D80

ignore_calls

boolean

If 1, allows the user to ignore an incoming call.

Defaults to 0.

D40, D45, D50, D60, D62, D65, D70, D80

Setting: Child Element of <account>

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

Option

Values

Description

Models

use_call_log_api

boolean

If 1, the phone will use the Switchvox Call Log API for this account.

Defaults to 0.

D40, D45, D50, D60, D62, D65, D70 (2_6_1)
D80 (1_9_0)

call_log_fetch_entries

integer

Specifies the number of Call Log entries to fetch when making a request.

Defaults to 50.

D40, D45, D50, D60, D62, D65, D70 (2_6_1)
D80 (1_9_0)

parking_lot_extension

integer

For Switchvox and DPMA environments, specifies the lot in which a call is transferred using the Park soft key, This option must be defined also, duplicating the phone-level parking_lot_extension setting.

No default.

D40, D45, D50, D60, D62, D65, D70, D80

parking_lot_enable_blind_transfer

boolean

For Switchvox and DPMA environments, specifies the type of call parking transfer to perform. This option must be defined also, duplicating the phone-level parking_lot_enable_blind_transfer setting.

Defaults to 0.

D40, D45, D50, D60, D62, D65, D70

Networks Element

 

Networks Element Example

The networks element contains definitions for networks, each described by an individual <network> element and its attributes.

Each <network> element is described by the following attributes:

Option

Values

Description

Models

id

string

Unique identifier for the network

D40, D45, D50, D60, D62, D65, D70, D80

display_name

string

A named identifier for the network

D40, D45, D50, D60, D62, D65, D70, D80

cidr

CIDR formatted address

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

D40, D45, D50, D60, D62, D65, D70, D80

Codecs Element

 

Codecs Element Example

The codecs element contains all available codecs, each described by an individual <codec> element and its attributes.

Each <codec> element is described by the following attributes:

Option

Values

Description

Models

id

PCMU, PCMA, G722, G7221, G726-32, opus, G729, iLBC, L16, L16-256

A codec supported by the phone

See - Sangoma Phones Codecs

priority

integer (1-255)

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

D40, D45, D50, D60, D62, D65, D70, D80

packetization

integer in 10ms increments per RFC codec guidelines

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

D40, D45, D50, D60, D62, D65, D70, D80

jitter_min

integer in ms

Sets the minimum size of the codec jitter buffer

D40, D45, D50, D60, D62, D65, D70, D80

jitter_max

integer in ms

Sets the maximum size of the codec jitter buffer

D40, D45, D50, D60, D62, D65, D70, D80

jitter_target

integer in ms

Sets the target size of the codec jitter buffer

D40, D45, D50, D60, D62, D65, D70, D80

enabled

boolean

If 1, enables the codec. If 0, disables the codec.

D40, D45, D50, D60, D62, D65, D70, D80

complexity

integer, 1-10

Defines the encoding complexity for the Opus codec. Higher (10) numbers require more CPU time but produce better sounding audio. Defaults to 10.

See - Sangoma Phones Codecs 

samplerate

Depends on codec: nb, wb, uwb

Sets the sampling rate for a codec, applicable to G.722.1 & G.722.1C, licensed by Polycom ®, and Opus codecs. For G.722.1 set to wb (16000Hz), for G.722.1C set to uwb (32000Hz). Opus operates at either nb (8000Hz) or wb (16000Hz). Defaults to uwb for G.722.1C and wb for Opus.

See - Sangoma Phones Codecs 

bitrate

Applies to G.722.1 & G.722.1C, licensed by Polycom ®, codecs: 24000, 32000, 48000

Sets the bitrate for a G.722.1 or G.722.1C codec. G.722.1 may be 24000bps or 32000bps. G.722.1C may be 24000, 32000 or 48000bps. Defaults to 48000 for G.722.1C and 32000 for G.722.1

See - Sangoma Phones Codecs 

use_vbr

boolean

Applies to the Opus codec. If 1, uses a variable bitrate encoder. If 0, uses a constant bitrate encoder.

Defaults to 0.

See - Sangoma Phones Codecs 

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>

 

Tones Element Example

Element lists the <tone> elements, each described by the following attributes:

Option

Values

Description

Models

id

string

Internal Tone identifier

D40, D45, D50, D60, D62, D65, D70, D80

display

string

External Tone Description

D40, D45, D50, D60, D62, D65, D70, D80

url

URL string

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

D40, D45, D50, D60, D62, D65, D70, D80

md5

md5sum

MD5 sum of the file to be retrieved

D40, D45, D50, D60, D62, D65, D70, D80

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

D40, D45, D50, D60, D62, D65, D70, D80

Alerts: Child element of <ringtones>

 

Alerts Element Example

  • Element lists the <alert> elements, each described by the following attributes.

  • Alert tones are played when the event designated by 'alert_info' occurs.

Option

Values

Description

Models

alert_info

string

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

D40, D45, D50, D60, D62, D65, D70, D80

ringtone_id

string

The id of the ring tone for this alert

D40, D45, D50, D60, D62, D65, D70, D80

ring_type

normal, answer, ring-answer, visual

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

D40, D45, D50, D60, D62, D65, D70, D80

Firmwares Element

 

Firmwares Element Example

  • Element lists the <firmwares> elements, each described by the following attributes.

  • Network, if specified, allows the phone to load different firmware URLs depending on its own network address mask

Option

Values

Description

Models

model

D40, D45, D50, D60, D62, D65, D70, D80, EXP100

Model number of the Sangoma phone

D40, D45, D50, D60, D62, D65, D70, D80, EXP100

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

D40, D45, D50, D60, D62, D65, D70, D80, EXP100

url

http URL string

URL location of the phone firmware. Sangoma phones support basic authentication, so a username and password may be passed in the URL line, e.g. http://user:pass@server.example.com. Firmware beginning with 2_3_0 (non-D80) and 1_5_0 (D80) also supports digest auth. 

D40, D45, D50, D60, D62, D65, D70, D80, EXP100

Public Firmwares Element

 

Firmwares Element Example

  • Element lists the <public_firmwares> elements, each described by the following attributes.

  • Specifies a fallback firmare location - more than one public_firmware element may be specified for each model and the public_firmware servers will be tried in the order they are listed, in the event that an internal firmware server cannot be reached

  • A <public_firmwares> element does not take the place of a <firmwares> element; if a <firmwares> element is not present in the config, the phone will not apply any settings from any <public_firmwares> elements.

Option

Values

Description

Models

model

D40, D45, D50, D60, D62, D65, D70, D80, EXP100

Model number of the Sangoma phone

D40, D45, D50, D60, D62, D65, D70, D80, EXP100

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

D40, D45, D50, D60, D62, D65, D70, D80, EXP100

url

http URL string

URL location of the phone firmware. Sangoma phones support basic authentication, so a username and password may be passed in the URL line, e.g. http://user:pass@server.example.com. Firmware beginning with 2_3_0 (non-D80) and 1_5_0 (D80) also supports digest auth. 

D40, D45, D50, D60, D62, D65, D70, D80, EXP100

Appconfig Element

 

Appconfig Element Example

  • Element lists the <appconfig> elements.  Each element is identified by its identifier.  Native apps require use of an account parameter.

  • auto_start element applies to all appconfig definitions and specifies that an application should be loaded when the phone boots, not just on first use of the application.  This sill increase boot time but will decrease first load of the application.

  • Custom applications are defined with a name not matching a built-in app, are retrieved using a URL and can be loaded with custom settings, that are made accessible to the application. Custom applications do not apply to model D80 telephones.

Account: Child Element of <appconfig> for contacts, status, queues, parking, voicemail, and  call_log applications

Option

Values

Description

Models

account_id

String

Specifies the account ID used when accessing the application server; typically the same as the SIP endpoint ID.

D40, D45, D50, D60, D62, D65, D70, D80

username

String

Specifies the SIP endpoint ID used when accessing the application server.

D40, D45, D50, D60, D62, D65, D70, D80

password

String

Specifies the password used when accessing the application server as well as the password used when the require_password application setting is applied. Need not be the same as the SIP endpoint password.

D40, D45, D50, D60, D62, D65, D70, D80

appserver

dasp://YOUR SERVER/json

Specifies the location of application server, prefixed with "dasp" transport type.

D40, D45, D50, D60, D62, D65, D70, D80

apiformat

json

Specifies the data format to use when exchanging information with the application server

D40, D45, D50, D60, D62, D65, D70, D80

Account: Child Element of <appconfig> for hotdesking applications

Option

Values

Description

Models

account_id

string

Specifies the MAC address of the telephone when logged_out and the server's account_id of the device when logged_in

D60, D62, D65 (2_9_11)

username

string

Specifies the MAC address of the telephone when logged_out and the username for the server when logged_int

D60, D62, D65 (2_9_11)

auth_token

string

When logged_in, specifies the auth_token for the user of the server

D60, D62, D65 (2_9_11)

appserver

URL as string

Specifies the URL of the application server

D60, D62, D65 (2_9_11)

apiformat

json

Specifies the data format to use when exchanging information with the application server

D60, D62, D65 (2_9_11)

Appscreen: Application Child Element of <appconfig> for appscreen application

Option

Values

Description

Models

id

bluetooth, voicemail, parking, status, contacts, queues, call_log, forward_calls, hotdesking, mcastpage

Specifies the application to load into the phone's app screen, dependent on phone model.

D40, D45, D50, D60, D62, D65, D70, D80
hotdesking, D6x, only
bluetooth, D65, D80 only
queues, all but D80
forward_calls, all but D80
mcastpage, D6x (2_9_22)  

Phone Menu: Application Child Elements of <appconfig> for phone menu application

Option

Values

Description

Models

hide_options id

about, applications, preferences, admin, advanced

Specifies the menu item to hide

D40, D45, D50, D60, D62, D65, D70

option id

admin: network, qos, vlan, ethernetModes, systemTools, sipLines, changePassword, vpn
preferences: display, localization, sound, answering, network_select
advanced: reconfigure, factoryReset 

Specifies the sub-menu item to hide

D40, D45, D50, D60, D62, D65, D70

Contacts: Settings Child Elements <appconfig> for contacts application

Option

Values

Description

Models

use_local_storage

boolean

If 1, directs the contacts application to allow the use of local storage for contacts.

Defaults to 0.

D40, D45, D50, D60, D62, D65, D70

can_transfer_vm

boolean

If 1, specifies that the phone is allowed to perform transfers to voicemail targets from within the contacts application.

Defaults to 0.

D40, D45, D50, D60, D62, D65, D70, D80

name_format

first_last, last_first

Specifies the formatting of name display, e.g. First Last or Last, First.

Defaults to first_last

D40, D45, D50, D60, D62, D65, D70, D80

in_switchvox_environment

boolean

If 1, alerts the Contacts application that it is operating inside a Switchvox system.

Defaults to 0. 

D40, D45, D50, D60, D62, D65, D70, D80

preferred_contact_group

string

Specifies the contacts group to display when the application is loaded into the foreground. Defaults to empty string; all contacts.

D40, D45, D50, D60, D62, D65, D70

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

Option

Values

Description

Models

id

unique id

A unique identifier for this display_rule, e.g. 0, 1, 2, etc.

D40, D45, D50, D60, D62, D65, D70

action_id

A valid action as defined in the phone's Contacts file

Sets the action_id for the display rule to act upon

D40, D45, D50, D60, D62, D65, D70

phone_state

idle, hold, transfer, incoming/transfer, incoming, connected, dialing, calling, failed

Defines 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.

D40, D45, D50, D60, D62, D65, D70

target_status

unknown, idle, on_hold, ringing, on_the_phone

Optional. Sets the status of the subscribed to contact that must be matched for this display rule to be in effect

D40, D45, D50, D60, D62, D65, D70

show

boolean

If set to 1, shows a particular action. If set to 0, 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.

D40, D45, D50, D60, D62, D65, D70

Status: Settings Child Elements of <appconfig> for Status application

Option

Values

Description

Models

send_dnd

status set to one of:
available, unavailable, away, xa, chat, dnd 

Can be defined multiple times, one for each status. If set for a status, directs the phone to return 486 BUSY when in that status mode.

D40, D45, D50, D60, D62, D65, D70, D80

full_application

None

If defined, alerts the Status application to run in full mode. Full mode should only be run against DPMA or Switchvox.

 

Voicemail: Application Child Elements of <appconfig> for Voicemail application

Option

Values

Description

Models

require_password

boolean

If 1, causes the phone to require voicemail pin entry before the app can be foregrounded. Voicemail PIN is retrieved from the voicemail appconfig password.

Defaults to 0.

D40, D45, D50, D60, D62, D65, D70, D80

Hot Desking: Application Child Elements of <appconfig> for hotdesking application

Option

Values

Description

Models

use_pbx_credentials

boolean

If enabled, the phone will use the credentials loaded in from the pbx_credentials configuration element

D60, D62, D65 (2_9_11)

status

logged_out, logged_in

Defines whether the phone is in a logged out or a logged in state

D60, D62, D65 (2_9_11)

Custom Application: Application Child Elements of <appconfig> for custom application

Option

Values

Description

Models

url

url as URL through which phone can retrieve the application's .zip file

Custom applications are cURL'd down by the phone from a remote URL as defined here.

D40, D45, D50, D60, D62, D65, D70

settings

custom settings in key-value pair

Specifies custom application values made available to the app

D40, D45, D50, D60, D62, D65, D70

Multicastpage Element

 

Multicastpage Element Example

  • Element lists the <multicastpage> elements, each described by the following attributes.

Specifies listener addresses to which phone will subscribe for multicast audio playback in G.711 u-law, G.711 a-law, or G.722 formats or broadcast address to which phone can be made to broadcast in those same codecs.

A blank multicast page element should be passed to the phone to ensure that listeners are turned off, e.g.:

<multicastpage>
<!-- need blank multicastpage to ensure listener removed if turned off -->
</multicastpage>

Listener

Option

Values

Description

Models

id

string

A non-empty unique alpha-numeric string identifier for the listener, required

D40, D45, D50, D60, D62, D65, D70, D80 (1_11_0)

name

string

A name to be provided in the phone's announcement status bar when audio is received over this listener, required

D40, D45, D50, D60, D62, D65, D70, D80 (1_11_0)

extension

string

Sets a local extension for this listener, that, if dialed by the phone, causes the phone to ignore RTP from this listener.

D40, D45, D50, D60, D62, D65, D70 (2_6_3), D80 (1_11_0)

addr

IPv4 address

Multicast address to which phone should subscribe for audio, required

D40, D45, D50, D60, D62, D65, D70, D80 (1_11_0)

port

Valid integer for ports (1-65535)

Port, combined with address above, to which phone should subscribe for audio, required

D40, D45, D50, D60, D62, D65, D70, D80 (1_11_0)

priority

integer, 1-10

Prioritization level, lower given more priority, for playing back streams when more than one subscribed address is providing audio, required

D40, D45, D50, D60, D62, D65, D70, D80 (1_11_0)

interrupt_calls

integer, 0-2

If 1, places any in-progress calls on hold before playing back audio, and ignore the phone's local volume setting, playing back the audio at full volume. If 0, in-progress calls will have their audio played over the top of any in-progress calls. If 2, phone will ignore pages for this listener if it is involved in another call (added in 2_9_5 and 1_12_3).

Defaults to 0.

D40, D45, D50, D60, D62, D65, D70, D80 (1_11_0)

Broadcast

Option

Values

Description

Models

id

string

A unique identifier for the broadcast, required

D60, D62, D65, (2_9_22)

name

string

A name to be provided in the phone's Multicast Page application or on a Rapid Dial key when mapping this broadcast, required

D60, D62, D65, (2_9_22)

addr

IPv4 address

Multicast address to which phone will broadcast audio, required

D60, D62, D65, (2_9_22)

port

Valid integer for ports (1-65535)

Port, combined with address above, to which phone will broadcast audio, required

D60, D62, D65, (2_9_22)

codec

PCMU, PCMA, G722

Specifies the codec that will be used by the phone in its multicast audio broadcast

D60, D62, D65, (2_9_22)

Certs Element

 

Certs Element Example

  • Element lists the <cert>, <clientcert>, and <clientkey> elements, each containing an in-line, raw certificate payload, not prefixed by an "----BEGIN CERTIFICATE----" header nor postfixed by an "----END CERTIFICATE----" footer.

  • cert will be loaded by phone and combined with built-in certificate bundle as a trusted certificate

  • <cert>, <clientcert>, and <clientkey> supported on D40, D45, D50, D60, D62, D65 and D70 as of 2_7_0 and D80 as of 1_9_0.

Option

Values

Description

Models

id

string

A unique identifier for the cert, required

D40, D45, D50, D60, D62, D65, D70, D80

label

string

A name to be used to identify this cert, that can be utilized by other phone configuration elements.

D40, D45, D50, D60, D62, D65, D70, D80

type

ALL, RSA, DSA, EC

For clientkey types, specifies the type of encryption used for the client key, to be recognized by OpenSSL.

D40, D45, D50, D60, D62, D65, D70 (2_7_0), D80 (1_9_0)

md5

string

Contains the md5sum of the certificate body. When this changes for any certificate, the phone will execute a restart in order to ensure the new certificates are used.

D40, D45, D50, D60, D62, D65, D70 (2_7_0), D80 (1_9_0)

Activity Indicator Element

 

Activity Indicator Element Example

Controls the behavior of the activity indicator lamp during various phone states.

Option

Values

Description

Models

id

idle, default, hold, ringing, activity, new_vm, listen_vm, leaving_vm, screen_vm, announcement

Specifies the state being configured

D40, D45, D50, D60, D62, D65, D70, D80

color

amber, green, red

Specifies the color to apply to the state being configured

D40, D45, D50, D60, D62, D65, D70, D80

state

off, on, slow, fast

Specifies the lamp disposition to apply to the state being configured

D40, D45, D50, D60, D62, D65, D70 D80

use_proxy_for Element

 

use_proxy_for Element Example

Controls whether the phone should make direct API requests to Switchvox or indirect cURL requests.  Default to indirect.  This option should only be used inside Switchvox environments.

Option

Values

Description

Models

network

CIDR format netmask

Specifies the network to which the setting should be applied

D40, D45, D50, D60, D62, D65, D70, D80

network_id

id of a defined network

Specifies the network to which the setting should be applied

D40, D45, D50, D60, D62, D65, D70, D80

host

hostname

Specifies the proxy hostname

D40, D45, D50, D60, D62, D65, D70 D80

use

boolean

If 1, enables the use_proxy_for setting. If 0, disables the use_proxy_for setting.

Defaults to 0.

D40, D45, D50, D60, D62, D65, D70 D80

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 Sangoma 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.

Currently, the network_id attribute can be applied to the following elements:

  • ntp_server setting

  • network_vlan_discovery_mode setting

  • pc_vlan_id setting

  • host_primary element

  • host_alternate element

  • contacts element

  • firmwares element

 

Example

 

network_id Attribute Example

Return to Documentation Home I Return to Sangoma Support