ST2030 APS HowTo

Thomson ST2030

How to setup Auto Provisioning Server (APS) for ST2030 Phones

What is APS?

APS is a method by which the phone loads configuration settings and optionally a firmware update from a central server. The purpose is to allow the phone to boot up from out-of-box (with no prior configuration) and obtain everything it needs to log into a server and be operational for the end user - without requiring the user to enter anything. It is also used for distributing configuration changes or firmware updates to phones currently being used, by making the change once on a central server, and then the phones get the new information as they are rebooted or told to reload.

Why is APS so difficult?

    1. It's a complicated combination of multiple protocols and data files, each one having to be configured just right to make it all work correctly.
    2. The DHCP server has to be configured to point the phones to the TFTP server - many low cost routers cannot do this
    3. Each phone manufacturer uses different file format for the content on the TFTP server
    4. Multiple files must be set correctly with the right information in them
    5. In many cases, one or more files must be created ahead of time named with the unique MAC address of each phone to be supported.
    6. It can be difficult to know why the phone didn't appear to load the files
    7. These services (DHCP/TFTP) are often provided by a computer running Linux, which is low cost but often difficult to maintain if not already knowledgable in Unix like operating systems. Windows servers can be used, but these can also be confusing on how to configure correctly for the needs of a given phone.

Components Needed for APS

DHCP Server

  • The DHCP server answers a broadcast request when the phone starts up and provides the phone it's IP address and other network configuration data like netmask, gateway, and dns server. With this information can be the address of a TFTP server, from which the phone obtains the actual configuration information by requesting certain files. If there is no TFTP server specified in the DHCP message, the phone will skip APS altogether.
  • Ideally, the DHCP server software is running on a linux or windows server where you can configure the DHCP options to specify a TFTP server (bootp), or an option 66. If you are using a retail router (such as a WRT54G) it doesn't have the ability to configure DHCP in this way, unless it's reprogrammed with a standard linux environment like If you are unable to reconfigure DHCP options, there is a way to configure the TFTP server in the phone given below.

TFTP Server

  • The TFTP server provides files by request, much like a FTP or HTTP server, except that there is no authorization needed, and it operates much more simply on UDP, rather than TCP. Any phone can request any file of the server, so it is a good idea if each model or manufacturer of phone requests different files to prevent conflicts if they are used in the same network. Normally the TFTP server would be located as close to the phones as possible, and often is on the same server as the DHCP service.
  • The ATFTP package (Advanced TFTP) is the best option, because it provides the ability to re-map the files requested from different phones to the same one. This is needed if you want to avoid having to generate a separate file for each phone with the MAC address of the phone in the filename. The ATFTP package is installed by default with the Trixbox Asterisk distribution.

Understanding ST2030 Boot Process

Reset Procedure

  • The ST2030 goes through these steps when it is first turned on, or caused to restart.
    1. Shows Thomson logo and LEDs on while booting up
    2. Requests IP address (etc) from DHCP server
    3. Configures the TCP/IP stack, VLAN, NTP, etc from answers given by DHCP server.
    4. Start APS procedure based on what the APS mode is set to (default is DHCP). This can be:
      • NONE - skip APS entirely
      • DHCP - use the TFTP server specified in DHCP server reply (skip APS if not given)
      • TFTP - use the TFTP server as configured only
      • HTTP - use the HTTP server as configured only
  • Additionally, the phone can be triggered to jump into the APS procedure (skipping reset and DHCP) based on a preconfigured time, or by a specially formatted SIP message (consult APS documentation in firmware release package for more details on this).

APS Procedure

  • For the following steps, substitute HTTP server for TFTP server if the phone has been configured that way.
    1. Request file from server: ST2030X_YYYYYYYYYYYY.inf where X is either an M or S for MGCP or SIP, and Y is the MAC address of the phone.
    2. Parse .inf file for list of other files that must be loaded.
    3. If specified, load the firmware update file and reboot.
  • Order of files loaded by phone
    • except as specified, file loaded only if listed in .inf file (all files except first .inf file are optional)
    • filename in italics are loaded as they are listed in .inf file (filename may be different than listed here)
    1. ST2030X_YYYYYYYYYYYY.inf (this file is always loaded)
    2. firmware_update.zz
    3. melody.txt (your custom ringtones)
    4. system_melody.txt (the system predefined ringtones)
    5. call_waiting_tone.txt (ringtones for call waiting)
    6. The phone may reboot at this point if the firmware was updated.
    7. telconf.txt (dsp configuration)
    8. common_config.txt (configuration file)
    9. ST2030X_YYYYYYYYYYYY.txt (MAC-specific configuration file: this file is always requested from TFTP, but is optional - no error if it is not found)
    10. The phone may reboot at this point if the configuration was changed.
    11. (this is for MGCP only, multiple files may be specified)

Configuring the DHCP server options

  • The ST2030 will use the bootp "next server" field, dhcp option 66, or dhcp option 150 as the TFTP server. Make sure that the dhcp server is configured to place the TFTP server address in one of these fields.
  • The following is an example /etc/dhcpd.conf file for a *nix dhcp server, where it points it itself as the gateway router, dns server, ntp server, and TFTP server (note that the tftp-server-name option is in quotes because it's an ascii string field, not binary).
ddns-update-style interim;
ignore client-updates;

subnet netmask {

option routers;
option subnet-mask;
option domain-name "lan";
option domain-name-servers;
option time-offset -18000; # Eastern Standard Time
option ntp-servers;
option tftp-server-name "";

range dynamic-bootp;
default-lease-time 43200;
max-lease-time 86400;

  • In the above example, the entry specifying tftp-server-name corresponds to the bootp "next server" field in the DHCP message. The phone will also obtain the TFTP server IP address from either DHCP option 66 or option 150.

Configuring the TFTP server

  • The TFTP server will use a specific directory (usually /tftpboot on a linux system) to store the files that can be given out. This is to prevent accidental access to other files in the operating system. While files are normally placed in this directory, they can also be put in subdirectories if a path to the file is specified by the requesting device.
  • Some files are phone-specific because they have the MAC address of the phone embedded in the filename. Others are called generic because they don't, and thus the one file can be used for all phones.
  • The TFTP server should be located at a fixed (static) IP address that will not change.

Configuring the first file (INF) loaded by the phone

  • The first file that the ST2030 requests is a phone specific file in the format ST2030X_YYYYYYYYYYYY.inf where X is either an M or S for MGCP or SIP, and Y is the MAC address of the phone.
  • The file contains a list of other files that should be loaded during APS.
    1. fw_fileanme: the path to the current firmware file (this is a binary file, use the latest release as supplied by Thomson)
    2. telcfg: the path to the telephone dsp configuration file (text file, but should use the one supplied by Thomson that came with the firmware revision)
    3. common_config: the path to a text file that contains the SIP (or MGCP) and other feature configuration of the phone (create this yourself starting with sample below)
    4. melodies, call waiting tones: These files are optional and can be modified to suit your needs. Examples to start with come with the firmware download.
  • Example file for SIP phone ST2030S_000E504EABCD.inf:


Common config file

  • This file contains configuration settings to be loaded into the phone.
  • In the following example, entries in BLUE would be set for a specific server or location. Entries marked in RED must be configured differently for each extension.
  • Note that in this example, location specific and extension specific entries are lumped together. This would necessitate a separate common config file for each MAC (thus ironically no longer common) or done by separating out certain entries in the MAC-specific file ST2030X_YYYYYYYYYYYY.txt.
  • Example file my-common-config.txt:
DisplayName1=John Doe




Created by: stgnet, Last modification: Thu 07 of Jun, 2007 (21:44 UTC)
Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - Find us on Google+