This lesson introduces you to Cisco CallManager Express (CME), a call-processing solution built into Cisco routers that allows you to register and manage IP phones without a separate server. You’ll configure the router to serve as both the telephony server and a DHCP server, which provides automatic IP addressing and TFTP configuration to phones. In this setup, each phone is registered manually using its MAC address, while DHCP assigns IP settings automatically. This is a common configuration in production environments where static control over phone registration is preferred, but dynamic IP management is still desired.

By the end of the lab, two Cisco IP phones will be fully registered to the router, receive their IP configuration via DHCP, and be able to call each other using assigned internal extension numbers.
PocketCLI Assumptions
Please keep these points in mind when configuring a scenario that includes phones:
The DHCP server’s Option 150 must point to the CME router’s IP address, as this tells the phones where to download their configuration files.
The ip source-address defined under the telephony-service section must be the CME router’s IP address, which matches the TFTP source.
The CME router is assumed to serve the correct phone firmware and configuration files required by the connected IP phones.
- VoIP phones must receive IP addresses via DHCP. Ensure a DHCP server is properly configured, as IP addressing is required for phone registration.
Router is named CME_Router, then assigned IP address 192.168.10.1/24 on FastEthernet0/0 interface. The interface is enabled. This interface will act as the gateway for the IP phones and other local devices in the 192.168.10.0 network.
Initializes CME to handle up to 5 directory numbers and 5 phones, binds it to the router’s IP address, disables auto-registration, and builds the necessary phone config files.
The configuration sets up the router as a DHCP server to automatically assign IP addresses to devices on the 192.168.10.0/24 network. It excludes addresses .1 through .10 to reserve them for static assignments, such as the CME router interface. A DHCP pool named VOICE is created to hand out addresses in the remaining range, with the router .1 designated as the default gateway. It also provides Option 150, which tells IP phones to contact the CME router for their TFTP configuration files, and specifies Google's 8.8.8.8 as the DNS server for name resolution.
Sets up two internal phone extensions. The first one, ephone-dn 1, gets extension 1001, and the second one, ephone-dn 2, gets 1002. These are the numbers users will dial between the phones once they're assigned to actual devices.
Sets up two phones by manually registering them using their MAC addresses. Phone 1 (ephone 1) is linked to MAC AABB.CCDD.EEFF and gets button 1 mapped to extension 1001. Phone 2 (ephone 2) uses MAC 1122.3344.5566 and gets button 1 mapped to extension 1002. The restart command tells each phone to reboot so it picks up the latest config.
After each phone reboots, it requests an IP address from the router’s DHCP pool, learns the TFTP address (Option 150), downloads its configuration file (SEP<mac>.cnf.xml), and registers with CME.
Use the following commands to verify DHCP leases, phone registration, and CME status. Each command includes what to look for and a sample output.
1. show telephony-service
Purpose: Confirm CME parameters are correctly set, including IP source address and registration limits.
2. show ip dhcp pool VOICE
Purpose: Verify DHCP pool configuration and address utilization.
3. show ip dhcp binding
Purpose: View IP addresses leased to phones based on MAC addresses.
4. show ephone-dn
Purpose: Verify configured extensions (directory numbers) and their states.
5. show ephone summary
Purpose: Confirm that phones are registered and matched to correct MAC addresses.
| Mistake | Symptom | Fix |
|---|---|---|
| MAC address mistyped in ephone | show ephone summary shows UNREGISTERED |
Re‑enter the correct MAC, then restart the phone or reset |
| Omitted option 150 in DHCP pool | Phone obtains IP but stalls at “TFTP Timeout” | Add option 150 ip 192.168.10.1, then clear ip dhcp binding * or reboot phone |
| Skipped create cnf-files | Phone registers but lacks soft‑keys/labels | Run create cnf-files and restart affected phones |
| Forgot to save configuration | All settings lost after router reload | copy running-config startup-config |
Add a Third Phone
Create ephone-dn 3 (1003) and ephone 3 with its MAC address. Confirm the new phone leases an address and registers.
Button Re‑mapping Exercise
Remove all button configuration from Phone 1 using the no button command. Then assign button 1 to directory number 1005 (you may need to create ephone-dn 5 first). Reset the phone and confirm that the new extension is functional.
The lab is available for download from this link. Try recreating the sample lab above using the provided IP addressing scheme to reinforce manual MAC‑based registration skills while keeping the convenience of DHCP‑based IP provisioning.