Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Section
columnIntroductionImage Removed

In our other devices, provisioning must handle multiple binary files (master.bin, sifs_...bin, sit_...bin, sih_...bin, siu_...bin) in order to get the final URL to config file. As provisioning is changed towards downloading xml files, we have created a new provisioning method in Maxwell 3/Basic.

The Provisioning Server URL can be found in the web-interface under: Settings - System - Provisioning and Configuration

How to configure the provisioning URL:

The provisioning server URL can be provided via the following Methods:

  1. DHCP option 114
  2. SIP Multicast
  3. Gigaset Redirect server
  4. Manually via web-interface
Panel
titleColor
width#F8540470%
titleBGColor
#F0F0F0
Column
width30%

Table of Contents

Section

Provisioning files on the server:

titleXML file version 1.0

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


Provisioning URL

Action:

Comment

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:

1)


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.

 
Note
titleAdditional 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://

Panel
titleColor#F85404
titleBGColor#F0F0F0
titleProvisioning.xml
file
  • <firmware> <file version="unique_version_control_string_v3" /> </firmware>
  • <nvm>      <file version="unique_version_control_string_v3" /> </nvm>
  • <custom>   <file version="unique_version_control_string_v3" /> </custom>
Every XML file has its version defined in tag <xml> which describes xml file format version (regardless of the PCM):
<?xml version="1.0" encoding="UTF-8"?>
There is also a version which describes the version of PCM and its xml files definition format located under tags:
  • <provisioning version="1.0">
  • <firmware     version="1.0">
  • <nvm          version="1.0">
  • <settings     version="1.0">
  • <custom       version="1.0">
  • <scenario     version="1.0">

The last type of version used by PCM is the version used to determine the newest version of firmware, nvm settings or custom scenario. This version is specified in tags:

Code Block
languagexml

Structure of the provisioning.xml file is shown below:

Note


Info
iconfalse
titleprovisioning.xml

<?xml

version="1.0"

encoding="UTF-8"?>


<provisioning

version="1.0"

productID="mx3b">

<category

<!-- URL to the file that contains information about the available Firmware -->
<category type="firmware"

url="http:/my_server/maxwell3/firmware/updates.xml"/

> <category

>

<!-- URL to the file that contains all settings -->
<category type="nvm"

url="http://my_server/maxwell3

/nvm/updates.xml"/>

<category

<!–URL to the file that contains custom settings like certificates -->
<category type="custom"

url="http://my_server/maxwell3

/custom/updates.xml"/>

</provisioning>

 

2) Get updates.xml file for each of the category mentioned above, which includes Unique Version Control, productID and MAC address (optional):

  • Unique version control [YYYY-MM-DD_HH:MM:SS] * UVC has to be present only in the 2nd step of the provisioning proccess

  • productID [mx3b]

  • macAddress [optional] **

updates.xml for Firmware category type – provides link to .bin file for downgrading/upgrading device SW version.

updates.xml for NVM category type – provides link to file containing provisioning parameters for the device (list of possible parameters can be found here)

updates.xml for Custom category type – provides link to file containing certificates CA.pem

 

Structure of each file is shown below:

 

Panel
titleColor#F85404
titleBGColor#F0F0F0
titleFirmware file
Code Block
languagexml
titleFirmware category type
<?xml
Info
iconfalse
titleFirmware file
Image Added

<?xml

version="1.0"

encoding="UTF-8"?>

<firmware

version="1.0"

productID="mx3b">

<file version="2015-01-01_01:01:01" type="latest" url="http://my_server/maxwell3/firmware/v1/GC_mx_3.bin" /> </firmware>

The next figure is presenting the workflow for the firmware update/downgrade procedure between M3B and the Provisioning server:

Image Removed                                                                                                                                                

After the successful attempt to upgrade/downgrade the device, on the device screen will appear a progress line with "Firmware update in progress..." title. 
 


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


</firmware>

Panel
titleColor#F85404
titleBGColor#F0F0F0
titleSettings
Code Block
languagexml
titleNVM category type
<?xml
Info
iconfalse
titleSettings file

<?xml

version="1.0"

encoding="UTF-8"?>

<nvm

version="1.0"

productID="mx3b" macAddress="90:1b:0e:56:c7:bc">

<file

<file version="2015-01-01_01:01:01"

url=

"http://my_server/maxwell3/nvm/mx3_version1.xml"/>

<file


<file version="2015-02-02_02:02:02"

url=

"http://my_server/maxwell3/nvm/mx3_version1

.xml" /> </nvm>
 
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

.

 
 
Warning
titleImportant information
  • UVC must be same in steps 2-3 for successful autoprovisioning

  • MAC address must contain lower case letters and ":" signs only

Code Block
language

xml

titleCustom category type
<?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" /

>

</scenario>

Structure of update.xml file for Custom category type

Note
titleSupported extensions
  • Supported formats for certificates are: PEM, DER

 

3) Get firmware.bin, nvm.xml, ca.pem files. This step can be either proceed or skipped during different use-cases as it is shown on the next Control flow between the files described in steps 1)-2):

Image Removed                                                                                                                          

 

 

  • UVC – Unique Version Control, this value is stored in System.Provision.SettingsVersion. Thus, before the first attempt of autoprovisioning this value is equal to “0”, after – value is being changed to “1” and so forth

Note

After verifying of UVC further step (step 3) can be proceed or skipped. Thus, for the successful further proceeding, UVC value has to be the same in step 2 - step 3. 

2.1.1. Steps involved into provisioning

               Below are shown steps which will be involved into the successful provisioning between Maxwell 3B and the Provisioning Server during manual scenario:   

Image Removed
Code Block
languagexml
titleprovisioning.xml
<?xml version="1.0" encoding="UTF-8"?> <provisioning version="1.0" productID="mx3b"> <category type="nvm"url="http://172.29.17.156/specific_path/nvm/updates.xml"/>

Parameter list.

Here you can find the complete auto provisioning parameter list for the Maxwell 3/B.

 

Hierarchy of XML files for the provisioning.

Let’s assume that the structure of directory containing all the provisioning files on the provisioning server has a next hierarchy and the further .xml files are presenting the case marked with a red arrow:

 Image Removed

                                                                                                                                                               

Examplarery hierarchy

Warning
titleImportant note!

Usage of empty or inappropriate values in value=” ” (see configuration.xml example below) can
lead to unpredictable behavior. Please, fulfill this field carefully according to the standards.

1) provisioning.xml

</

provisioning>
2) updates.xml
Code Block
languagexml
titleupdates.xml
<?xml version="1.0" encoding="UTF-8"?> <nvm version="1.0" productID="mx3b"> <file version="2015-10-10_10:10:10" url="http://172.29.17.156/specific_path/nvm/configuration.xml"/> </

nvm>

3) configuration.xml
With 2016 software, the version value in this step 3 is changed from "date and time" to "1.0"
Code Block
languagexml
titleconfiguration.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"/>
	</settings>

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. 


Panel
titleColor#F85404
titleBGColor#F0F0F0
titleCustom settings
Info
iconfalse
titleCustom

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

</scenario>

Panel
titleColor#F85404
titleBGColor#F0F0F0
titleParameter list

Here you can find the complete auto provisioning parameter list for the Maxwell 3/B.