Page tree
Skip to end of metadata
Go to start of metadata


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
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="tls_allow_wildcard_certs" value="0" />
    <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="hide_completed_elsewhere" value="0" />
    <setting id="small_clock" value="0" />
    <setting id="idle_company_text" value="" />
    <setting id="brightness" 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="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="Sangoma" />
    <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="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_disable_arping" value="0" />
    <setting id="allow_insecure_ssl" value="0" />
    <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="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="in_switchvox_environment" value="0" />
    <setting id="server_environment" value="" />
    <setting id="handshake_timeout" value="86400" />
    <setting id="retransmit_until_response" 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="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" 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>
            <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="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="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" />
    </codecs>
    <ringtones>
        <tones>
            <tone id="Alarm" display="Alarm" type="phone"/>
            <tone id="Chimes" display="Chimes" type="phone"/>
            <tone id="Sangoma" display="Sangoma" 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="Sangoma" ring_type="normal" />
            <alert alert_info="ring-answer" ringtone_id="Sangoma" 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="parking" />
        <application id="status" />
        <application id="contacts" />
        <application id="call_log" />
        <application id="forward_calls" />
        <application id="hotdesking" />
        <application id="mcastpage" />
        <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="1" action_id="dial_vm" phone_state="idle" show="0"/>
            <display_rule id="2" action_id="transfer_vm" show="0"/>
            <display_rule id="3" 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="parking">
        <account account_id="101" username="101" password="1234" appserver="dasp://server.example.com/json" apiformat="json"/>
        <auto_start />
    </appconfig>
    <appconfig id="hotdesking">
        <account account_id="000000000000" username="000000000000" appserver="https://server.example.com/json" apiformat="json"/>
    </appconfig>
    <appconfig id="call_log">
        <account account_id="101" username="101" password="1234" appserver="dash://server.example.com/json" apiformat="json"/>
        <enabled />
    </appconfig>
    <firmwares>
        <firmware model="P310" version="3_0_7" url="http://10.10.4.11/firmware/3_0_7_P310_firmware.eff" />
        <firmware model="P315" version="3_0_7" url="http://10.10.4.11/firmware/3_0_7_P315_firmware.eff" />
    </firmwares>
    <public_firmwares>
        <public_firmware model="P310" version="3_0_7" url="http://firmware.example.com/firmware/3_0_7_P310_firmware.eff" />
        <public_firmware model="P315" version="3_0_7" url="http://firmware.example.com/firmware/3_0_7_P315_firmware.eff" />
    </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="network1" host="10.1.2.3" use="0" />
</config>

Setting Elements

 XML 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="tls_allow_wildcard_certs" value="0" />
    <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="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="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="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="Sangoma" />
    <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="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_disable_arping" value="0" />
    <setting id="allow_insecure_ssl" value="0" />
    <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="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="in_switchvox_environment" value="0" />
    <setting id="server_environment" value="" />
    <setting id="handshake_timeout" value="86400" />
    <setting id="retransmit_until_response" 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="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. 

P310, P315
pbx_credentialsvalue 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.

P310, P315

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

P310, P315

send_mac_with_useragentboolean

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.

P310, P315

use_secure_labelsboolean

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.

P310, P315

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

P310, P315

time_source

"ntp"

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

Defaults to ntp.

P310, P315

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

P310, P315

ntp_resync

Seconds as integer, e.g. 86400

Sets the interval between NTP synchronization.

Defaults to 86400.

P310, P315
ntp_prefer_option42boolean

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.

P310, P315

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.

P310, P315
compact_sip_headersboolean, Defaults to 0If 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

P310, P315

transport_udp_enabled

boolean

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

Defaults to 1

P310, P315

transport_udp_port

Valid integer for ports (1-65535)

Sets the local UDP SIP port.

Defaults to 5060

P310, P315

transport_tcp_enabled

boolean

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

Defaults to 1

P310, P315

transport_tcp_port

Valid integer for ports (1-65535 )

Sets the local TCP SIP port.

Defaults to 5060

P310, P315

transport_tls_allowedboolean

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

Defaults to 1

P310, P315

transport_tls_portValid integer for ports (1-65535)

Sets the local TLS SIP port.

Defaults to 5061

P310, P315

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

P310, P315

udp_ka_intervalinteger, in seconds

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

Defaults to 0, never.

P310, P315

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
m
d5 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


P310, P315
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

320x240 pixels for P310 and P315 


P310, P315

display_mc_notification

boolean

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

Defaults to 1

P310, P315
hide_completed_elsewhereboolean

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.

P310, P315
small_clockboolean

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.

Defaults to 0. 

P310, P315

idle_company_textstring

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

No default.

P310, P315

Preferences (Display)

Option

Values

Description

Models

brightness

integer (1-10)

Sets the LCD screen brightness

Defaults to 5

P310, P315

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.

P310, P315

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

P310, P315

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

P310, P315

backlight_dim_level

integer (0-10)

Brightness level dims to when when dim_backlight is true.

Defaults to 2

P310, P315

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.

Defaults to en_US.

P310, P315

time_short_formatan 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

P310, P315

date_short_formatan 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

P310, P315

date_time_formatstring

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}

P310, P315

idle_screen_clock_formatan 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

P310, P315

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

P310, P315
lock_ringing_volumeboolean

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.

P310, P315

speaker_volume

integer (1-10)

Sets the speaker volume.

Defaults to 5

P310, P315

handset_volume

integer (1-10)

Sets the handset volume.

Defaults to 5

P310, P315

headset_volume

integer (1-10)

Sets the headset_volume.

Defaults to 5

P310, P315

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

P310, P315

active_ringtone

Tone ID from <tones> provided to phone

Sets the current user-selected ringtone.

Defaults to Sangoma

P310, P315

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

P310, P315
ring_headset_onlyboolean

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

P310, P315
call_waiting_toneboolean

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.

P310, P315

ehs

auto, jabra_iq, plantronics

Defines the Electronics Hookswitch type to support.

Defaults to auto.

P310, P315
call_control_checkxboolean,

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.

P310, P315

parking_lot_extensionstring

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.

P310, P315
parking_lot_enable_blind_transferboolean

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.

P310, P315

Contacts

Option

Values

Description

Models

contacts_max_subscriptions

integer, e.g. 40

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

Defaults to 40.

P310, P315

name_format

first_last, last_first

Formats the display of contact names.

Defaults to first_last

P310, P315

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.

P310, P315

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

P310, P315

network_static_ip_address

IPv4 address

Defines the network address for the phone.

No default.

P310, P315

network_subnet_mask

IPv4 netmask

Defines the netmask for the phone.

No default.

P310, P315

network_default_gateway

IPv4 address

Defines the network gateway for the phone.

No default.

P310, P315

network_primary_dns_server

IPv4 address

Defines the primary DNS server for the phone.

No default.

P310, P315

network_secondary_dns_server

IPv4 address

Defines the secondary DNS server for the phone.

No default.

P310, P315
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.

P310, P315

allow_insecure_sslboolean

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.

P310, P315

enable_tcp_sackboolean, Defaults to 0If enabled, causes phone to enable TCP SACK processing. Defaults too disabled.P310, P315

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

P310, P315

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.

P310, P315

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.

No default.

P310, P315

Logging

Option

Values

Description

Models

log_level

error, warning, debug, information

Sets the logging level.

Defaults to information

P310, P315

log_server

IPv4 address of syslog server

Specifies remote syslog server.

No default.

P310, P315

log_port

port as integer

Specifies port of remote syslog server.

No default.

P310, P315

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

P310, P315

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)

P310, P315

sip_qos

integer (0-7)

Sets the SIP signaling QOS level

Defaults to 3.

P310, P315

rtp_qos

integer (0-7)

Sets the RTP media QOS level.

Defaults to 6.

P310, P315

pc_qos

integer (0-7)

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

No default.

P310, P315

sip_dscp

integer (0-63)

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

Defaults to 24

P310, P315

rtp_dscp

integer (0-63)

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

Defaults to 46

P310, P315
in_switchvox_environmentboolean, 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

P310, P315
server_environmentempty 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

P310, P315
handshake_timeouttime 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

P310, P315
retransmit_until_responseboolean

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.

P310, P315

802.1X

Option

Values

Description

Models

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

P310, P315

8021x_identity

string

Sets the 802.1X authentication identifier (username),

Defaults to empty string (none).

P310, P315

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

P310, P315

8021x_password

string

Sets the 802.1X authentication password

Defaults to empty string (none)

P310, P315

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.

P310, P315

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.

P310, P315

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.

P310, P315

OpenVPN

OptionValuesDescriptionModels
network_default_enable_openvpnboolean

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

Defaults to 0.

P310, P315

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.

P310, P315

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.

P310, P315 (3_7_0)

Events Element

 Events Element Example
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.

P310, P315
actionapp

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

No default.

P310, P315

Keymap Elements

 Keymap Element Example
Keymap Element Example
<?xml version="1.0" ?>
<config>
    <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>
</config>

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.

P310, P315

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
    • arg as one of:
      • contacts
      • voicemail
      • parking
      • status
      • queues
  • split_conference
  • status
  • 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.

Queues and voicemail applications not valid for P310 and P315 models.
record_call not valid for P310 and P315 models.

P310, P315

Contacts Element

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

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.

No defaults.

P310, P315

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
BLF Items Element Example
<?xml version="1.0">
<config>
    <smart_blf>
        <blf_items url="http://server.example.com/myblfitems.xml" network_id="mynetwork" md5="abcd123" />
    </smart_blf>
</config> 
OptionValuesDescriptionModels
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.comP310, P315

Accounts Element

 Accounts Element Example
Accounts 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" voicemail="sip:800@10.1.2.3" needMwiSubscription="1" plar_number="" ring_type="normal" subscription_extension="100" conflict="replace" mwi_subscription_uri="" >
            <host_primary server="10.10.2.108" port="5060" transport="udp" media_encryption="" reregister="300" retry="25">
                <outbound_proxy server="" port="" transport="" />
            </host_primary>
            <host_alternate server="10.1.2.3" port="5060" transport="udp" media_encryption="" reregister="300" retry="25">
                <outbound_proxy server="" port="" transport="" />
            </host_alternate>
            <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="1" />
            <permission id="use_voicemail" value="1" />
            <permission id="ignore_calls" value="1" />
        </account>
    </accounts>
</config>

Option

Values

Description

Models
server_uuidNon-zero String

Specifies a unique identifier for the server.

P310, P315

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.

P310, P315

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.

P310, P315

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.

P310, P315

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.

P310, P315

username

string

SIP username

P310, P315

authname

string

SIP authname

P310, P315

password

string

SIP password

P310, P315

passcode

string

SIP password

P310, P315

line_label

string

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

P310, P315

caller_id

Name <Number>

Outgoing caller id displayed for this account

P310, P315

dial_plan

Digit mapping, see Dial Plans

The dial plan / digit mapping for this account

P310, P315

voicemail

digits or SIP URI

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

P310, P315

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.

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

P310, P315

ring_typenormal, answer, ring-answer, visualAllows control over the default ringing type for this account in the absence of any explicit Alert-Info header. Defaults to normal.

P310, P315

subscription_extensionstringFor DPMA-connected phones, defines the user-part to which the phone should subscribe for presence updatesP310, P315
mwi_subscription_uri

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

If empty, subscribe to the host_primary using the SIP username. If non-empty, allows definition of the URI for MWI subscriptionP310, P315 (3_3_1)

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

P310, P315

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.

P310, P315

transport

udp, tcp, tls

Sets the transport type, UDP or TCP, TLS.

P310, P315
media_encryptionsdes

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.

P310, P315

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.

P310, P315

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.

P310, P315

needMwiSubscription

booleanPer-host override of needMwiSubscription from account elementP310, P315 (3_7_0)
mwi_subscription_uri

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

Per-host override of mwi_subscription_uri from account elementP310, P315 (3_7_0)

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

P310, P315

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.

P310, P315

transport

udp, tcp, tls

Sets the transport type, UDP or TCP, TLS.

P310, P315

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.

P310, P315

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.

P310, P315

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

P310, P315 

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

P310, P315 

needMwiSubscription

booleanPer-host override of needMwiSubscription from account elementP310, P315 (3_7_0)
mwi_subscription_uri

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

Per-host override of mwi_subscription_uri from account elementP310, P315 (3_7_0)

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

Option

Values

Description

Models

server

Hostname or IP Address

Outbound proxy for this host.

P310, P315 (3_3_1)

port

empty, or integer (1-65535)

Port for the outbound proxy

P310, P315 (3_3_1)

transportudp, tcp, tlsSIP Transport for the outbound proxyP310, P315 (3_3_1)

Permission: Child Element of <account>

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

Option

Values

Description

Models
use_voicemailboolean

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

Defaults to 0.

P310, P315
ignore_callsboolean

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

Defaults to 0.

P310, P315

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.

P310, P315
call_log_fetch_entriesinteger

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

Defaults to 50.

P310, P315
parking_lot_extensioninteger

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.

P310, P315
parking_lot_enable_blind_transferboolean

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.

P310, P315

Networks Element

 Networks Element Example
Networks Element Example
<?xml version="1.0" ?>
<config>
    <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>
</config>

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

P310, P315

display_name

string

A named identifier for the network

P310, P315

cidr

CIDR formatted address

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

P310, P315

Codecs Element

 Codecs Element Example
Codecs 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="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" />
    </codecs>
</config>

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, G726-32, opus, G729

A codec supported by the phone

P310, P315

priority

integer (1-255)

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

P310, P315

packetization

integer in 10ms increments per RFC codec guidelines

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

P310, P315

jitter_min

integer in ms

Sets the minimum size of the codec jitter buffer

P310, P315

jitter_max

integer in ms

Sets the maximum size of the codec jitter buffer

P310, P315

jitter_target

integer in ms

Sets the target size of the codec jitter buffer

P310, P315

enabled

boolean

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

P310, P315
complexityinteger, 1-10Defines the encoding complexity for the Opus codec. Higher (10) numbers require more CPU time but produce better sounding audio. Defaults to 10.P310, P315
samplerateDepends on codec: nb, wb, uwbSets the sampling rate for a codec, applicable to Opus codec. Opus operates at either nb (8000Hz) or wb (16000Hz). Defaults to wb for Opus.P310, P315
use_vbrboolean

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

Defaults to 1.

P310, P315

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
Tones 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="Sangoma" display="Sangoma" 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>

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

Option

Values

Description

Models

id

string

Internal Tone identifier

P310, P315

display

string

External Tone Description

P310, P315

url

URL string

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

P310, P315

md5

md5sum

MD5 sum of the file to be retrieved

P310, P315

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

P310, P315

Alerts: Child element of <ringtones>

 Alerts Element Example
Alerts Element Example
<?xml version="1.0" ?>
<config>
    <ringtones>
        <alerts>
            <alert alert_info="normal" ringtone_id="Sangoma" ring_type="normal" />
            <alert alert_info="ring-answer" ringtone_id="Sangoma" 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>
  • 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

P310, P315

ringtone_id

string

The id of the ring tone for this alert

P310, P315

ring_type

normal, answer, ring-answer, visual

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

P310, P315

Firmwares Element

 Firmwares Element Example
Firmwares Element Example
<?xml version="1.0" ?>
<config>
    <firmwares>
        <firmware model="P310" version="3_0_7" url="http://10.10.4.11/firmware/3_0_7_P310_firmware.eff" />
        <firmware model="P315" version="3_0_7" url="http://10.10.4.11/firmware/3_0_7_P315_firmware.eff" />
    </firmwares>
</config>
  • 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

P310, P315

Model number of the Sangoma phone

P310, P315

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

P310, P315

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.

P310, P315

Public Firmwares Element

 Public Firmwares Element Example
Firmwares Element Example
<?xml version="1.0" ?>
<config>
    <public_firmwares>
        <public_firmware model="P310" version="3_0_7" url="http://firmware.example.com/firmware/3_0_7_P310_firmware.eff" />
        <public_firmware model="P315" version="3_0_7" url="http://firmware.example.com/firmware/3_0_7_P315_firmware.eff" />
    </public_firmwares>
</config>
  • 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

P310, P315

Model number of the Sangoma phone

P310, P315

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

P310, P315

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.

P310, P315

Appconfig Element

 Appconfig Element Example
Appconfig Element Example
<?xml version="1.0" ?>
<config>
    <appconfig id="appscreen">
        <application id="parking" />
        <application id="status" />
        <application id="contacts" />
        <application id="call_log" />
        <application id="forward_calls" />
        <application id="hotdesking" />
        <application id="mcastpage" />
        <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="1" action_id="dial_vm" phone_state="idle" show="0"/>
            <display_rule id="2" action_id="transfer_vm" show="0"/>
            <display_rule id="3" 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="parking">
        <account account_id="101" username="101" password="1234" appserver="dasp://server.example.com/json" apiformat="json"/>
        <auto_start />
    </appconfig>
    <appconfig id="hotdesking">
        <account account_id="000000000000" username="000000000000" appserver="https://server.example.com/json" apiformat="json"/>
    </appconfig>
     <appconfig id="call_log">
        <account account_id="101" username="101" password="1234" appserver="dash://server.example.com/json" apiformat="json"/>
        <enabled />
    </appconfig>
</config>
  • 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 do not apply to model P310 and P315 telephones.

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

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

P310, P315

usernameStringSpecifies the SIP endpoint ID used when accessing the application server.P310, P315
passwordStringSpecifies 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.P310, P315
appserverdash://YOUR SERVER/jsonSpecifies the location of application server, prefixed with "dasp" transport type.P310, P315
apiformatjsonSpecifies the data format to use when exchanging information with the application serverP310, P315

Account: Child Element of <appconfig> for hotdesking applications

Option

Values

Description

Models

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

P310, P315 

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

P310, P315 

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

P310, P315 

appserverURL as stringSpecifies the URL of the application server

P310, P315 

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

P310, P315 


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

OptionValuesDescriptionModels
idparking, status, contacts, call_log, forward_calls, hotdesking, mcastpageSpecifies the application to load into the phone's app screen, dependent on phone model.

P310, P315

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

OptionValuesDescriptionModels
hide_options idabout, applications, preferences, admin, advancedSpecifies the menu item to hide

P310, P315

option idadmin: network, qos, vlan, ethernetModes, systemTools, sipLines, changePassword, vpn
preferences: display, localization, sound, answering, network_select
advanced: reconfigure, factoryReset 
Specifies the sub-menu item to hideP310, P315

Contacts: Settings Child Elements <appconfig> for contacts application

OptionValuesDescriptionModels
use_local_storageboolean

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

Defaults to 0.

P310, P315 (error)

can_transfer_vmboolean

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

Defaults to 0.

P310, P315
name_format

first_last, last_first

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

Defaults to first_last

P310, P315
in_switchvox_environmentboolean

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

Defaults to 0. 

P310, P315
preferred_contact_groupstringSpecifies the contacts group to display when the application is loaded into the foreground. Defaults to empty string; all contacts.P310, P315

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

OptionValuesDescriptionModels
idunique idA unique identifier for this display_rule, e.g. 0, 1, 2, etc.

P310, P315

action_idA valid action as defined in the phone's Contacts fileSets the action_id for the display rule to act upon

P310, P315

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.

P310, P315

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

P310, P315

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

P310, P315

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

OptionValuesDescriptionModels
send_dndstatus 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.

P310, P315

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

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

Option

Values

Description

Models

use_pbx_credentialsboolean

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

P310, P315 

statuslogged_out, logged_inDefines whether the phone is in a logged out or a logged in stateP310, P315 

Multicastpage Element

 Multicastpage Element Example
Multicastpage Element Example
<?xml version="1.0" ?>
<config>
    <multicastpage>
        <listener id="1" name="SomePage" extension="123" addr="239.0.0.1" port="32000" priority="1" interrupt_calls="0"/>
        <listener id="2" name="All Page" extension="456" addr="239.0.0.2" port="32000" priority="2" interrupt_calls="1"/>
    </multicastpage>
</config>
  • 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

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 unique identifier for the listener, required

P310, P315

name

string

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

P310, P315

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

P310, P315

addr

IPv4 address

Multicast address to which phone should subscribe for audio, required

P310, P315

portValid integer for ports (1-65535)Port, combined with address above, to which phone should subscribe for audio, required

P310, P315

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

P310, P315

interrupt_callsinteger, 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.

Defaults to 2.

P310, P315

Broadcast

Option

Values

Description

Models

id

string

A unique identifier for the broadcast, required

P310, P315 (3_8_0)

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

P310, P315 (3_8_0)

addr

IPv4 address

Multicast address to which phone will broadcast audio, required

P310, P315 (3_8_0)

portValid integer for ports (1-65535)Port, combined with address above, to which phone will broadcast audio, required

P310, P315 (3_8_0)

codecPCMU, PCMA, G722

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

P310, P315 (3_8_0)

Certs Element

 Certs Element Example
Certs Element Example
<?xml version="1.0" ?>
<config>
    <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-cert" type="RSA" md5="abc123">MIICXQIBAAKB...XYZ</clientkey>
    </certs>
</config>
  • 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

Option

Values

Description

Models

id

string

A unique identifier for the cert, required

P310, P315

label

string

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

P310, P315

typeALL, RSA, DSA, ECFor clientkey types, specifies the type of encryption used for the client key, to be recognized by OpenSSL.

P310, P315

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.

P310, P315

Activity Indicator Element

 Activity Indicator Element Example
Activity Indicator Element Example
<?xml version="1.0" ?>
<config>
    <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> 
</config>
  • 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

P310, P315

color

amber, green, red

Specifies the color to apply to the state being configured

P310, P315

stateoff, on, slow, fastSpecifies the lamp disposition to apply to the state being configured

P310, P315

use_proxy_for Element

 use_proxy_for Element Example
use_proxy_for Element Example
<?xml version="1.0" ?>
<config>
    <use_proxy_for network="10.10.0.0/20" network_id="network1" host="10.1.2.3" use="0" />
</config>
  • 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

P310, P315

network_id

id of a defined network

Specifies the network to which the setting should be applied

P310, P315

hosthostnameSpecifies the proxy hostname

P310, P315

useboolean

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

Defaults to 0.

P310, P315

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
network_id Attribute Example
<?xml version="1.0" ?>
<config>
    <networks>
        <network id="network1" display_name="Home" cidr="192.168.8.0/24" />
        <network id="network2" display_name="Work" cidr="10.0.0.0/8" />
    </networks>
    <setting id="ntp_server" value="0.digium.pool.ntp.org" network_id="network1" />
    <setting id="ntp_server" value="ntp.example.com" network_id="network2" />
    <setting id="network_vlan_discovery_mode" value="NONE" network_id="network1" />
    <setting id="network_vlan_discovery_mode" value="LLDP" network_id="network2" />
    <accounts>
        <account 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" voicemail="sip:800@10.1.2.3" outbound_proxy="" outbound_port="" conflict="replace">
            <host_primary server="pbx.example.com" port="5060" transport="udp" reregister="300" retry="25" network_id="network1" />
            <host_alternate server="10.1.2.3" port="5060" transport="udp" reregister="300" retry="25" network_id="network1" />
            <host_primary server="10.1.2.4" port="5060" transport="udp" reregister="300" retry="25" network_id="network2" />
            <host_alternate server="10.1.2.5" port="5060" transport="udp" reregister="300" retry="25" network_id="network2" />
        </account>
    </accounts>
    <contacts url="https://server.example.com/myfile.xml" id="internal" md5="abcd123" network_id="network1" />
    <contacts url="https://10.1.2.3/myfile.xml" id="internal" md5="abcd123" network_id="network2" />
    <firmware network_id="network1">
        <firmware model="P310" version="3_0_7" url="http://server.example.com/firmware/P310.firmware.eff" />
        <firmware model="P315" version="3_0_7" url="http://server.example.com/firmware/P315.firmware.eff" />
    </firmwares>
    <firmwares network_id="network2">
        <firmware model="P310" version="3_0_7" url="http://10.1.2.3/firmware/P310.firmware.eff" />
        <firmware model="P315" version="3_0_7" url="http://10.1.2.3/firmware/P315.firmware.eff" />
    </firmwares>
</config>
  • No labels