Repurpose your CISCO 7900 phones as ShoreTel sip Extensions!

February 22nd, 2014
The CISCO 7900 series of phones have been a very popular handset in the “hosted” PBX space.  CISCO discourages the use of these phones on other than CISCO systems, but there are so many of them out there, that they end up being used on a range of other systems from 3CX, ShoreTel to Asterisk and FreePBX.     A company moving from a “hosted” solution or converting from a CISCO Call Manager to a ShoreTel system, for example,  would normally wanted to protect their  investment in handsets and repurpose them for use on ShoreTel.   The CISCO 7900 family of phones has been shipping since at least 2002 and estimates have been that over 1 million handsets ship to market every day!   By any measure, the market is littered with these phones.   We would caution you however, before you hit Ebay, to understand that what you save in the purchase of handset hardware, you may end up spending in professional services and cumulated aggravation!   If you are still committed to burning up IT staff or professional service hours, there are a few key issues you will need to understand.
First, CISCO Call Manager solutions have historically used a proprietary protocol named “skinny” of SCCP.    Most hosted solutions  have used the  industry standard SIP protocol and because of its wide adoption by vendors in general, most new systems can support SIP end points.    CISCO 79X0, 79X1 and 79X2 handsets most have their firmware converted from SCCP to SIP before they can be used on any SIP based system or on ShoreTel.   The process of converting the firmware is not all that difficult but does require some basic resources like a CISCO login  account  and a TFTP server, though we have found the needed firmware all over the Internet.    Setting up a TFTP server can be implemented in a number of ways from open source solutions like PumKin or Tftpd64.    We prefer Tftpd64 for field deployments as it can also provide DHCP services that include the ability to specify required scope Options 150 and 66!
You can try flashing the phone without defaulting the configuration by just unlocking it and setting the Alt TFTP server to the correct IP address.   You unlock your CISCO phone by hitting the Menu key, scroll to the network settings, hit unlock (**#**)  for Alternative TFTP server,  set it to yes and then in the next field enter in the IP address of the TFTP server.   Experience has proved, however,  that you should reset the phone.  There are subtle differences between how the reset and unlock method is executed based on your exact model.  Generally, you reset the phone by holding the # key while powering the phone and when it starts flashing orange and red, enter 123456789*0# on the keyboard, then be patient.    Make sure your TFTP and DHCP servers are setup and working.    DHCP Option 150 and Option 66 must point the phone to the TFTP server and directory  containing the firmware files.   
Again you will find that you really need to tweak the SiP software version as one may run and another version may not!
You should be aware that v4.4 code uses the following tftp files (which areall case sensitive):
 OS79XX.TXT  (This file must be on the TFTP as it defines the software load WITHOUT .bin extension).
 SIPDefault  (This file denotes parameters for all phones)
 SIP<your mac address>  (eg, SIP00036BABD123 parameters for a specific phone)
 RINGLIST.DAT         (optional) 
 dialplan.xml		(optional)
 ringer1.pcm		(optional)

Early versions of the SIP code did not require all of these, however if they are in the tftp directory, it doesn't hurt the loading process.  Later you will still need the TFP server to obtain configuration file when you boot your CISCO phones. Power on your CISCO  and the phone should display "upgrading" and you should see file transfers in your TFTP server log.       Be careful as the phone will from time to time looks like it is dead, but it is still loading files.  It takes time and patience  will ultimately yield a phone now flashed for SIP!
That was the easy part, now you have to understand the configuration files, how to edit them and the boot process.    When the phone boots, it makes a DHCP request for usual IP configuration parameters including the necessary vendor specific options.   ShoreTel uses Option 156 to specify the FTP server where its phones can download firmware and configuration files.   CISCO uses TFTP and specifies that IP address in CISCO Option 150 and Industry Option 66.   When the phone boots it will first look for a “install trust list” or certificate file which it will not find in your TFTP directory,  so expect that file failure.  It will then look for a SIPDefault.cnf  which has information for all phones, and then a file that contains configuration  data for a specific phone which is named SIP<macaddresss>.cnf.
Edit the SIPDefault.CNF in Notepad file and change the first three values: The first line of the file,image_version, sets what firmware version we are going to use. This needs to match either the firmware version already loaded on the phone or the firmware version that you have available in the tftp folder for the phone to upgrade to. The second setting, messages_uri sets the extension number that the phone will dial to access the voicemail system.   The third setting, proxy1_address, sets the IP address for the phone system so the phone knows where to send it’s registration information.  In the case of ShoreTel make sure you point this at the ShoreTel SipProxy IP NOT the ShoreTel HQ server!
For real detail on the content of the config file click this link.  Each phone requires its own configuration file based on the MAC address of the phone.   If our MAC address is 00175989A49E, then our configuration file will be named SIP00175989A49E.cnf.   This file contains a list of XML tags.  You will need to modify several tag entries.  You can use notepad, but if you can make use of an XML editor like Komodo or Eclipse it will help you eliminate poorly formed XML tags.   Scroll through the file and edit the following tags:
<processNodeName></processNodeName>  should be set to the IP address of your ShoreTel SIP Proxy, NOTE the ShoreTel HQ server!

For Each extension line you want to register you will need to set the following parameter:

<authName>1234</authName>  to your ShoreTel SIP UserName
<authPassword>1234456</authPassword>  ShoreTel SIP Password


The lines also have other configuration data for displaying the Name and Extension number and you should find those XML tags easy to locate. The above tags however are the 3 minimum tags required to get your phone to register with ShoreTel. It should be understood that getting your phone to register, make and receive calls is not the same as integrating your CISCO phone with ShoreTel. Getting feature buttons to work and interfacing with the telephone book is an entirely new opportunity for head banging. Some of it can be accomplished by editing XML configuration files, but well outside the scope of this nugget ! The most likely success stories for CISCO on ShoreTel are the 7940/7960 phones. Be aware that there are subtle difference between the rest of the family like the 7941G/7960G and so forth. The 7942 and 7945 take extra tweaking and you many need to SSH into the phone to debug. It takes time, patience and perseverance to tinker with the various phone loads and XML options, but it can be done! As we get more examples, we will upload sample configurations to the Member portal.


4 responses to “Repurpose your CISCO 7900 phones as ShoreTel sip Extensions!”

  1. Daniel S says:

    Is this possible with Cisco 7821??

  2. Jay says:

    We tried and the phone registered but there seems to be something mismatched with the dialplan. THe phone can receive calls but cannot dial out at all.

    Any thoughts?

  3. I recently configured the cisco 7942G phone to work on the ShoreTel system. All basic features and functionality works great with ShoreTel 14.2. I highly recommend to use cisco SIP firmware version 8.5.3. This seems to be a very stable firmware from Cisco. I could not make version 9 work, phones just would not go out and register with the ShoreGear switch. You MUST create a SIP profile for every model of Cisco phone. The user agent field has to match the model type and the firmware level. ShoreTel has created a document on how to configure the phones/system but they don’t explain the important details. For my 7942 phones the User Agent field was set to ” ^Cisco-CP79[46]2G/8\.5\.3$ ” for firmware load 8.5.3. Custom Parameters were OptionsPing=0, SendEarlyMedia=1, MWI=notify, AddGracePeriod=300, XferFailureNotSupported=1, 1CodecAnswer=1. Of course you will need your config files and SIP firmware software. You must include your dial plan, XMLDefault.cnf and your custom config SEPXXXMACXX.cnf.xml.

  4. Dear Blog:

    Our system runs completely different firmware than the Premise side, which is why the phones will not work. As the Sky and Premise sides are slowly becoming one and the same, eventually Sky phones will be replaced by the 400 series phones the Premise side uses anyway.

    Adrian Warner
    (877) 654-3573
    ShoreTel Sky Support

    Case Number: 01094011
    Subject: Subject Re: Case 01089978 7942 on ShoreTel
    Status: New
    Priority: Standard
    Next Update Due: 2/26/2014 4:32 PM

    Subject Re: Case 01089978 for Unknown Update: 7942 on ShoreTel [

    How is it that ShoreTel is support SIP and so does Sky? The 7042 is flashed with SIP, so what is the issue? – From the desk of: DrVoIP

    Dear Blog:

    Unfortunately the Cisco phones will not work with ShoreTel Premise accounts. Thank you.

    Adrian Warner
    (877) 654-3573
    ShoreTel Sky Support

    Account: Unknown
    Case Number: 01089978
    Subject: 7942 on ShoreTel
    Status: Pending
    Priority: Standard
    Next Update Due: 2/25/2014 8:39 PM

    We are converting a Sky client to an ShoreTel Ver 14 on premise. They want to keep their 7942 handsets. Do you have a configuration for the 7942 that works on ShoreTel V14?

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Ask DrVoIP

ask drvoip

Network Readiness Assessment

drvoip readiness checklist

Is your network Ready?

Complimentary free download - DrVoIP VoIP Network Readiness Assessment Checklist (pdf)

Download Now ›

Training Videos

shoretel ipbx cisco cusm
shoretel ecc audio voice prompts
cisco uccx call back option
generic call queue cc admin


web stats

© Copyright 2020
Follow DrVoIP