Occasionally in voice world you are required to update firmware for just certain phone types and not others. Say for example you’ve received a batch of those 7945 or 7965 phones that only support 9.3(1)SR1* and you aren’t running that version of firmware on your CUCM yet. There are just a few simple steps and gotchas to watch out for to get this firmware up and running on these phones.
Save the file to your sFTP directory and launch your sFTP client. I typically use FreeFTPd, but use whatever sFTP client you are comfortable with.
Now before you go off installing firmware files, there is one crucial step I would always recommend:
Log into CUCM, navigate to Device Settings -> Device Defaults -> [models of phones you are upgrading]
Copy and paste the current value of the default firmware into Notepad or Evernote or whatever program you use that helps keep you from losing stuff.
In this case, I copied SCCP45.9-2-1S which was the default device firmware for the 7945 and 7965 phones.
Next jump on over to the publisher and navigate to OS Administration -> Software Updates -> Install and Upgrade. Walk through the prompts to upgrade from sFTP, select your file, check the MD5 hash, and start the install.
Once installed, repeat the process on the subscribers as well.***
Now at this point, newbies to voice might think that their work here is done, firmware file installation reported complete, so what could be left? Well, it’s voice, it’s *never* that easy.
In this case, the system has actually done you a favor. If you jump over to CUCM Administration, you will see that the device default fields for your phone models have been updated to the version you have just installed. Because, however, you have not stopped and started the TFTP service, you have a fabulous opportunity to paste back in your old version value if you would like, before the TFTP service is reset and the system starts upgrading your phones. I typically copy and paste the new value to Notepad and place the old value back into the appropriate fields. Now I can apply the firmware to a single test phone and not *all* the phones of that model type before rolling the firmware out. This becomes massively more important when dealing with some of the newer phones and brand new releases of code.
Then it’s over to Cisco Unified Serviceability -> Control Center – Feature Services to restart the TFTP service on each node.
Now, to test your new firmware on a specific phone, find that phone in CUCM and paste the new firmware value into the Phone Load Name field. Reboot the phone and it should then grab the new version.
Once you’ve established that the new code doesn’t bork your shiny Cisco device, paste the new firmware value into the appropriate Device Defaults field for your phone models. Then all phones of that type will be able to upgrade to that version.
*There are certain 7945s and 7965s shipping now that only support 9.3(1)SR1. I missed any official announcement but remembering hearing rumors of this at Cisco Live. The phone will register without you upgrading the firmware files on CUCM, but if you ever reset it to factory defaults, it won’t register again. At that point, I offer you this help on fixing bricked phones
**It should go without saying, but I’ll say it anyway, always read the release notes and check the compatibility of the file(s) you are selecting. Voice is extremely unforgiving if you choose not to read the fine print.
***Technically you really only need to do this on the server(s) that are acting as TFTP servers, but I like the consistency of all the servers having the files in case one should need to take over that role unexpectedly.