Recently I needed to change the firmware on a Cisco 7960 phones from SCCP to SIP. By far the simplest method is loading the COP file on UCM and letting the phone upgrade on its own.  In my case, this upgrade was being done without using CUCM.

FIRST STEP: – In this example we are upgrading Cisco 7960 phones to SIP firmware 8.5 from SCCP. So I downloaded “P0S3-08-5-00” the zipped version of the SIP firmware from CCO; place the unzipped files in to TFTP servers root directory.

When I unzipped got only 5 files:-

OS79XX.txt — this file always contains the universal application loader image version (IMPORTANT this file is case sensitive and it must only contain the name of the file that we are attempting to load, without the extension.)

P0S3-08-5-00.loads – File that contains the universal application loader and application image, where a represents the protocol of the application image LOADS file: 0 for SCCP, and S for SIP

P0S3-08-5-00.sb2 – Application firmware image, where a represents the application firmware image: 0 for SCCP, and S for SIP

P003-08-5-00.bin – Non secure universal application loader for upgrades from images earlier than 5.x

P003-08-5-00.sbn – Secure universal application loader for upgrades from images 5.x or later

More than these 5 we require 3 more files:-

XMLDefaults.cnf.xml – Pointing to the Image

SIPDefault.cnf – Contains generic parameters for all Cisco phones

SIP<MAC>.cnf  –  Contain the specific details about particular phones. Line, password, name etc

Now the problem stars, we need to modify those three files. But where it is??? It’s not within the ZIP

So I created one, and the XMLDefaults.cnf.xml Edited with:-

<loadInformation7 model=”Cisco 7960″>P0S3-08-5-00</loadInformation7>

(Will need to put the name of the load {P0S3-08-5-00.loads} for the firmware that we are trying to use .Just the name without the extension.)

Note:- be sure and update with the firmware version we wish to load, should match the SIPDefault.cnf and SIP<mac>.cnf file’s “image_version=” entries with XMLDefaults.cnf.xml

Ooo, I know now you are thinking… Were we get the 3 file???? not an issue here you Go….

XMLDefaults.cnf.xml     SIPDefault.cnf     SIP<MAC>.cnf

(Edit the files accrodingly to needs. SIPDefault and SIP<MAC>.cnf, I loaded as txt files, edit in notepad and save it as .cnf formate…. Enjoy)

In addition, the following optional files may also be place in TFTP directory:-

SEP<MAC>.cnf.xml file – make sure that the authorization page returns authorized for the username and password in the script

RINGLIST.DAT – contains entries like “9,1….” that cause the phone to automatically dial after a match

dialplan.xml – controls the phone’s matching of digits. By default “*” matches anything and times out after 5 seconds

ringer1.pcm – a ringing tone to be downloaded to the phone

Here will be a problem may arise; I did it on 7960, what will do if it’s another series of IP Phone?

So here’s what, most of you are looking for:-

<loadInformation30006 model=”Cisco 7970″>*****</loadInformation30006>

<loadInformation115 model=”Cisco 7941″>*****</loadInformation115>

<loadInformation30016 model=”Cisco IP Communicator”> *****</loadInformation30016>

<loadInformation308 model=”Cisco 7961G-GE”> *****</loadInformation308>

<loadInformation309 model=”Cisco 7941G-GE”> *****</loadInformation309>

<loadInformation30018 model=”Cisco 7961″>*****</loadInformation30018>

<loadInformation9 model=”Cisco 7935″>*****</loadInformation9>

<loadInformation8 model=”Cisco 7940″>*****</loadInformation8>

<loadInformation115 model=”Cisco 7941″>*****</loadInformation115>

<loadInformation119 model=”Cisco 7971″>*****</loadInformation119>

<loadInformation437 model=”Cisco 7975″>*****</loadInformation437>

<loadInformation404 model=”Cisco 7962″>*****</loadInformation404>

<loadInformation435 model=”Cisco 7945″>*****</loadInformation435>

<loadInformation302 model=”Cisco 7985″>*****</loadInformation302>

<loadInformation434 model=”Cisco 7942″>*****</loadInformation434>

<loadInformation358 model=”Cisco Unified Personal Communicator”>*****</loadInformation358>

<loadInformation436 model=”Cisco 7965″>*****</loadInformation436>

SECOND STEP: – We should connect our IP phone to LAN where DHCP provides the IP, subnet, and TFTP server IP.  Make sure our phone has DHCP enabled = YES. Our DHCP server needs to support DHCP Options.  TFTP option 66 is required for Cisco phones running SIP.  Option 66 can be used to provide an IP address (recommended) but can also support a DNS names (assuming we are also providing at least one DNS server IP via DHCP).  Option 150 only supports IP addresses and is required for SCCP firmware.  We can safely configure our DHCP to issue both TFTP options.


For a testing purpose don’t be bother about the DHCP, just connect to directly to TFTP or give a TFTP address manually to the Phone so simple J

THIRD STEP: – Next pull the power from the phone and plug it back in.  Hold down # until the line keys start to blink and press 123456789*0# and the phone should reset.  The phone may display “Upgrading” on the screen or not; not an issue our ultimate goal is to make it SIP.

If you are using a Unix based tftp server, you can execute tcpdump port 69 and you should see your phone requesting the files.  The phone should display the progress of the SIP firmware upgrade and eventually reboot.

Monitoring tcpdump on the TFTP server is useful in this case because we know the phone is doing something.  Also, we can view the DHCP bindings to verify the phone successfully acquired an IP address.

  1. John says:

    Where did you get the firmware files? the original 5 that you unzipped

  2. Burl Wilemon says:

    Thanks very much for posting this awesome info! Looking forward to reading more blogs!

  3. Thank’s so much, you save my life jajajja

  4. I have a question.

    I have a Cisco IP Phone 7942 the phone need to download a firmware, because it is stuck in cisco logo but nothing happen(The phone tried with a CUCM of the company,i don’t have access). i have another cucm for my lab with the new firmware but i forgot that i can’t point to a alternate tftp server. those steps works with SCCP.

    I will try to download the XML from my CUCM and save on my local tftp, do you think it works?

Click to Insert Smiley

SmileBig SmileGrinLaughFrownBig FrownCryNeutralWinkKissRazzChicCoolAngryReally AngryConfusedQuestionThinkingPainShockYesNoLOLSillyBeautyLashesCuteShyBlushKissedIn LoveDroolGiggleSnickerHeh!SmirkWiltWeepIDKStruggleSide FrownDazedHypnotizedSweatEek!Roll EyesSarcasmDisdainSmugMoney MouthFoot in MouthShut MouthQuietShameBeat UpMeanEvil GrinGrit TeethShoutPissed OffReally PissedMad RazzDrunken RazzSickYawnSleepyDanceClapJumpHandshakeHigh FiveHug LeftHug RightKiss BlowKissingByeGo AwayCall MeOn the PhoneSecretMeetingWavingStopTime OutTalk to the HandLoserLyingDOH!Fingers CrossedWaitingSuspenseTremblePrayWorshipStarvingEatVictoryCurseAlienAngelClownCowboyCyclopsDevilDoctorFemale FighterMale FighterMohawkMusicNerdPartyPirateSkywalkerSnowmanSoldierVampireZombie KillerGhostSkeletonBunnyCatCat 2ChickChickenChicken 2CowCow 2DogDog 2DuckGoatHippoKoalaLionMonkeyMonkey 2MousePandaPigPig 2SheepSheep 2ReindeerSnailTigerTurtle