Tag Archives: ntp

Essential protocols and services that support VoIP #2: DHCP, TFTP and NTP

DHCP – Unless you’re deploying only a few IP phones, you won’t want to configure the endpoints individually. And some phones can’t be configured entirely by hand. (For example, to factory reset and apply new firmware to the Cisco 7906, the only method seems to be to use DHCP, as I describe here.) DHCP provides IP and router information to the device, as well as the following useful options:

  • DNS server list
  • Network time protocol (NTP) server(s), where the device will get accurate time
  • TFTP server, where the device will get firmware and, typically, configuration files
  • Vendor-specific options, such as Cisco’s option 150, which can list multiple TFTP servers

Without DHCP, the aforementioned information would all have to be entered by hand, using the phone’s keypad. On some devices, the IP address information is entered through the keypad and then the phone is further configured using a web or telnet interface.

TFTP – Trivial file transfer protocol has a long history of being used for automatic device configuration. It’s a very simple protocol, neither authenticated nor encrypted, and basically provides commands to upload or download a known file (no “browsing” capability) over UDP. Its simplicity allows it to be embedded into the device so that even without firmware, the loader can use TFTP to get a device image and configurations. The Cisco IP phones also use TFTP occasionally during operation to retrieve ringtone files or background images.

NTP – Network time protocol keeps everything on the VoIP network tightly in sync. Devices that use DHCP for address configuration also get a list of NTP servers as one of the options; servers and other core components have to be manually configured with the addresses of NTP servers. For the phones, NTP is mostly a convenience service that sets the clock that is displayed at the top of the screen. Accurate time on call-processing servers and voicemail is an obvious necessity, especially for correct generation of call-detail (billing) records. Also, when maintaining a cluster of servers and other core devices, troubleshooting problems using time-stamped log files is far easier when the logs are in sync.