The router or server which provides call control typically has the TFTP function used in a Cisco Unified communication deployment and option 150 is the preferential practice.

DHCP can be deployed on any platform which supports scope options which are customizable such as Windows, Linux, and Novell, UNIX or any other operating systems.

When we setup the DHC service for the IP phones, the address pools can be defined in any of the three ways shown below:

Single DHCP IP address pool in which the router is acting as DHCP server and we intend to use a single shared address pool for all clients. Keep in mind that the DHCP pool names are case sensitive (CCNA voice exam question)

Separate DHCP IP address pools for each Cisco IP phone is used if the router is acting as DHCP server and we need different settings on non-IP phone devices such as client systems on the same subnet.  The use of separate DHCP scope will make configuration more complex.

DHCP relay services are defined in situations where the router is not a DHCP server and we want to relay DHCP requests from IP phones to a DHCP which is residing on a different subnet.

CME_voice (config) # ip dhcp excluded-address

CME_voice (config) # ip dhcp pool mypool

CME_voice (dhcp-config) # network

CME_voice (dhcp-config) # option 150 ip

CME_voice (dhcp-config) # default-router

CME_voice (dhcp-config) # dns-server

CME_voice (dhcp-config) # exit

DHCP Relay Service – when the DHCP server is not in the network where DHCP clients are, we need to use the DHCP relay service.  The Cisco IP phones use a broadcast DHCP request/response process and broadcasts only on the local subnet (VLAN).  The objective is to track the DHCP broadcast request to either a unicast or a directed broadcast.  The broadcast traverses the network to reach destination server/subnet and relays response to original requesting devices.  Figure 1 shows a router acting as relay agent and accepting IP phone broadcasts to get DHCP information from the server and forwarding the responses to IP phone.


Figure 1: Router as DHCP Relay Agent

ccna voice dhcp 

The DHCP service must be enabled for Cisco router to support DHCP relay services. The Cisco IOS DHCP server is enabled by default.  We can use the service dhcp syntax command in global configuration mode to enable it in case it was disabled previously.

The ip helper-address ip-address command is used for selective forwarding of some types of broadcasts, such as Bootstrap Protocol (BOOTP) and DHCP.  The ip-address parameter specifies the DHCP server to which the messages are forwarded.  If we have multiple servers, we can configure one helper address for each server.  Configure the relay command on each router interface local to the IP phones pointing to the remote DHCP server for the IP phone to obtain IP address information.  The below syntax specifies how to implement DHCP relay services.

CME_voice (config) # service dhcp

CME_voice (config) # interface fastethernet 0/0

CME_voice (config-if) # ip helper-address

The above syntax configures IP helper address of on the Fast Ethernet 0/0 (fa0/0) interface.  This interface connects to a network that has IP phones but don’t have DHCP server.  This command will cause the DHCP broadcasts that enter the router on the Fast Ethernet 0/0 interface to be forwarded to DHCP server The router tracks each request so that DHCP responses are forwarded to the correct local Cisco IP phone.

Network Time Protocol

Network Time Protocol or NTP is required to synchronize the date and time on your network devices and for IP telephony to display the time on the IP phone and record the date and time for voicemail messages.  It synchronizes network infrastructure and systems to a single clock on the network which is the clock master.  NTP is a crucial component of voice networks.

An NTP network gets its time from a reliable time source such as radio/atomic clock which is attached to a time server.  NTP server distributes the time across the network and NTP client initiates a transaction with this server client initiates a transaction with polling interval defined between 64 to 1,024 seconds.  This interval is dynamic in nature and changes depending on network conditions between the NTP server and the client.  Not more than one NTP transaction per minute is needed to synchronize two machines.

One of the core strengths of NTP is its use of Coordinated Universal Time (UTC), which is easily accessed through the GPS satellite system.  Because UTC is the same worldwide, networks synchronized to UTC avoid interoperability problems with other networks.  The synchronization is mainly important when administrators are troubleshooting IP telephony traffic and need to compare log files from various networks.  The time of the internal clock of the Cisco Unified Communications call control platform and the network infrastructure components should be synchronized with an NTP server for accuracy.

The clock timezone zone hours-offset command is used to set the time zone and number of hours that time zone is offset from the UTC (formerly Greenwich Mean Time

[GMT]).  Using this syntax on Cisco router we can define the operating time zone.  If daylight saving time occurs in the area where the system is located, we configure it using the clock summer-time zone recurring [start-date end-date] command.

We can use various methods to enable NTP, to ensure correct time based on most reliable time source than its own system we use the following syntax command:

On a Cisco IOS router: The ntp server ip-address command configures the Cisco router to synchronize with the NTP server specified by the ip-address parameter.

On LINUX-based servers: Linux-based versions of Cisco Unified Communications Manager having a web interface which is used to set the NTP server to which they can synchronize.

Windows-based servers: Windows-based versions of Cisco Unified Communications Manager are set from command line.

The below syntax sets a Cisco router to Pacific Standard Time with daylight saving time configured and synchronizes the router’s system time to an NTP server with an IP address of

Router (config) # clock timezone PST -8

Router (config) # clock summer-time PDT recurring first Sunday April 02:00 last Sunday October 02:00

Router (config) # ntp server

TFTP Service – Certain files are required for the correct operation of Cisco IP phone or analog device so that it can register successfully with a Cisco Unified Communications call control device. These files are not installed on the Cisco router and must be installed from an external source. There are two commands required to provide access to firmware files:

Tftp-server flash: firmware-file-name

We can use this global command to make the file available.

Load phone-type firmware-file

We can use the telephony-service command to associate a type of phone with a firmware file.

All the required firmware files for Cisco IP phones are stored internally in the flash memory of the Cisco Unified Communications Manager Express router so an external database or file server is not required.  During registration, Cisco IP phones use TFTP to download firmware files from the router’s flash memory.  To make the firmware file(s) available through a TFTP server, use the tftp-server flash: firmware-file-name(s) command on the Cisco Unified Communications Manager Express router.  In Cisco Unified Communications Manager, the firmware files are installed on the server(s) in the cluster that run the TFTP service.

This concludes the CCNA Voice exam lesson on how to configure DHCP, NTP and TFTP services on a voice networks.