XML file version 1.0

When the provisioning is started, the device will contact the server to download the provisioning files.

Provisioning URL



http://<Server URL>/device

GET /device

No retry

GET /device/provisioning.xml

Master xml file containing information about location of other files for:

  • Firmware update

  • Settings

  • Custom settings

One retry if file is not present.

If provisioning.xml is not present device will try to download.

GET /device/<MAC>.xml

For provisioning, Provisioning Server has to perform 3 steps:

Get provisioning.xml file, so called the starting point for the device, which includes 3 possible types in itself, marked with the <category /> tag: 

  • firmware

  • nvm

  • custom – further steps of the provisioning.


Additional information

If the link for provisioning is pointing to a directory or server (PCM will try to download a default file named provisioning.xml (from the current directory), in case of full link pointing to the file, any name can be used. If you want to use encrypted connection, please provide a link starting with https://


Structure of the provisioning.xml file is shown below:


<?xml version="1.0" encoding="UTF-8"?>
<provisioning version="1.0" productID="mx3b">

<!-- URL to the file that contains information about the available Firmware -->
<category type="firmware" url="http:/my_server/maxwell3/firmware/updates.xml"/>

<!-- URL to the file that contains all settings -->
<category type="nvm" url="http://my_server/maxwell3 /nvm/updates.xml"/>

<!–URL to the file that contains custom settings like certificates -->
<category type="custom" url="http://my_server/maxwell3 /custom/updates.xml"/>


Firmware file

Firmware file

<?xml version="1.0" encoding="UTF-8"?>

<firmware version="1.0" productID="mx3b">

<file version="1.11.6" url="/firmware/GC_MAX_1.11.6.bin"/>



Settings file

<?xml version="1.0" encoding="UTF-8"?>

<nvm version="1.0" productID="mx3b" macAddress="90:1b:0e:56:c7:bc">

<file version="2015-01-01_01:01:01" url= "http://my_server/maxwell3/nvm/mx3_version1.xml"/>
<file version="2015-02-02_02:02:02" url= "http://my_server/maxwell3/nvm/mx3_version1.xml" />


<?xml version="1.0" encoding="UTF-8"?>
	<settings version="1.0" productID="mx3b" macAddress= "7c:2f:80:00:00:00">  
		<!-- SIP -->
		<param name="SIP.LogLevel" value="4" />
		<param name="SIP.TransportProtocol" value="1" />
		<param name="SIP.Port" value="5060" />
		<param name="SIP.Timers.Session" value="3600" />
		<param name="SIP.Timers.FailedRegistration" value="300" />
		<param name="SIP.Timers.Subscription" value="1800" />
		<param name="SIP.PRACK" value="1" />
		<param name="SIP.RTP.Port" value="8000" />
		<param name="SIP.RTP.UseRandomPorts" value="0" />
		<param name="SIP.RTP.UseSymmetricPorts" value="0­" />
		<param name="SIP.RTP.UseRTCP" value="0" />
		<param name="SIP.RTP.Duration" value="20" />
		<param name="SIP.Security.AcceptNonSRTPCalls" value="1" />
		<param name="SIP.AvailableCodecs" value="0" />
		<param name="SIP.ActiveCodecs" value="0" />
		<param name="SIP.DefaultAccount" value="0" />
		<param name="SIP.Account.0.AccountName" value="IP1" />
		<param name="SIP.Account.0.Active" value="1" />
		<param name="SIP.Account.0.Provider" value="Provider" />
		<param name="SIP.Account.0.AuthName" value=" AuthName " />
		<param name="SIP.Account.0.AuthPassword" value="Pass" />
		<param name="SIP.Account.0.DisplayName" value="DisplayName" />
		<param name="SIP.Account.0.Username" value="Username " />
		<param name="SIP.Account.0.Domain" value="sip.domain.com" />
		<param name="SIP.Account.0.CLIPSource" value="2" />
		<param name="SIP.Account.0.CLIR" value="0" />
		<param name="SIP.Account.0.ProxyServer.Address" value="sip.proxy.com"/>
		<param name="SIP.Account.0.ProxyServer.Port" value="5060" />
		<param name="SIP.Account.0.RegistrationServer.Address" value="sip.registration.com"/>
		<param name="SIP.Account.0.RegistrationServer.Port" value="5060"/>
		<param name="SIP.Account.0.RegistrationServer.RefreshTimer" value="180"/>
		<param name="SIP.Account.0.STUN.Enabled" value="1" />
		<param name="SIP.Account.0.STUN.Address" value="sip.stun.com"/>
		<param name="SIP.Account.0.STUN.Port" value="3478" />
		<param name="SIP.Account.0.STUN.RefreshTimer" value="240" />
		<param name="SIP.Account.0.STUN.NATRefreshTimer" value="20" />
		<param name="SIP.Account.0.OutboundProxy.Mode" value="2" />
		<param name="SIP.Account.0.OutboundProxy.Address" value="sip.proxy.com"/>
		<param name="SIP.Account.0.OutboundProxy.Port" value="5060" />
		<param name="SIP.Account.0.DTMFTransmission" value="1" />
		<param name="SIP.Account.0.AutoNegOfDTMFTransmission" value="1"/>

As it can be seen from the example above, several <file version="...."> were introduced. However, in the provisioning process only the newest one will be taking into consideration and processed. 

Custom settings


<?xml version="1.0" encoding="UTF-8"?>

<scenario version="2015-01-01_01:01:01" productID="mx3b">

<step type="certificate" url="http://server.address.com/certificates/certificate.pem" flags="FORCE_ACCEPT" />


  • No labels