Device upgrade process

Last Updated : Apr 17, 2026 |
Prolog information
Upgrade Avaya J100 Series IP Phones to a newer firmware version using the APPNAME parameter. Use the APPNAME_IN_USE parameter to check the firmware version installed on the phone to perform a corresponding upgrade action, for example:IF $APPNAME_IN_USE SEQ 4.0.2.0.11 GOTO CROSSGRADE.
The following describes the device upgrade process using the APPNAME parameter:
  1. During boot-up, the phone receives the file server address from DHCP, LLDP, Device Enrollment Services (DES), the phone web interface, or the device interface.
    During Get updates or Automatic check for updates, the phone checks the provisioning server.
  2. The phone connects to the provisioning server to download the firmware upgrade file, J100Supgrade.txt.
  3. In J100Supgrade.txt, the APPNAME parameter contains the firmware version. The parameter provides a file name. For example:
    FW_S_J179_R4_0_14_0_6.bin
  4. The phone compares the currently installed software version with the version specified in the APPNAME parameter.
  5. If the firmware version specified in the APPNAME parameter differs from the currently running software version, the phone downloads the software files for an upgrade.
  6. The phone automatically restarts to apply the upgraded firmware.
    Tip:
    The phone logs the upgrade events under the NOTICES level in the Syslog file.

Configuring APPNAME parameter

From the software version 4.1.0, you can upgrade Avaya J100 Series IP Phones to a newer firmware version by obtaining the upgrade files from another file server that is not the same as the initial provisioning server.
To obtain upgrade files from another file server, configure the APPNAME parameter as one of the following:
  • An absolute URL: Prefix the URL with an https:// or http://. A valid URL supports a combination of IPv4, IPv6, or FQDN, a directory path can contain macros such as $MACADDRESS, $SERIALNO, and $MODEL4, and the URL can have optional values such as ports, sub-directories, and credentials.
    Few examples:
    http://10.1.1.2/FW_S_J179_R4_1_0_0_6.binhttp://10.1.1.2/prov/firmware/FW_S_J179_R4_1_1_0_6.binhttp://10.1.1.2:8080/FW_S_J179_R4_1_1_0_6.binhttp://prov.example.com/FW_S_J179_R4_1_1_0_6.binhttp://username:password@prov.example.com/prov/firmware/FW_S_J179_R4_1_1_0_6.binhttps://upgrade.acme.com/J100/$MODEL4/FW_S_J169_R4_1_1_0_4.binhttps://10.1.1.2/prov/firmware/FW_S_J179_R4_1_14_0_6.binhttps://prov.example.com/prov/firmware/FW_S_J179_R4_1_14_0_6.binhttps://prov.example.com:8080/prov/firmware/FW_S_J179_R4_1_14_0_6.binhttps://username:password@prov.example.com/prov/firmware/FW_S_J179_R4_1_14_0_6.bin
  • A relative path that appends to TLSDIR or HTTPDIR parameter value. For example:
    firmware/FW_S_J179_R4_1_14_0_6.binJ100/$MODEL4/FW_S_J169_R4_1_13_0_4.bin
  • An absolute path that temporarily ignores TLSDIR or HTTPDIR. For example:
    /firmware/FW_S_J179_R4_1_14_0_6.bin/FW_S_J179_R4_1_14_0_6.bin
  • A file name. For example:
    FW_S_J179_R4_1_14_0_6.bin
Note:
If the server that is hosting the .bin file requires authentication, define the credentials in the URL. The phone ignores HTTP_AUTH_USERNAME and HTTP_AUTH_PASSWORD parameter values.

Sample J100Supgrade.txt

J100 firmware versions lower than 4.1.0.0 do not support URL or path. For environments that have a mixture of phone firmware lower than 4.1.0.0, following is a sample J100 upgrade file.IF $APPNAME_IN_USE SEQ 4.1.0.0.9 GOTO REMOTE_UPGRADE
IF $APPNAME_IN_USE SEQ 4.1.0.0.10 GOTO REMOTE_UPGRADE

# LOCAL_UPGRADE

IF $MODEL4 SEQ J129 GOTO J129_SW
IF $MODEL4 SEQ J139 GOTO J139_SW
IF $MODEL4 SEQ J159 GOTO J159_SW
IF $MODEL4 SEQ J169 GOTO J169_SW
IF $MODEL4 SEQ J179 GOTO J179_SW
IF $MODEL4 SEQ J189 GOTO J189_SW

GOTO GETSET

# J129_SW
SET APPNAME FW_S_J129_R4_1_1_0_6.bin
GOTO GETSET

# J139_SW
SET APPNAME FW_S_J139_R4_1_1_0_6.bin
GOTO GETSET

# J159_SW
SET APPNAME FW_S_J159_R4_1_1_0_6.bin
GOTO GETSET

# J169_SW
SET APPNAME FW_S_J169_R4_1_1_0_6.bin
SET JEM24_APPNAME FW_JEM24_R1_0_1_0_22.bin
GOTO GETSET

# J179_SW
SET APPNAME FW_S_J179_R4_1_1_0_6.bin
SET JEM24_APPNAME FW_JEM24_R1_0_1_0_22.bin
GOTO GETSET

# J189_SW
SET APPNAME FW_S_J189_R4_1_1_0_6.bin
SET JEM24_APPNAME FW_JEM24_R1_0_1_0_22.bin
GOTO GETSET

 

# REMOTE_UPGRADE
IF $MODEL4 SEQ J129 GOTO J129_SW
IF $MODEL4 SEQ J139 GOTO J139_SW
IF $MODEL4 SEQ J159 GOTO J159_SW
IF $MODEL4 SEQ J169 GOTO J169_SW
IF $MODEL4 SEQ J179 GOTO J179_SW
IF $MODEL4 SEQ J189 GOTO J189_SW
GOTO GETSET

# J129_SW
SET APPNAME https://external.example.com/J100/J129/FW_S_J129_R4_1_1_0_6.bin
GOTO GETSET

# J139_SW
SET APPNAME https://external.example.com/J100/J139/FW_S_J139_R4_1_1_0_6.bin
GOTO GETSET

# J159_SW
SET APPNAME https://external.example.com/J100/J159/FW_S_J159_R4_1_1_0_6.bin
GOTO GETSET

# J169_SW
SET APPNAME https://external.example.com/J100/J169/FW_S_J169_R4_1_1_0_6.bin
SET JEM24_APPNAME https://external.example.com/J100/JEM/FW_JEM24_R1_0_1_0_23.bin
GOTO GETSET

# J179_SW
SET APPNAME https://external.example.com/J100/J169/FW_S_J179_R4_1_1_0_6.bin
SET JEM24_APPNAME https://external.example.com/J100/JEM/FW_JEM24_R1_0_1_0_23.bin
GOTO GETSET

# J189_SW
SET APPNAME https://external.example.com/J100/J189/FW_S_J189_R4_1_1_0_6.bin
SET JEM24_APPNAME https://external.example.com/J100/JEM/FW_JEM24_R1_0_1_0_23.bin
GOTO GETSET

# GETSET
GET 46xxsettings.txt