Repurpose your CISCO 7900 phones as ShoreTel sip Extensions!

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.


Deploying VoIP in the Cloud or rolling your own “hosted PBX” – Part 1 Server Deployement

The entire subject of Virtualization and all things “cloud” has become something that even none technical people talk about.    You might say it has gone “viral” and captured the interest of geeks, business people, professional technology managers and entrepreneurs.   Personally, I never did get the whole fascination with hardware.  In my mind hardware was just something we had to put up with to get to play with the software.   When you stop and think about it, aside from the IT folks, nobody wants a Windows 2012 Server!  What they want is a Website,  a CRM package, a blog or a phone system.    Having to deal with hardware was always a chore and it always seemed to me that whatever we had was obsolete within a year or so.   The software could be upgraded, but the hardware had to be “refreshed” an expression that generally means, purchase new stuff!

Virtualization made hardware a bit more interesting.  Now we could at least run a half dozen servers on one huge hardware platform.   Back up and Restore became almost fun!  Now you start adding virtualized appliances like phone systems, gateways and firewalls to the mix and software professionals get almost giddy!     I think VMware has caused more new business creations than any other single “stimulus” package.  Now, even a guy working out of his garage could compete with the big guys!  Capital requirements were significantly reduced and new cloud based business could launch at the drop of a hat and the signing of a sales agreement!   Internet bandwidth, access, creativity and an Amazon account and you were in the revenue production business!
Unless you are in the business of refreshing hardware, why would you want to bother with any of that hardware stuff?   How long does it take your IT team to spin up a new server?   Even if you are a one man show and you can control everything without benefit of a working committee, it takes time to setup a server!   Some organizations take weeks to provision a new server!  Now if you happen to have an Amazon account, even your plain vanilla book buying Amazon account, you could spin up a new Linux or Microsoft Server in about 15 minutes!   With your “Amazon machine instance” you get a security group (read firewall) for your public IP address, a DNS name and a local network all in less time than it takes to unbox and rack a new hardware based solution.The Amazon portal lets you change the configuration of your instance on the fly.  This means you can increase disk size, RAM, change bandwidth and update your firewall without a screw driver!  Think about it, fully operational on net with pubic IP access in less than 15 minutes.

Now that 3CX, ShoreTel, Mitel  and so many others offer Gateways that are “virtual” machines, you could actually spin up a “hosted PBX” in just a few hours!   We though we would try it just for kicks!  Log into AWS spin up a new Windows Sever and deploy ShoreTel or 3CX completely virtualized, including SIP trunks, Border Controllers and Remote phones both Hard and Soft.    Should be hilarious!   (Thanks to winter storms back east, we just brought up a  169 users system, across three states and had the client fully operational in 12 hours from the emergency phone call to the DrVoIP hot line).   This first video clip just deals with provisioning the server.  In subsequent versions we will bring up an entire phone system and you can watch over our shoulders!

How to install the ShoreTel Virtual Switches!

Virtualization has significantly altered the options available for your choice of deployment models.  With the introduction of ShoreTel 14.2 you can completely virtualize your VoIP deployment right down to the Gateways!  If you have no Analog telephone device requirements or telephone company lines,  you can now eliminate those ShoreTel Orange boxes!  This is a significant advancement in the state of the art and one that will become increasingly more prevalent as we look for viable business continuity strategies.     The ShoreTel virtual switches come in a number of flavors:  Service appliance, phone switch and trunk switch.   The Virtual appliance is similar to the ShoreTel SA100/400 server and is essentially a free feature enhancement!  The ShoreTel Virtual Phone switch can also be used as the “spare” switch available for use by phones that need to register with a new switch when the ShoreGear switch they were using fails.  Again, no cost associated with this unless you leave them on that virtual switch for longer than the normal 45 day grace period.
The VoIP technology in general has become more complex demanding new skill sets from those who install them.   In addition to the telephony, network, firewall, SIP and Microsoft software applications that historically touch your ShoreTel deployment, you will now need to understand VMware ESXi deployments including the use of OVA files.   The ShoreTel Virtual switches are now distributed as a part of your HQ and DVM server images.  They live in the FTP server and can be retrieved in one of two ways.  You can either download the image file when you configure your appliance in the Shoreware Director portal, or you can load it as a URL in the VMware machine configuration as the target for your OVA file.
If you are familiar with VMware, the installation process is relatively simple, straight forward and easy to understand. Once the machine is specified the Vmware configuration is as simple as adding the basic network IP components including the address of the Shoreware HQ server.   The machine will ultimately configure, load and become available as a virtual machine on your ESXi platform.   From that point on, there is little difference to the installation of a virtual appliance or a real ShoreGear switch in Shoreware Director.   The basic difference has to do with the selection of the hardware platform type.  Normally you would select an SA100 or a ShoreGear 50, for example.  In the case of a virtual appliance, you will select a new category from the drop hardware list, that indicates what type of appliance you are installing.  The rest of the configuration is the same.  The virtual appliances behave like the normal orange” boxes,  even requiring a firmware upgrade.   They appear in both the Diagnostic Monitoring and Quick View and in all respects operate like their real world hardware brethren.
We should all understand that those little orange boxes contain application specific microprocessors or digital signal processors (DSP’s).  The real heavy lifting normally done by those chips for CODEC work, for example, will now be done in software.  Additionally, don’t make the mistake of deploying virtual appliances at sites logically, without understanding that the VMware hardware platform location is just as important on over all performance as ever!   All and all this is a major step forward for ShoreTel and you can expect these virtual appliances to become a standard part of your deployments over time.    The video clip reviews the actual installation of both a phone switch and a service appliance!
Note – The ShoreTel news here is that the actual Voice Gateways are virtualized, not just the application, but the Gateways!