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 is presented in Appendix A

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 2

figure is

presenting

the

workflow

for

the

firmware

update/downgrade

procedure

between

M3B

and

the

Provisioning

server:

Image Removed

Image Added 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

                                                         
                                      
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
                                                                                                                                   

 

 

 

 

 

  

Figure 1 - Workflow for the firmware upgrade/downgrade

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

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:   

                                                                                                                                                                  Figure 3 – Flow chart describing manual provisioning principles

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:
 
 
                                                                                                                                                                

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>