Understanding the Cisco IP Phone boot process is key to troubleshooting "Downloading XMLDefault.cnf.xml" loops. When a phone hangs at this stage, it usually means it cannot find its specific configuration file and is falling back to the generic default. How to Fix the Cisco IP Phone "XMLDefault.cnf.xml" Loop
When a Cisco IP Phone boots, it follows a strict sequence to obtain its configuration. If it gets stuck downloading XMLDefault.cnf.xml
, it is often a sign of a communication breakdown between the handset and the TFTP server. 1. The Boot Sequence Breakdown
To solve the issue, you must understand where the process is failing: DHCP Request:
The phone asks for an IP and "Option 150" (the TFTP server address). CTL/ITL Files: The phone attempts to download security tokens. Specific Config: The phone looks for SEP
If your phone is stuck in a "repack" or "downloading" loop, check these three areas: TFTP Server Issues Service Status:
Ensure the Cisco TFTP service is running in Unified Serviceability. File Availability: Verify that the XMLDefault.cnf.xml actually exists in the TFTP directory. Rebuild Configs: In CUCM, go to Device > Phone , find the device, and click Apply Config to force a file regeneration. Network and DHCP Misconfiguration Option 150: cisco ip phone downloading xmldefault cnf xml repack
Ensure your DHCP scope is correctly pointing to the CUCM Subscriber’s IP address. VLAN Mismatch:
Confirm the phone is on the correct Voice VLAN and can reach the TFTP server's IP. Firewalls: must be open for TFTP traffic. Firmware Mismatches
The "repack" message often indicates the phone is trying to change its firmware version to match what is defined in the XMLDefault If the phone cannot find the firmware files ( , etc.) on the TFTP server, it will loop indefinitely. 3. Step-by-Step Troubleshooting Checklist Check the Phone Console Logs:
Access the phone's web interface (if enabled) to see exactly which file is failing to download. Verify MAC Address:
Ensure the MAC address entered in CUCM matches the physical sticker on the phone. Restart TFTP: Sometimes the TFTP cache hangs. Restarting the service via Cisco Unified Serviceability often clears the "repack" loop. Factory Reset:
As a last resort, perform a hard reset (hold # while powering up, then dial 123456789*0# ) to clear old ITL files. Understanding the Cisco IP Phone boot process is
If you are migrating phones between clusters, the phone may be rejecting the new XMLDefault
file because of a security signature (ITL) from the old cluster. You must delete the ITL file manually on the phone's settings menu. deleting ITL files for specific phone models? technical table of the required UDP/TCP ports? meta-description for this post?
REPACK entries every few minutes.If your Cisco IP Phone is stuck "Downloading xmldefault.cnf.xml" and you suspect a repack issue, follow this checklist:
Capture TFTP traffic using Wireshark. Filter tftp or udp.port eq 69. Look for:
XMLDefault.cnf.xmlVerify file naming. The TFTP server is case-sensitive. XMLDefault.cnf.xml is not the same as xmldefault.cnf.xml (though phones typically request lowercase).
Check file size. A valid XMLDefault.cnf.xml is usually 1KB to 8KB. If your repack has a 0-byte file, delete it. Phones take very long to boot (stuck at
Monitor phone logs. For a 7960, press Settings > Status > Network Statistics > TFTP Server. Verify the IP matches your repack’s TFTP server.
The "Factory Reset" repack fix. On a 7960/7940:
# and plug in power.# until all lights flash.XMLDefault.cnf.xml from 192.168.1.1 (hardcoded). If your repack is not there, it will loop forever. You must reconfigure DHCP Option 150 post-reset.confg file signing in newer firmware.Open XMLDefault.cnf.xml in a Linux-friendly editor (Notepad++ or VS Code). Do not use Windows Notepad – it breaks encoding.
Key sections to modify:
devicePool and specific loadInformation if mismatched).<processNode> points to your CUCM publisher/subscriber.<loadInformation></loadInformation> (leave blank or use a base load).Example minimal skeleton:
<device>
<deviceProtocol>SCCP</deviceProtocol>
<callManager>
<processNode>
<host>10.10.10.10</host>
</processNode>
</callManager>
</device>
Save as XMLDefault.cnf.xml (case sensitive).
| Scenario | Repacking Purpose | |----------|------------------| | Forensic analysis | Alter logging or debug flags to capture traffic | | Firmware rollback | Force older load despite security constraints | | Interoperability | Modify SIP timers for non-Cisco PBX | | Security research | Test for XML injection or buffer overflow |
This is a safety and recovery mechanism designed by Cisco:
XMLDefault.cnf.xml with a known working firmware version forces the phone to wipe its current state and reload that stable version.