Versions Compared

Key

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

...

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

Note

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

Expand
titleA Complete XML Configuration Example
Code Block
<?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="call_rejection_code_dnd" value="486" />
    <setting id="call_rejection_code_ignore" value="603" />
    <setting id="logo_file" value="user" path="/user_image.png" url="https://server.example.com/mylogo.png" md5="126cd744583eeea1ab7e44ed8af3d39c" />
        <setting id="wallpaper_file" value="user" path="/user_wallpaper.png" url="https://server.example.com/wallpaper.png" md5="126cd744583eeea1ab7e44ed8af3d39d" />
    <setting id="display_mc_notification" value="1" />
    <setting id="hide_completed_elsewhere" value="0" />
    <setting id="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="sidecar_class_c_net" value="172.20.0.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" />
            <setting id="call_rejection_code_dnd" value="486" />
            <setting id="call_rejection_code_ignore" value="603" />
        </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

Expand
titleXML Setting Elements
Code Block
<?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="call_rejection_code_dnd" value="486" />
    <setting id="call_rejection_code_ignore" value="603" />
    <setting id="logo_file" value="user" path="/user_image.png" url="https://server.example.com/mylogo.png" md5="126cd744583eeea1ab7e44ed8af3d39c" />
    <setting id="wallpaper_file" value="user" path="/user_wallpaper.png" url="https://server.example.com/wallpaper.png" md5="126cd744583eeea1ab7e44ed8af3d39d" />
    <setting id="display_mc_notification" value="1" />
    <setting id="hide_completed_elsewhere" value="0" />
    <setting id="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="sidecar_class_c_net" value="172.20.0.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>

...