Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Section
Column
width70%

Introduction

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


Column
width30%

Table of Contents

Section

Provisioning files on the server:

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

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.

 

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


Provisioning.xml file

Structure of the provisioning.xml file is shown below:

Code Block
languagexml
titleprovisioning.xml
<?xml version="1.0" encoding="UTF-8"?>
 	<provisioning version="1.0" productID="mx3b">
     	<category type="firmware" url="http:/my_server/maxwell3/firmware/updates.xml"/>
       	<category type="nvm" url="http://my_server/maxwell3 /nvm/updates.xml"/> 
       	<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] *

  • 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:

Code Block
languagexml
titleFirmware category type
<?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:

                                                                                                                                                

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

Code Block
languagexml
titleNVM category type
<?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" />
  	</nvm>                                                   
 
 Table 4 - Structure of update.xml file for NVM category type
Warning
titleImportant information
  • UVC

    must

    be

    same

    in

    steps

    2-3

    (see Figure 1)

    for

    successful

    autoprovisioning

  • MAC

    address

    must

    contain

    lower

    case

    letters

    and

    ":"

    signs

    only

Code Block
languagexml
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>
Table 5 -

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 Added 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

Image Removed

 
                                                                                                                                                                                            

Figure 2 – Control flow between files

 
On the Figure 1:
  • 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

                                                                                                                                                                  Figure 3 – Flow chart describing manual provisioning principles

Parameter list.
Here you can find the complete auto provisioning parameter list for the Maxwell

 

 

  • 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 Added

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

 Image Added

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Figure 9 –

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
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"/>
 	</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
Code Block
languagexml
titleconfiguration.xml
<?xml version="1.0" encoding="UTF-8"?>
	<settings version="2015-10-10_10:10:10" 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>