Configuration files are the containers for a subset of configuration parameters (“Settings”). They are UTF-8 XML coded, and can be apply to a specific phone type and/or a specific MAC address.

Used Parameters

Table of Contents

File format

The files should be written in the UTF-8 XML format. They can be segmented into the following tags:


Each of these tags can be stored as individual XML files, or within the <settings>-tag.

Example of a simple configuration file

 Click here to expand...
<?xml version="1.0" encoding="utf-8"?>
    <language perm="">English</language>
    <setting_server perm="R">{mac}</setting_server>
    <timezone perm="">ITA+1</timezone>
    <user_active idx="1" perm="RW">on</user_active>
    <user_realname idx="1" perm="R">John Doe - 401</user_realname>
    <user_name idx="1" perm="">401</user_name>
    <user_host idx="1" perm=""></user_host>
    <user_active idx="2" perm="RW">on</user_active>
    <user_realname idx="2" perm="R">Artur Black - 500</user_realname>
    <user_name idx="2" perm="">500</user_name>
    <user_host idx="2" perm=""></user_host>

Example of a more extensive configuration file for a German user including address book entries & function keys : D385-firmware.xml

 Click here to expand...
<?xml version="1.0" encoding="utf-8"?>

		<!-- General settings, e.g. localisation and update policy --> 
		<phone_name perm="R">Snom-D385</phone_name> <!-- hostname of the phone. If set, the hostname is used to sign syslog packages and as the title of the WUI -->
		<language perm="">Deutsch</language>
		<web_language perm="">Deutsch</web_language>
		<date_us_format perm="">off</date_us_format>
		<dialnumber_us_format perm="">off</dialnumber_us_format>

		<!-- SIP identity settings. As config files contain sensible data such as user names and passwords in plaintext, please always make sure they are sent over a secure network connection -->

		<user_name idx="1" perm="">1004</user_name> <!-- SIP account user name -->
		<user_pass idx="1">8LmxdmZdv4FW62PC</user_pass> <!-- SIP account password. Please always use strong passwords -->
		<user_host idx="1"></user_host> <!-- SIP registrar -->
		<user_realname idx="1">D385</user_realname> <!-- display name of the registered identity -->
		<user_active idx="1">on</user_active> <!-- Enables the SIP account -->
		<!-- Security settings for admin mode and Web User Interface --> 

		<admin_mode_password perm="">PmQYQHrLd6Q47fP3</admin_mode_password> <!-- Please always use strong passwords -->
		<http_user perm="">snom</http_user>
		<http_pass perm="">NsYdZMkdf4MbGfVh</http_pass> <!-- Please always use strong passwords -->

	<!-- Here we define the functions and values of the fkeys on the phone --> 

	<functionKeys e="2">
		<fkey idx="1" context="active" label="Meier" lp="on" default_text="$name" perm="">blf sip:1001@;user=phone</fkey> <!-- fkey monitoring line 1001 -->
		<fkey idx="2" context="active" label="Müller" lp="on" default_text="$name" perm="">blf sip:1002@;user=phone</fkey> <!-- fkey monitoring line 1002 -->
		<fkey idx="3" context="active" label="Schulze" lp="on" default_text="$name" perm="">blf sip:1003@;user=phone</fkey> <!-- fkey monitoring line 1003 -->
		<fkey idx="5" context="active" label="" lp="on" default_text="$name" perm="">keyevent F_REDIAL</fkey> <!-- fkey with function show last dialled numbers -->
	<!-- Phone directory entries locally stored on the phone -->
	<tbook e="2">
		<item context="active" type="none" fav="false" mod="true" index="0"><name>Meier</name><number>1001</number><number_type>extension</number_type><birthday>00.00.99</birthday></item>
		<item context="active" type="none" fav="false" mod="true" index="1"><name>Müller</name><number>1002</number><number_type>extension</number_type><birthday>00.00.99</birthday></item>
		<item context="active" type="none" fav="false" mod="true" index="2"><name>Schulze</name><number>1003</number><number_type>extension</number_type><birthday>00.00.99</birthday></item>

Permission Flags

Permission flags can be added to each parameter to define whether that setting is read only, read/write, or read/write protected. Valid values for the permission flag are:

  • perm="!": The configuration parameter can be changed by the user. In case the user changed the value from the default, the value will not be overwritten during the auto provisioning.
    perm="!" is not recommended for credential related settings like http_pass or admin_mode_password, as the phone does not track the interface used for first time configuration. Because of this, any sequential provisioning of those settings with new values will fail as current values is considered as changed by the user. Please also see the hint related to this type of settings.

    NOTE: If administrators want to be able to overwrite user parameter definitions, they need to use perm="$". With perm="!", the settings can be changed by mass provisioning only if the end user has not made changes to the configuration on the phone itself or on its web interface.
  • perm="R" or perm="&" or perm=" ": The configuration parameter becomes write-protected (read only).
  • perm="RW", perm="" or perm="$" The configuration parameter can be changed but will be overwritten on reboot.

It is recommended to write-protect those parameters that are crucial for the correct functioning of the phone, e.g. SIP registrar and user credentials.