Cristian Livadaru's blog

... think again ...

Provisioning Gigaset IP Pro

I don’t know what drugs the people at gigaset are consuming, but this is by far the sickest provisioning I have ever seen. If you can’t use the gigaset provided provisioning server (because you need to use the contact form, to contact gigaset and beg the to create an account for you! wtf?)

So, first of all on your web server you need some special directories. Let’s assume our provisioning url will be: http://192.168.0.10/device on your web server under device you need to create sub directories depending on the phone model you want to provision. In this example I will be using the gigaset N510IP Pro. This device expects a directory 42/2 to be present. For more details check the gigaset wiki

Looking at the wiki you will see that some files will be requested as well:

  • master.bin
  • version.bin
  • wl_xx.bin
  • baselines.bin
  • siu_444.bin
  • configuration XML

You can get a template for the xml from the gigaset wiki

but this List is missing some files. Not sure if they are needed but here are my files under the device directory

1
2
3
4
5
6
7
8
9
10
11
12
13
.
|-- 42
|   |-- 2
|   |   `-- master.bin
|   `-- webuil
|       `-- 194
|           `-- version.bin
|-- xxxx.xml
`-- sifs
    |-- sifsroot.bin
    |-- sih_4xx.bin
    |-- sit_44x.bin
    `-- siu_444.bin

So, where do you get the files? Searching through the gigaset wiki there is no reference to the files. The answer is, you need to download them from the gigaset provisioning server - http://profile.gigaset.net/device

master.bin version.bin sifsroot.bin sih_4xx.bin sit_44x.bin siu_444.bin

After you have all files, copy them to your server in the correct directory and edit the siu_444.bin file. It’s a bin file but still can be edited. The original content look like this:

1
^@F^CDhttp://prov.gigaset.net/apredirect/redirect.do?mac=%MACD&dvid=%DVID^@

so in our case, if we have a xml file on the server, we will edit it like this:

1
^@F^CDhttp://192.168.0.10/device/%MACD.xml^@

This will make the gigaset request http://192.168.0.10/device/.xml where will be the MAC address from the phone. The XML File is some other twisted sick stuff which I will not go into now. But it’s important to update the version on each edit (see comments in file):

1
<VERSION value="1001131110"/>^M

Give the handsets a name. This would be the first handset:

1
<SYMB_ITEM ID="BS_AE_Subscriber.stMtDat[0].aucTlnName[0]" class="symb_item" value='"Handset1"'/>

this the second

1
<SYMB_ITEM ID="BS_AE_Subscriber.stMtDat[1].aucTlnName[0]" class="symb_item" value='"Handset2"'/>

and so on.

Also enable each account used. For 5 accounts it would look like this:

1
2
3
4
5
<SYMB_ITEM ID="BS_IP_Data1.ucB_SIP_ACCOUNT_IS_ACTIVE_1" class="symb_item" value="0x1"/>
<SYMB_ITEM ID="BS_IP_Data1.ucB_SIP_ACCOUNT_IS_ACTIVE_2" class="symb_item" value="0x1"/>
<SYMB_ITEM ID="BS_IP_Data1.ucB_SIP_ACCOUNT_IS_ACTIVE_3" class="symb_item" value="0x1"/>
<SYMB_ITEM ID="BS_IP_Data1.ucB_SIP_ACCOUNT_IS_ACTIVE_4" class="symb_item" value="0x1"/>
<SYMB_ITEM ID="BS_IP_Data1.ucB_SIP_ACCOUNT_IS_ACTIVE_5" class="symb_item" value="0x1"/>

and do not forget to add you provisioning url to the configuration, otherwise it will be replaced by the default:

1
<SYMB_ITEM ID="BS_IP_Data1.aucS_DATA_SERVER[0]" class="symb_item" value='"http://192.168.0.10/device"'/>