Cisco Support Community
Community Member

Phone firmware update over http

Hi all,

a former colleague of mine told a customer that starting CUCM 9 phone firmware updates would happen over http and no longer using tftp. Now that customer is asking me about it, and I can't seem to find any indication there to support this. Am I not looking in the right places?


Kind regards,



Community Member

 Sort of true. For some phone


Sort of true. For some phone series like the 89XX and 99XX firmware are now downloaded via port 6970 which works out of HTTP instead of the old TFTP mechanism.

TFTP has been a long standing pain since it uses UDP it has no scale window mechanism, so the time it takes a firmware upgrade is proportional to the latency, not to the Bandwidth, (since you can only send a packet at a time, and it takes X amount of packets, and X amout of miliseconds to get each one across)

Developers have definetly on the roadmap to move away fro  TFTP into HTTP, and I remember newer phone generations implementes this on firmware 9 and CUCM 9.

Regarding documentation I don't remember a document specifically.

Cisco Employee

TFTP is still there, it hasn

TFTP is still there, it hasn't been removed from any phone, they try one time to get it via http, if it fails, that's it, they attempt TFTP.



if this helps, please rate

Hi Tom, [+5] to Jaime. I

Hi Tom,


[+5] to Jaime and Rothomas.


I could not find any DOC on same. Just to share  that in  CME, we need to enable few commands on router 

a. ip http server

b. under telephony service ,we need to enable http file server and the port 6970.




Community Member

 Hey Guys,This definetly


Hey Guys,

This definetly seems poorly documented. Although you can find a reference here that it does exists.

Endpoint or Gateway

Unified CM

6970 / TCP

Trivial File Transfer Protocol (TFTP) between master and proxy servers.

HTTP service from the TFTP server to phones and gateways.


Apparently CME folks did a much better work document this. I would file a documentation bug if I were you.


HFS Download Support for IP Phone Firmware and Configuration Files

Legacy IP phones access the TFTP server to download firmware and configuration files but Cisco Unified CME 8.8 enhances download support for SIP phone firmware, scripts, midlets, and configuration files using the HTTP File-Fetch Server (HFS) infrastructure.

In Cisco Unified CME 8.8 and later versions, SIP phones use an HTTP server as the primary download service when it is configured and access a TFTP server as a secondary or fallback option when the HTTP server fails.

Note When the HFS download service is not configured, SIP phones automatically access the TFTP server.


The following scenario shows a successful download sequence using an HTTP server:

An IP phone initiates TCP connection to port 6970. A connection is established and an internal request for a file is sent to the HTTP server. The phone receives the HTTP response status code of 200, signifying that the download is successful.

The following scenario shows a download sequence that begins with an IP phone using an HTTP server to download files and ends with a TFTP server as a fallback option when the initial download attempt fails:

An IP phone initiates TCP connection to port 6970 but is unable to establish a connection. The phone contacts the TFTP server and sends an internal request for a file. The file is successfully downloaded from the TFTP server.

The following scenario shows how a download sequence that starts with an HTTP server does not always fall back to the TFTP server when the initial download attempt fails:

An IP phone initiates TCP connection to port 6970. A connection is established and an internal request for a file is sent to the HTTP server. The phone receives the HTTP response status code of 404, signifying that the file requested could not be found. Because the file cannot be found, the request is not sent to the TFTP server.

Note The configuration files are shared by the HTTP and TFTP servers. However, the firmware files are different for each server.

Enabling the Service

To enable the HFS download service, the underlying HTTP server must be enabled first because the HFS infrastructure is built on top of an existing IOS HTTP server.

Router(config)# ip http server

This HFS infrastructure enables multiple HTTP services to co-exist. The HFS download service runs on custom port 6970 but can also share default port 80 with other services. Other HTTP services run on other non-standard ports like 1234.

Router(config)# ip http server
Router(config)# ip http port 1234

The HFS download service starts when the following is configured in telephony-service configuration mode.

For the default port:

Router(config-telephony)# hfs enable

For the custom port:

Router(config-telephony)# hfs enable port 6970

Note If the entered custom HFS port clashes with the underlying IP HTTP port, an error message is displayed and the command is disallowed.

In the following example, port 6970 is configured as the IP HTTP port. When the HFS port is configured with the same value, an error message is displayed to show that the port is already in use.

Router (config)# ip http port 6970
Router (config)# telephony-service
Router (config-telephony)# hfs enable port 6970
rror Message Invalid port number or port in use by other application

xplanation The HFS port number is already in use by the underlying IP HTTP server.

Recommended Action Use an HFS port that is different from the underlying IP HTTP port.

Note Because IP phones are hardcoded to use port 6970 to connect to Cisco Unified CME, you must search for other applications running on port 6970 and assign them with ports different from 6970 to prevent a failure in connecting to Cisco Unified CME.

For configuration information, see the “SIP: Enabling the HFS Download Service” section.

CreatePlease to create content