Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »

XML Configuration 4.13.0+

XML Configuration

This section describes the formatting and options available when creating XML-based configuration files for provisioning Sangoma phones. 

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="send_mac_with_useragent" value="0" />
    <setting id="use_secure_labels" value="1" />
    <setting id="time_zone" value="America/Los_Angeles" />
    <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="display_mc_notification" value="1" />
    <setting id="hide_completed_elsewhere" 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="blf_page_return_timeout" value="0" />
    <setting id="idle_return_timer" value="120" />
    <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="date_long_format" value="EEE, MMM d" />
    <setting id="ringer_volume" value="5" />
    <setting id="speaker_volume" value="5" />
    <setting id="handset_volume" value="5" />
    <setting id="headset_volume" value="5" />
    <setting id="reset_call_volume" value="0" />
    <setting id="active_ringtone" value="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="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="expansion_enable" value="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="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="sip_notify_call_control" 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_inline_config" url="https://user:password@server.example.com/vpn/client.ovpn" value="1" md5="abc123" />
    <setting id="wifi_enabled" value="0" />
    <setting id="wifi_ssid" value="" />
    <setting id="wifi_psk" value="" />
    <setting id="wifi_security" value="None" />
    <setting id="bluetooth_enabled" value="0" />
    <setting id="config_recheck" value="0" idle_time="600" days="0123456" start_time="0200" hours="2" />
    <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="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="1" />
        <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>
        <block_redial>
            <action id="dial_vm" />
            <action id="sendtovm" />
            <action id="monitor" />
            <action id="pickup" />
        </block_redial>
        <settings can_transfer_vm="1" name_format="last_first" 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="P320" version="3_0_7" url="http://10.10.4.11/firmware/3_0_7_P320_firmware.eff" />
        <firmware model="P325" version="2_8_0" url="http://10.10.4.11/firmware/3_0_7_P325_firmware.eff" />
    </firmwares>
    <public_firmwares>
        <public_firmware model="P320" version="3_0_7" url="http://firmware.example.com/firmware/3_0_7_P320_firmware.eff" />
        <public_firmware model="P325" version="3_0_7" url="http://firmware.example.com/firmware/3_0_7_P325_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="My Paging 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="1" />
    <setting id="time_zone" value="America/Los_Angeles" />
    <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="display_mc_notification" value="1" />
    <setting id="hide_completed_elsewhere" 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="blf_page_return_timeout" value="0" />
    <setting id="idle_return_timer" value="120" />
    <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="date_long_format" value="EEE, MMM d" />
    <setting id="ringer_volume" value="5" />
    <setting id="speaker_volume" value="5" />
    <setting id="handset_volume" value="5" />
    <setting id="headset_volume" value="5" />
    <setting id="reset_call_volume" value="0" />
    <setting id="active_ringtone" value="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="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="expansion_enable" value="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="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="sip_notify_call_control" 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_inline_config" url="https://user:password@server.example.com/vpn/client.ovpn" value="1" md5="abc123" />
    <setting id="wifi_enabled" value="0" />
    <setting id="wifi_ssid" value="" />
    <setting id="wifi_psk" value="" />
    <setting id="wifi_security" value="None" />
    <setting id="bluetooth_enabled" value="0" />
    <setting id="config_recheck" value="0" idle_time="600" days="0123456" start_time="0200" hours="2" />
</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. 

P320, P325, P330, P370

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.

P320, P325, P330, P370

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

P320, P325, P330, P370

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.

P320, P325, P330, P370

use_secure_labels

boolean

If 1, the phone will replace the config fetch URL with "Server" or "Fetching" onboot.

Defaults to 1

P320, P325, P330

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

P320, P325, P330, P370

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

P320, P325, P330, P370

ntp_resync

Seconds as integer, e.g. 86400

Sets the interval between NTP synchronization.

Defaults to 86400.

P320, P325, P330, P370

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.

P320, P325, P330, P370

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.

P320, P325, P330, P370

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

P320, P325, P330, P370

transport_udp_enabled

boolean

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

Defaults to 1

P320, P325, P330, P370

transport_udp_port

Valid integer for ports (1-65535)

Sets the local UDP SIP port.

Defaults to 5060

P320, P325, P330, P370

transport_tcp_enabled

boolean

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

Defaults to 1

P320, P325, P330, P370

transport_tcp_port

Valid integer for ports (1-65535 )

Sets the local TCP SIP port.

Defaults to 5060

P320, P325, P330, P370

transport_tls_allowed

boolean

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

Defaults to 1

P320, P325, P330, P370

transport_tls_port

Valid integer for ports (1-65535)

Sets the local TLS SIP port.

Defaults to 5061

P320, P325, P330, P370

tls_allow_wildcard_certs

boolean, defaults to 0

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

P320, P325, P330, P370

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.

P320, P325, P330, P370

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 in PNG format
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

320x132 pixels for P310/P315
300x170 pixels for P320 and P325
144x86 pixels for P330 
800x1280 pixels for P370 

P320, P325, P330 (4_9_0)
P370 (4_11_1) 

display_mc_notification

boolean

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

Defaults to 1

P320, P325, P330, P370

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.

P320, P325, P330, P370 (4_11_1)

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.

P320, P325, P330

Preferences (Display)

Option

Values

Description

Models

brightness

integer (1-10)

Sets the LCD screen brightness

Defaults to 5

P320, P325, P330, P370

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.

P320, P325, P330, P370

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

P320, P325, P330, P370

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

P320, P325, P330, P370

backlight_dim_level

integer (0-10)

Brightness level dims to when when dim_backlight is true.

Defaults to 2

P320, P325, P330, P370

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

P320, P325, P330 (4_7_0)

idle_return_timer

integer

Time, in seconds, at which phone, if idle, will return from a foregrounded app to the home screen.

Defaults to 120

P320, P325, P330 (4_9_0)

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.

P320, P325, P330, P370

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

P320, P325, P330, P370

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

P320, P325, P330, P370

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}

P320, P325, P330, P370

date_long_format

an ICU date/time pattern

Sets the date format used by the phone on its idle screen. This setting is normally controlled by the phone's configured locale.
Defaults to EEE, MMM d 

P320, P325, P330, P370

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

P320, P325, P330, P370

speaker_volume

integer (1-10)

Sets the speaker volume.

Defaults to 5

P320, P325, P330, P370

handset_volume

integer (1-10)

Sets the handset volume.

Defaults to 5

P320, P325, P330, P370

headset_volume

integer (1-10)

Sets the headset_volume.

Defaults to 5

P320, P325, P330, P370

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

P320, P325, P330, P370

active_ringtone

Tone ID from <tones> provided to phone

Sets the current user-selected ringtone.

Defaults to Sangoma

P320, P325, P330, P370

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

P320, P325, P330, P370

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

P320, P325, P330, P370

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.

P320, P325, P330, P370

ehs

auto, jabra_iq, plantronics

Defines the Electronics Hookswitch type to support.

Defaults to auto.

P320, P325, P330, P370

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.

P320, P325, P330, P370

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.

P320, P325, P330, P370

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.

P320, P325, P330, P370

name_format

first_last, last_first

Formats the display of contact names.

Defaults to first_last

P320, P325, P330, P370

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.

P320, P325, P330, P370

expansion_enable

boolean

If enabled, configures telephone to support expansion modules

P330, P370 (4_11_4

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

P320, P325, P330, P370

network_static_ip_address

IPv4 address

Defines the network address for the phone.

No default.

P320, P325, P330, P370

network_subnet_mask

IPv4 netmask

Defines the netmask for the phone.

No default.

P320, P325, P330, P370

network_default_gateway

IPv4 address

Defines the network gateway for the phone.

No default.

P320, P325, P330, P370

network_primary_dns_server

IPv4 address

Defines the primary DNS server for the phone.

No default.

P320, P325, P330, P370

network_secondary_dns_server

IPv4 address

Defines the secondary DNS server for the phone.

No default.

P320, P325, P330, P370

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.

P320, P325, P330, P370

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.

P320, P325, P330, P370

enable_tcp_sack

boolean, Defaults to 0

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

P320, P325, P330, P370

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

P320, P325, P330, P370

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.

P320, P325, P330, P370

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.

P320, P325, P330, P370

Logging

Option

Values

Description

Models

log_level

error, warning, debug, information

Sets the logging level.

Defaults to information

P320, P325, P330, P370

log_server

IPv4 address of syslog server

Specifies remote syslog server.

No default.

P320, P325, P330, P370

log_port

port as integer

Specifies port of remote syslog server.

No default.

P320, P325, P330, P370

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

P320, P325, P330, P370

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)

P320, P325, P330, P370

sip_qos

integer (0-7)

Sets the SIP signaling QOS level

Defaults to 3.

P320, P325, P330, P370

rtp_qos

integer (0-7)

Sets the RTP media QOS level.

Defaults to 6.

P320, P325, P330, P370

pc_qos

integer (0-7)

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

No default.

P320, P325, P330, P370

sip_dscp

integer (0-63)

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

Defaults to 24

P320, P325, P330, P370

rtp_dscp

integer (0-63)

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

Defaults to 46

P320, P325, P330, P370

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

P320, P325, P330, P370

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

P320, P325, P330, P370

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

P320, P325, P330, P370

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.

P320, P325, P330, P370

sip_notify_call_control

boolean

If 1, causes the phone to respond to in-dialog SIP NOTIFY talk and hold Events to answer, hold, and resume calls.

Defaults to 0.

P320, P325, P330 (4_8_0)

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

P320, P325, P330, P370

8021x_identity

string

Sets the 802.1X authentication identifier (username),

Defaults to empty string (none).

P320, P325, P330, P370

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

P320, P325, P330, P370

8021x_password

string

Sets the 802.1X authentication password

Defaults to empty string (none)

P320, P325, P330, P370

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.

P320, P325, P330, P370

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.

P320, P325, P330, P370

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.

P320, P325, P330, P370

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.

P320, P325, P330, P370

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.

P320, P325, P330, P370

Wifi (network)

Option

Values

Description

Models

wifi_enabled

boolean

If 1, enables the wireless interface (wlan0). The physical interface (eth0) is disabled

Defaults to 0.

P330, P370

wifi_ssid

string

Sets the name (ssid) of the wireless network.
No default.

P330, P370

wifi_psk

string, password

Sets the password of the wireless network

P330, P370

wifi_security

None
WEP
WPA-WPA2-Personal 

Sets the WiFi security method

P330, P370

Bluetooth

Option

Values

Description

Models

bluetooth_enabled

boolean

If 1, enables the bluetooth feature

Default to 0

P330, P370

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.

P320, P325, P330, P370

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.

P320, P325, P330, P370

action

app

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

No default.

P320, P325, P330, P370

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.

P320, P325, P330

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.

P320, P325, P330

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.

P320, P325, P330, P370

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>

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

P320, P325, P330, P370

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"  visual_voicemail="0" 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>
            <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="1" />
            <permission id="use_voicemail" value="1" />
            <permission id="send_to_voicemail" value="1" />
            <permission id="ignore_calls" value="1" />
        </account>
    </accounts>
</config>

Option

Values

Description

Models

server_uuid

Non-zero String

Specifies a unique identifier for the server.

P320, P325, P330, P370

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.

P320, P325, P330, P370

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.

P320, P325, P330, P370

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.

P320, P325, P330, P370

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.

P320, P325, P330, P370

username

string

SIP username

P320, P325, P330, P370

authname

string

SIP authname

P320, P325, P330, P370

password

string

SIP password

P320, P325, P330, P370

passcode

string

SIP password

P320, P325, P330, P370

line_label

string

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

P320, P325, P330, P370

caller_id

Name <Number>

Outgoing caller id displayed for this account

P320, P325, P330, P370

dial_plan

Digit mapping, see Dial Plans

The dial plan / digit mapping for this account

P320, P325, P330, P370

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.

P320, P325, P330, P370

voicemail

digits or SIP URI

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

P320, P325, P330, P370

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

P320, P325, P330, P370

plar_number

string

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

P320, P325, P330, P370

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.

P320, P325, P330, P370

subscription_extension

string

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

P320, P325, P330, P370

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 subscription

P320, P325, P330, P370

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

P320, P325, P330, P370

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.

P320, P325, P330, P370

transport

udp, tcp, tls

Sets the transport type, UDP or TCP, TLS.

P320, P325, P330, P370

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.

P320, P325, P330, P370

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.

P320, P325, P330, P370

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.

P320, P325, P330, P370

needMwiSubscription

boolean

Per-host override of needMwiSubscription from account element

P320, P325, P330, P370

mwi_subscription_uri

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

Per-host override of mwi_subscription_uri from account element

P320, P325, P330, P370

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

P320, P325, P330, P370

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.

P320, P325, P330, P370

transport

udp, tcp, tls

Sets the transport type, UDP or TCP, TLS.

P320, P325, P330, P370

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.

P320, P325, P330, P370

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.

P320, P325, P330, P370

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.

P320, P325, P330, P370

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.

P320, P325, P330, P370

needMwiSubscription

boolean

Per-host override of needMwiSubscription from account element

P320, P325, P330, P370

mwi_subscription_uri

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

Per-host override of mwi_subscription_uri from account element

P320, P325, P330, P370

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.

P320, P325, P330, P370

port

empty, or integer (1-65535)

Port for the outbound proxy

P320, P325, P330, P370

transport

udp, tcp, tls

SIP Transport for the outbound proxy

P320, P325, P330, P370

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.

P320, P325, P330, P370

use_voicemail

boolean

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

Defaults to 0.

P320, P325, P330, P370

send_to_voicemail

boolean

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

Defaults to 0.

P320, P325, P330, P370

ignore_calls

boolean

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

Defaults to 0.

P320, P325, P330, P370

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.

P320, P325, P330, P370

call_log_fetch_entries

integer

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

Defaults to 50.

P320, P325, P330, P370

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.

P320, P325, P330, P370

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.

P320, P325, P330, P370

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

P320, P325, P330, P370

display_name

string

A named identifier for the network

P320, P325, P330, P370

cidr

CIDR formatted address

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

P320, P325, P330, P370

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="1" />
        <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

P320, P325, P330, P370

priority

integer (1-255)

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

P320, P325, P330, P370

packetization

integer in 10ms increments per RFC codec guidelines

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

P320, P325, P330, P370

jitter_min

integer in ms

Sets the minimum size of the codec jitter buffer

P320, P325, P330, P370

jitter_max

integer in ms

Sets the maximum size of the codec jitter buffer

P320, P325, P330, P370

jitter_target

integer in ms

Sets the target size of the codec jitter buffer

P320, P325, P330, P370

enabled

boolean

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

P320, P325, P330, P370

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.

P320, P325, P330, P370

samplerate

Depends on codec: nb, wb

Sets the sampling rate for a codec, applicable to Opus codec. Opus operates at either nb (8000Hz) or wb (16000Hz). Defaults to wb for Opus.

P320, P325, P330, P370

use_vbr

boolean

Applies to the Opus codec. If 1, uses a variable bitrate encoder. If 0, uses a constant bitrate encoder. Only the variable bitrate encoder is supported. The constant bitrate encoder will deliver malformed audio.

Defaults to 1.

P320, P325, P330, P370

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

P320, P325, P330, P370

display

string

External Tone Description

P320, P325, P330, P370

url

URL string

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

P320, P325, P330, P370

md5

md5sum

MD5 sum of the file to be retrieved

P320, P325, P330, P370

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

P320, P325, P330, P370

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

P320, P325, P330, P370

ringtone_id

string

The id of the ring tone for this alert

P320, P325, P330, P370

ring_type

normal, answer, ring-answer, visual

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

P320, P325, P330, P370

Firmwares Element

 Firmwares Element Example

Firmwares Element Example

<?xml version="1.0" ?>
<config>
    <firmwares>
        <firmware model="P320" version="3_0_7" url="http://10.10.4.11/firmware/3_0_7_P320_firmware.eff" />
        <firmware model="P325" version="3_0_7" url="http://10.10.4.11/firmware/3_0_7_P325_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

P320, P325, P330, P370, PM200

Model number of the Sangoma phone or expansion module

P320, P325, P330, P370, PM200

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

P320, P325, P330, P370

url

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. https://user:pass@server.example.com.

P320, P325, P330, P370

Public Firmwares Element

 Public Firmwares Element Example

Firmwares Element Example

<?xml version="1.0" ?>
<config>
    <public_firmwares>
        <public_firmware model="P320" version="3_0_7" url="http://firmware.example.com/firmware/3_0_7_P320_firmware.eff" />
        <public_firmware model="P325" version="3_0_7" url="http://firmware.example.com/firmware/3_0_7_P325_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

P320, P325, P330, P370

Model number of the Sangoma phone

P320, P325, P330, P370

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

P320, P325, P330, P370

url

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. https://user:pass@server.example.com.

P320, P325, P330, P370

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" 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

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.

P320, P325, P330, P370

username

String

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

P320, P325, P330, P370

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.

P320, P325, P330, P370

appserver

dash://YOUR SERVER/json

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

P320, P325, P330, P370

apiformat

json

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

P320, P325, P330, P370

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

P320, P325, P330, P370

username

string

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

P320, P325, P330, P370

auth_token

string

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

P320, P325, P330, P370

appserver

URL as string

Specifies the URL of the application server

P320, P325, P330, P370

apiformat

json

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

P320, P325, P330, P370


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

Option

Values

Description

Models

id

parking, status, contacts, call_log, forward_calls, hotdesking, mcastpage

Specifies the application to load into the phone's app screen, dependent on phone model.
mcastpage (4_13_0, all except P370)
hostdesking (all except P370)
forward_calls (all except P370) 

P320, P325, P330, P370

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

P320, P325, P330, P370

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

P320, P325, P330, P370

Contacts: Settings Child Elements <appconfig> for contacts application

Option

Values

Description

Models

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.

P320, P325, P330, P370

name_format

first_last, last_first

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

Defaults to first_last

P320, P325, P330, P370

in_switchvox_environment

boolean

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

Defaults to 0. 

P320, P325, P330, P370

preferred_contact_group

string

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

P320, P325, P330, P370

Block Redial: Settings Child Elements <appconfig> for contacts application

Option

Values

Description

Models

id

string

Specifies the identifier of the contact action to be blocked from redial function

P320, P325, P330, P370


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.

P320, P325, P330, P370

action_id

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

Sets the action_id for the display rule to act upon

P320, P325, P330, P370

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.

P320, P325, P330, P370

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

P320, P325, P330, P370

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.

P320, P325, P330, P370

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.

P320, P325, P330, P370

full_application

None

If 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_credentials

boolean

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

P320, P325, P330, P370

status

logged_out, logged_in

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

P320, P325, P330, P370

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"/>
        <broadcast id="1" name="My Paging Group" addr="239.0.0.3" port="32000" codec="PCMU" />
    </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

  • Specifies broadcast addresses on which phone can multicast audio 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 non-empty unique alpha-numeric string identifier for broadcasters and listeners, required. listenerand broadcast IDs are considered different i.e. there is no relationship between a listener ID and a broadcast ID.

P320, P325, P330, P370

name

string

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

P320, P325, P330, P370

extension

string

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

P320, P325, P330, P370

addr

IPv4 address

Multicast address to which phone should subscribe for audio, required

P320, P325, P330, P370

port

Valid integer for ports (1-65535)

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

P320, P325, P330, P370

priority

integer, 1-10

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

P320, P325, P330, P370

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.

P320, P325, P330, P370

Broadcast

Option

Values

Description

Models

id

string

A unique identifier for the broadcast, required

P320, P325, P330 (4_13_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

P320, P325, P330 (4_13_0)

addr

IPv4 address

Multicast address to which phone will broadcast audio, required

P320, P325, P330 (4_13_0)

port

Valid integer for ports (1-65535)

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

P320, P325, P330 (4_13_0)

codec

PCMU, PCMA, G722

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

P320, P325, P330 (4_13_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

P320, P325, P330, P370

label

string

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

P320, P325, P330, P370

type

ALL, RSA, DSA, EC

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

P320, P325, P330, P370

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.

P320, P325, P330, P370

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

P320, P325, P330, P370

color

amber, green, red

Specifies the color to apply to the state being configured

P320, P325, P330, P370

state

off, on, slow, fast

Specifies the lamp disposition to apply to the state being configured

P320, P325, P330, P370

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

P320, P325, P330, P370

network_id

id of a defined network

Specifies the network to which the setting should be applied

P320, P325, P330, P370

host

hostname

Specifies the proxy hostname

P320, P325, P330, P370

use

boolean

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

Defaults to 0.

P320, P325, P330, P370

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"  visual_voicemail="0" 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" />
            <permission id="record_own_calls" value="0" />
        </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="P320" version="3_0_7" url="http://server.example.com/firmware/P320.firmware.eff" />
        <firmware model="P325" version="3_0_7" url="http://server.example.com/firmware/P325.firmware.eff" />
    </firmwares>
    <firmwares network_id="network2">
        <firmware model="P320" version="3_0_7" url="http://10.1.2.3/firmware/P320.firmware.eff" />
        <firmware model="P325" version="3_0_7" url="http://10.1.2.3/firmware/P325.firmware.eff" />
    </firmwares>
</config>
  • No labels