Configure firmware upgrades

Firmware updates can be allowed at specified intervals. Updated firmware is sent from a server to the phone by using TFTP or HTTP. Security is less of an issue with a firmware upgrade, because firmware does not contain personal information.

You can also configure the parameters in the phone configuration file with XML(cfg.xml) code.

Before you begin

Access the phone administration web page.

1

Select Voice > Provisioning.

2

In the Firmware Upgrade section, choose Yes from the Upgrade Enable parameter.

You can configure this parameter in the phone configuration XML file (cfg.xml) by entering a string in this format:

<Upgrade_Enable ua="na">Yes</Upgrade_Enable>

Options: Yes and No

Default: Yes

3

Set the Upgrade Error Retry Delay parameter in seconds.

The upgrade retry interval (in seconds) applied in case of upgrade failure. The device has a firmware upgrade error timer that activates after a failed firmware upgrade attempt. The timer is initialized with the value in this parameter. The next firmware upgrade attempt occurs when this timer counts down to zero.

You can configure this parameter in the phone configuration XML file (cfg.xml) by entering a string in this format:

<Upgrade_Error_Retry_Delay ua="na">3600</Upgrade_Error_Retry_Delay>

Default: 3600

<tftp|http|https>://<ip address>/image/<load name>
4

Set the Upgrade Rule parameter by entering a firmware upgrade script that defines upgrade conditions and associated firmware URLs. It uses the same syntax as Profile Rule. Enter a script and use the following format to enter the upgrade rule:

<tftp|http|https>://<ipaddress>/image/<load name>

For example:

tftp://192.168.1.5/image/PHONEOS-8875.1-0-1-0001-1.loads

You can configure this parameter in the phone configuration XML file (cfg.xml) by entering a string in this format:

<Upgrade_Rule ua="na">http://10.74.10.205:6970/PHONEOS-8875.1-0-1-0001-1.loads
</Upgrade_Rule>
5

Click Submit All Changes.

Upgrade firmware by TFTP, HTTP, or HTTPS

The phone supports firmware upgrade by TFTP, HTTP, or HTTPS.

Before you begin

The firmware load file must be downloaded to an accessible server.

1

Unzip the .zip file with the following command:

unzip PHONEOS-8875.1-0-1-0001-19.zip

where:

1-0-1-0001-19 is the release number.

2

Copy the folder to a TFTP, HTTP, or HTTPS download directory.

3

Access the phone administration web page.

4

Select Voice  > Provisioning.

5

Find the load filename which ends in .loads and append it to the valid URL.

6

Click Submit All Changes.

Upgrade firmware with the browser command

An upgrade command entered into the browser address bar can be used to upgrade firmware on a phone. The phone updates only when it is idle. The update is attempted automatically after the call is complete.

To upgrade the phone with a URL in a web browser, enter this command:


http://<phone_ip>/admin/upgrade?<schema>://<serv_ip[:port]>/filepath

Enable peer firmware sharing

Peer Firmware Sharing (PFS) is a firmware distribution model which allows a Cisco IP phone to find other phones of the same model or series on the subnet and share updated firmware files when you need to upgrade multiple phones all at the same time. PFS uses Cisco Peer-to-Peer-Distribution Protocol (CPPDP) which is a Cisco proprietary protocol. With CPPDP, all the devices in the subnet form a peer-to-peer hierarchy, and then copy the firmware or the other files from peer devices to the neighboring devices. To optimize firmware upgrades, a root phone downloads the firmware image from the load server and then transfers the firmware to other phones on the subnet using TCP connections.

Peer firmware sharing:

  • Limits congestion on TFTP transfers to centralized remove load servers.

  • Eliminates the need to manually control firmware upgrades.

  • Reduces phone downtime during upgrades when large numbers of phones are reset simultaneously.

  • Peer firmware sharing does not function unless multiple phones are set to upgrade at the same time. When a NOTIFY is sent with Event:resync, it initiates a resync on the phone. Example of an xml that can contain the configurations to initiate the upgrade:

    "Event:resync;profile=" http://10.77.10.141/profile.xml
  • When you set the Peer Firmware Sharing Log server to an IP address and port, the PFS specific logs are sent to that server as UDP messages. This setting must be done on each phone. You can then use the log messages when troubleshooting issues related to PFS.

You can also configure the parameters in the phone configuration file with XML(cfg.xml) code.

1

Access the phone administration web page.

2

Select Voice > Provisioning.

3

In the Firmware Upgrade section, set the parameters:

  1. Set the Peer Firmware Sharing parameter.

    You can configure this parameter in the phone configuration XML file (cfg.xml) by entering a string in this format:

    <Peer_Firmware_Sharing ua="na">Yes</Peer_Firmware_Sharing>

    Options: Yes and No

    Default: Yes

  2. Set the Peer Firmware Sharing Log Server paramter to indicate the IP address and the port to which the UDP message is sent.

    For example: 10.98.76.123:514 where, 10.98.76.123 is the IP address and 514 is the port number.

    You can configure this parameter in the phone configuration XML file (cfg.xml) by entering a string in this format:

    <Peer_Firmware_Sharing_Log_Server>192.168.5.5</ Peer_Firmware_Sharing_Log_Server>

    Peer_Firmware_Sharing_Log_Server specifies UDP Remote syslog server hostname and the port. The port defaults to the default syslog 514.

4

Click Submit All Changes.

Firmware upgrade parameters

The following table defines the function and usage of each parameter in the Firmware Upgrade section of the Provisioning tab.

Table 1. Firmware upgrade parameters

Parameter name

Description and default value

Upgrade Enable

Enables firmware upgrade operations independently of resync actions.

The default value is Yes.

Configure this parameter with one of the methods:

  • In the phone configuration file with XML(cfg.xml), enter a string in this format: <Upgrade_Enable ua="na">Yes</Upgrade_Enable>

  • In the phone administration web page, set this field to Yes or No.

Upgrade Error Retry Delay

The upgrade retry interval (in seconds) applied in case of upgrade failure. The device has a firmware upgrade error timer that activates after a failed firmware upgrade attempt. The timer is initialized with the value in this parameter. The next firmware upgrade attempt occurs when this timer counts down to zero.

The default value is 3600 seconds.

Configure this parameter with one of the methods:

  • In the phone configuration file with XML(cfg.xml), enter a string in this format: <Upgrade_Error_Retry_Delay ua="na">3600</Upgrade_Error_Retry_Delay>

  • In the phone administration web page, set the value.

Upgrade Rule

A firmware upgrade script that defines upgrade conditions and associated firmware URLs. It uses the same syntax as Profile Rule.

Use the following format to enter the upgrade rule:

<tftp|http|https>://<ip address><:port>/<path>/<load name>

For example:

tftp://192.168.1.5/firmware/PHONEOS-8875.1-0-1-0001-1.loads
http://10.74.16.242/PHONEOS.3-0-1-0001-213.loads

If no protocol is specified, TFTP is assumed. If no server-name is specified, the host that requests the URL is used as the server name. If no port is specified, the default port is used (69 for TFTP, 80 for HTTP, or 443 for HTTPS).

The default value is blank.

Configure this parameter with one of the methods:

  • In the phone configuration file with XML(cfg.xml), enter a string in this format: <Upgrade_Rule ua="na">http://10.74.16.242/PHONEOS.3-0-1-0001-213.loads</Upgrade_Rule>

  • In the phone administration web page, enter the path where the load file is stored.

Log Upgrade Request Msg

Syslog message issued at the start of a firmware upgrade attempt.

Default: $PN $MAC -- Requesting upgrade $SCHEME://$SERVIP:$PORT$PATH

Configure this parameter with one of the methods:

  • In the phone configuration file with XML(cfg.xml), enter a string in this format: <Log_Upgrade_Request_Msg ua="na">$PN $MAC -- Requesting upgrade $SCHEME://$SERVIP:$PORT$PATH</Log_Upgrade_Request_Msg>

  • In the phone administration web page, customize the parameter as needed.

Log Upgrade Success Msg

Syslog message issued after a firmware upgrade attempt completes successfully.

The default value is $PN $MAC -- Successful upgrade $SCHEME://$SERVIP:$PORT$PATH -- $ERR

Configure this parameter with one of the methods:

  • In the phone configuration file with XML(cfg.xml), enter a string in this format: <Log_Upgrade_Success_Msg ua="na">$PN $MAC -- Successful upgrade $SCHEME://$SERVIP:$PORT$PATH -- $ERR</Log_Upgrade_Success_Msg>

  • In the phone administration web page, customize the parameter as needed.

Log Upgrade Failure Msg

Syslog message issued after a failed firmware upgrade attempt.

The default value is $PN $MAC -- Upgrade failed: $ERR

Configure this parameter with one of the methods:

  • In the phone configuration file with XML(cfg.xml), enter a string in this format: <Log_Upgrade_Failure_Msg ua="na">$PN $MAC -- Upgrade failed: $ERR</Log_Upgrade_Failure_Msg>

  • In the phone administration web page, customize the parameter as needed.

Peer Firmware Sharing

Enables or disables the Peer Firmware Sharing (PFS) feature. Select Yes or No to enable or to disable the feature.

Default: Yes

Configure this parameter with one of the methods:

  • In the phone configuration file with XML(cfg.xml), enter a string in this format: <Peer_Firmware_Sharing ua="na">Yes</Peer_Firmware_Sharing>

  • In the phone administration web page, set this field to Yes or No.

Peer Firmware Sharing Log Server

Indicates the IP address and the port to which the UDP message is sent.

For example: 10.98.76.123:514 where, 10.98.76.123 is the IP address and 514 is the port number.

Configure this parameter with one of the methods:

  • In the phone configuration file with XML(cfg.xml), enter a string in this format: <Peer_Firmware_Sharing_Log_Server ua="na">10.98.76.123:514</Peer_Firmware_Sharing_Log_Server>

  • In the phone administration web page, enter the log server address.