UC900 Series IP Phones Provisioning

UC900 Series IP Phones Provisioning

1. Introduction

Htek UC900 Series including all models:

UC901

UC902(S)

UC903

UC912(G/E)

UC921(E)

UC923(U)

UC924(E/W/U)

UC926(E/S/U)

This guide provides instructions on how to provision Htek IP Phone with the minimum settings.

Htek IP Phone supports FTP, TFTP, HTTP, and HTTPS for auto provisioning and are configured by default to use the HTTP.

Note: The auto provision just applies to FW 1.0.3.70 or FW after 1.0.3.70. For the latest FW, please visit Htek Firmware .

Back to Top

2. Manage Configuration

2.1 Htek IP Phone Provision Process

When Htek IP Phone boots up, it will issue request one by one for these configuration files named "cfgDeviceCode.xml" →  "cfgMAC" →  "cfgMAC.xml ".

DeviceCode: Device Code is a short code represents a series model. e.g., device code 0012 represent UC924, so all UC924 will request cfg0012.xml; device code 0019 represent UC912 and UC912G,  so both of the two models will request cfg0019.xml.
For all the device code, please refer to Device Information for Provisioning

MAC: The device MAC address, a unique 12-digit serial number of the phone. You can obtain it from the label back of the phone, and you can also press OK button twice to check it on the phone, another way is get it from the homepage of the phone’s web.
Please note that the MAC address within the filename must be lowercase.

Configuration File Type

Example

Description

Configuration File Type

Example

Description

cfgDeviceCode.xml

cfg0012.xml

all phones belong to one model or series share one DeviceCode

cfgMAC

cfg001fc110d3a9

this file is a private format for specific device

cfgMAC.xml

cfg001fc110d3a9.xml

unique for each device, and it is the mainly file we used to provision phones.

Provisioning Flow Chart:

Note: factory000x.bin is used in Htek factory, please don't try to provision it, otherwise it will influence the stability.

2.2 Obtain Configuration Template Files

The fastest way you could obtain the cfgMAC.xml configuration template is to download it from any phones with factory default settings.

Just enter phone's webpage → Management → Configuration → Download Xml File.

2.3 Edit cfgDeviceCode.xml and cfgMAC.xml

All the settings are contained in such a fixed structure like below.

<?xml version="1.0" encoding="UTF-8" ?> <hl_provision version="1"> <config version="1"> <P47 para="Profile1_Sipserver">example</P47> ...... ...settings area... ...... </config> </hl_provision>

And the format of the setting is <P-Code para="Description">P-Value</P-Code>, e.g., <P47 para="Account1_Sipserver">192.168.0.68:5060</P47>. Although the Description field is not required, it is friendly for read.

You may see some settings don't have the same format, like <P-Code Para="Description" />, this format is only used when a setting is blank and has no default value.

Here is an example which contains a few settings to show the unbroken structure.

<?xml version="1.0" encoding="UTF-8" ?> <hl_provision version="1"> <config version="1"> <!--Profile1/Basic--> <P47 para="Profile1_Sipserver">192.168.0.68:5060</P47> <P967 para="Profile1_FailoverSipserver" /> <P4567 para="Profile1_PreferPrimaryServer">1</P4567> <P24065 para="Profile1_DHCPSIPServer">0</P24065> <P48 para="Profile1_OutboundProxy" /> <P20047 para="Profile1_BackUpOutboundProxy" /> <P130 para="Profile1_SipTransport">0</P130> <P52 para="Profile1_NatTraversal">2</P52> <P103 para="Profile1_DnsMode">0</P103> <P63 para="Profile1_CallMessageFormat">0</P63> <P24785 para="Profile1_TrsRelSetting">0</P24785> <P31 para="Profile1_SipRegistration">1</P31> <P81 para="Profile1_UnregisterOnReboot">1</P81> <P32 para="Profile1_RegisterExpiration">15</P32> <P24816 para="Profile1_FallBackInterval">600</P24816> <P25092 para="Profile1_ServerRetryCounts">3</P25092> <P109 para="Profile1_OutCallWithoutReg">1</P109> <P136 para="Profile1_RPort">0</P136> <P1100 para="Profile1_RFC2543Hold">1</P1100> <P8775 para="Profile1_ConnectMode">1</P8775> </config> </hl_provision>

If a P-Code is missed in a "cfgDeviceCode.xml" or "cfgMAC.xml" file, you could add it in the <settings area> just follow the format, but please note the validity of the P-Value.

For all P-Codes and the P-Value, please ask your sale, provider or support@htek.com for the file Htek_Parameter_List.

3. Obtain Provisioning Server's Address

Htek IP Phone supports to obtain the provisioning server address in below 3 ways:

  • Plug and Play (PnP) Server

  • DHCP Options

  • Phone Flash

The priority of obtaining the provisioning server address: PNP Server (SIP PnP MCAST) --> DHCP Option 128 or 150 or 66 --> Configuration in Flash.

  1. The PNP Server feature is enable default.


Webpage --> Management --> Auto Provision --> PnP Active: No/Yes
If you set "Yes", the Phone will obtain the provisioning server address from the PnP Server.

  1. Setting of "DHCP Options 128 or 150 or 66":


Webpage --> Management --> Auto Provision, there are two settings for DHCP Options

  • Allow DHCP Option: you could set it to 66 or 128 or 150

  • Allow DHCP Option Server: set Yes to allow the phone get Config Server Path through DHCP Options.

image-20241206-061206.png

 

  1. Configuration in Flash.


Another way to get the provisioning server address is from the setting "Config Server Path".
For examples as the below screenshot, the phone will get the configuration file from http://192.168.0.254/cfg.

image-20241206-065608.png

 

 

Note: You can set the phone to automatically upgrade every certain time:
For examples:

The phone will check the configuration file and the firmware every 10080 minutes (7 days). If there are the new cfg files or the new firmware, the phone will upgrade automatically.

Back to Top

4. Encrypt cfgMAC.xml

4.1 How to encrypt the XML configuration file

The XML configuration file could be encrypted using  algorithm.

You could encrypt the cfgMAC.xml file using openssl.

The supported algorithm is AES-128-CBC.

The parameter iv is fixed 0B1E1D000F0B07091D1F04071F1E0407 and may not be changed, other wise configuration files cannot be encrypted by the phone and settings are not made.

The valid key (parameter K) length is from 1-16, and may only contain [0-9, A-F].

Here is an example.

openssl enc -aes-128-cbc -K 001FC1BC -iv 0B1E1D000F0B07091D1F04071F1E0407 -in cfg001fc11e5105.xml -out cfg001fc11e5105b.xml

After you encrypt the cfgMAC file, you need to enable Authenticate Cfg File and set a common AES key to let the phone could decrypt the file. In the above case, you should set it as 001FC1BC.

You could find this setting on webpage → Management → Auto Provision → Set Common AES Key. (P-Code is P8631)

Back to Top

5. Customize Resource Files

Htek IP Phone allows to customize some resource files, like ring tone file, language package file and logo files. For how to customize resource files, as follows:

5.1 Customize ring tone

Htek IP Phone has several factory-default ring tones (Ring1, Ring2, Ring3). You can customize Ring4, Ring5, Ring6, Ring7 and Ring8 tone and upload them to the phone via auto provisioning.
You can change the ring tone configuration parameter to personalize ring tone:
For example: P8721 = 8

For more information on customizing ring tone file, please refer to <<Making Ringtone Notes>> in page 60.

5.2 Customize LCD language

Htek IP Phone supports multiple language,you can modify the language and add a new language to the phone. The following table lists all available languages, associated language files and language template file:

Available language

Associated language files

Language template file

English

(Default, can't be customized)

LCD_English_Template.xml

French

1_Français(French).xml

German

2_Deutsch(German).xml

Spanish

3_Español(Spanish).xml

Portuguese

4_Português(Portuguese).xml

Russian

5_русский(Russian).xml

Italian

6_Italiano(Italian).xml

Polish

7_Polski(Polish).xml

Turkish

8_Türk(Turkish).xml

Serbian

9_Srpski(Serbian).xml

ChinesSimplified

10_简体中文(ChineseSimplified).xml

ChineseTraditional

11_繁体中文(ChineseTraditional).xml

Slovenian

13_Slovenščina(Slovenian).xml

Persian

14_Persian(Farsi).xml

Hebrew

15_עברית(Hebrew).xml

Slovak

16_Slovak.xml

Czech

17_Czech.xml

JapaneseSimplified

18_日本語(JapaneseSimplified).xml

Dutch

19_Nederlands(Dutch).xml

Below picture shows a portion of LCD_English_Template.xml file:

English is the default language, you can change configuration parameter to other languages:
For more information on customizing an LCD language, please refer to <<LCD Language custom guide>> in page 62.

5.3 Customize web language

Htek IP Phone supports multiple language,you can modify the language and add a new language to the phone's webpage. The following table lists all available languages, associated language files and language template file:

Available language

Associated language files

Language template file

English

(Default, can't be customized)

Web_English_Template.js

French

1_French.js

German

2_German.js

Spanish

3_Spanish.js

Portuguese

4_Portuguese.js

Russian

5_Russian.js

Italian

6_Italian.js

Polish

7_Polish.js

Turkish

8_Turkish.js

ChineseSimplified

10_ChineseSimplified.js

ChineseTraditional

11_ChineseTraditional.js

Dutch

19_Dutch.js

Below picture shows a portion of Web_English_Template.js file:

English is the default language,you can change configuration parameter to other languages:
For more information on customizing web language file, please refer to << Web Language custom guide>> in page 64.

5.4 Customizing wallpaper

You can customize Htek UC923/UC924/UC926 IP phones' wallpaper.
Below table shows wallpaper's format and resolution for UC923/UC924/UC926 IP phones:

Phone model

Photo format

Resolution

One file size

Photo number

UC923

.jpg, .bmp

320*240

<=100KB

3

UC924

.jpg, .bmp

480*320

<=100KB

3

UC924E

.jpg, .bmp

480*320

<=100KB

3

UC926

.jpg, .bmp

480*272

<=100KB

3

UC926E

.jpg, .bmp

480*272

<=100KB

3

Wallpaper2 is default wallpaper, you can change configuration parameter to other wallpaper:

For more information on customizing wallpaper, please refer to <<LCD and Web GUI custom Guide >> in page 68.

5.5 Customizing screensaver

You can customize Htek UC923/UC924/UC926 IP phones' screensaver.
Below table shows screensaver's format and resolution for UC923/UC924/UC926 IP phones:

Phone model

Photo format

Resolution

One file size

Photo number

UC923

.jpg, .bmp

320*240

<=100KB

3

UC924

.jpg, .bmp

480*320

<=100KB

3

UC924E

.jpg, .bmp

480*320

<=100KB

3

UC926

.jpg, .bmp

480*272

<=100KB

3

UC926E

.jpg, .bmp

480*272

<=100KB

3

Screensaver default is Off, you can change configuration parameter to activate the Screensaver :

For more information on customizing screensaver, please refer to <<LCD and Web GUI custom Guide >> in page 68.

5.6 Customizing weblogo

You can customize Htek all phone models' weblogo on webpage.

Phone model

Photo format

Resolution

File size

UC601/UC901/UC902/UC903/UC912/UC912G/UC912GM/UC923/UC924/UC924E/UC926/UC926E

.jpg

225*93

<=2M

For more information on customizing weblogo, please refer to << LCD and Web GUI custom Guide >> in page 68.

Back to Top

6. Upgrade resource files

Htek IP phone supports upgrade resource files through URL (support HTTP(s) server). The files contain hlpres.tar, Language.tar, ring4.bin, ring5.bin, ring6.bin, ring7.bin, ring8.bin, exp_pres.tar, Screensaver and Wallpaper. For how to configure these files URL as follow:

6.1 How to configure URL for hlpres.tar

You can change the hlpres server configuration parameter to locate the file:
P20176=http(s)://192.168.0.254/hlpres.tar

6.2 How to configure URL for Language.tar

You can change the Language server configuration parameter to locate the file:
P20175=http(s)://192.168.0.254/Language.tar

6.3 How to configure URL for exp_pres.tar

You can change the exp_pres server configuration parameter to locate the file:
P20177=http(s)://192.168.0.254/exp_pres.tar

6.4 How to configure Path for ringx.bin

You can change the Ring server configuration Path, and IP Phone will get the files: ring4.bin, ring5.bin, ring6.bin, ring7.bin, ring8.bin automatically:
P20174=http(s)://192.168.0.254

6.5 How to configure URL for Screensaver

This parameter is only applicable to UC923, UC924, UC924E, UC926, UC926E.
You can change the Screensaver server configuration to locate the file:
P20051=http(s)://192.168.0.254/Screensaver.jpg
Note: 1. Screensaver file phone gets from server will cover the screensaver photo1.
2. Only support format .jpg, .bmp.

6.6 How to configure URL for Wallpaper

You can change the Wallpaper server configuration to locate the file:
P20052=http(s)://192.168.0.254/wallpaper.jpg
Note: 1. Wallpaper file phone gets from server will cover the wallpaper6.
2. Only support format .jpg, .bmp.

Back to Top

7. Upgrade Firmware

Version number and support files list:

1.0.3.58-1.0.3.72

1.0.3.73 or later

boot_9xx.bin
img_9xx.bin
hlpres.tar
Language.tar
ring4.bin
ring5.bin
ring6.bin
ring7.bin
ring8.bin

fw9xx.rom

Note:
When the phone which version is 1.0.3.71 or older upgrade to 1.0.3.73, phone will upgrade img_9xx.bin then automatically upgrade fw9xx.rom. fw9xx.rom is all-in-one firmware file. After upgrading to the 1.0.3.73 firmware, in the next time, phone will only need upgrade one file fw9xx.rom.

7.1 Configuring HTTP Server

Htek IP Phone supports using FTP, TFTP, HTTP and HTTPS protocols to obtain the address of provision server. Default way is HTTP. For how to configure a HTTP server, as follows:
You can download a free HTTP server from http://httpd.apache.org/ or use Microsoft IIS web server. Then setup HTTP server.
For more information on how to configure TFTP, FTP and HTTPS servers, please refer to Upgrade through TFTP in page 71, Upgrade through FTP in page 74 and Upgrade through HTTPS in page 75.

7.2 How to Configuring HTTP Server

Login webpage, "Management" -> "Auto Provision" -> "Firmware Upgrade" -> "Upgrade Mode" needs to be set to HTTP. "Firmware Server Path" needs to be set to be a valid URL of a HTTP server, and server name can be in either FQDN or IP address format. Below are examples of some valid URLs.
e.g. firmware.mycompany.com:5688/Htek
e.g. www.mycompany.com:5688/fm/Htek
e.g. 218.2.83.110
Below are Instructions for FW upgrade via HTTP:
(1) You can download a free HTTP server from http://httpd.apache.org/ or use Microsoft IIS web server. Then setup HTTP server.
(2) Unzip the firmware file and put the files under the root/fm directory of the HTTP server.
(3) Visiting "http://192.168.0.254/fm/fw924.rom on localhost by browser" to verify the HTTP Server. If visiting "http://192.168.0.254/fm/fw924.rom on another computer is no prompt to download fw924.rom file, please check the firewall (Suggest to close the firewall).
(4) Change the setting of UC9xx (192.168.0.254 is HTTP server):
                                                                        


Click "SaveSet".
(5) Restart the UC9xx, IP Phone will restart and automatically get firmware files from HTTP server.
NOTES:
(1) We recommend you to use Htek HTTP server, or you can also use your own TFTP/HTTP/FTP/HTTPS server for upgrade and provisioning procedures.
(2) You need to update the settings and restart the IP Phone after "Firmware Server Path" is set. If the configured firmware server is found and a new code image is available, UC9xx IP Phone will attempt to retrieve the new image files by downloading them into the UC9xx's SDRAM. During this stage, the phones LEDs will blink more frequently until the checking/downloading process is finished. Upon verification of checksum, the new code image will be saved into the Flash. If TFTP/HTTP/FTP/HTTPS fails for any reason (e.g. TFTP/HTTP/FTP/HTTPS server is not responding, there are no code image files available for upgrade, or checksum test fails, etc.), the phone will stop the TFTP/HTTP/FTP/HTTPS process and simply boot using the existing code image in the flash.
(3) Firmware upgrade takes 3 to 8 minutes over Internet, or just 1 minute on a LAN. We recommend you to upgrade the FW in a controlled LAN environment.

Back to Top

8. Update mode

Update mode sets the desired time frames for phone to perform the auto provisioning process.
Below is the introduction of the 3 updating modes in detail:

  • Power On

  • Repeatedly

  • SIP NOTIFY Message

Power On
Power On mode is set as default. The phone will perform auto provisioning process when it is power on.
Repeatedly
The phone performs auto provisioning process at a regular interval. You can configure the interval for the Repeatedly mode. The default interval is 10080 minutes.
To activate the Repeatedly mode via web user interface:
1. Click the Management->Auto Provision:
2. AUTO Upgrade set Yes:

3. Click the "SaveSet" button to save the change.
SIP NOTIFY Message
The phone will perform auto provisioning process when receiving a SIP NOTIFY message which contains the header "Event: check-sync". If the header of the SIP NOTIFY message contains an additional string "reboot=true", the phone will reboot immediately and then perform the auto provisioning process. For this update mode, it requires the server supports.
Below picture shows the message flow:

Back to Top

9. Download and Verify Configurations

9.1 Download configuration files

Once obtaining a provisioning server address in one of the ways introduced above, the phone will connect to the provisioning server and download configuration files. During the auto provisioning process, the phone will try to download the common configuration file cfg000x.xml firstly, and then try to download the cfgMAC.xml file from the provisioning server.

9.2 Resolve and Update configurations

The phone will resolve the configuration files after downloading, then update the configurations to the phone flash. Generally, the phone will reboot to make the configurations effective after the auto provisioning process is finished.

9.3 Verify configurations

You can verify the update via phone user interface after auto provisioning, or you can verify it via web user interface During the auto provisioning process, you can monitor the downloading requests and response messages by a wireshark tool.Some examples show as follows:Example1: Htek UC924 IP Phone downloads configuration files from TFTP server.Example2: Htek UC924 IP Phone downloads configuration files from FTP server . Example3: Htek UC924 IP Phone downloads configuration files from HTTP server .