ShoreTel QOS on CISCO Switches?

Quality of Service or QOS remains an interesting and challenging configuration for most engineers deploying VoIP solutions.   Generally you are concerned about QOS on both your Local Area network (LAN) and your Wide Area Network (WAN).     Though the principles and configuration for COS and DSCP markings are easily discoverable by anyone who takes the time to research these concepts, their application on various network components can be bit more challenging.    Generally, QOS on a LAN makes use of COS bits in the VLAN tag and DSCP in the TOS byte of an IP packets for WAN router access.   How these markings  interoperate with different manufactures however, is really interesting.  Take for example, the installation of ShoreTel equipment on Ethernet switches provided by CISCO.

Generally a CISCO QOS configuration is enabled with the command “mls qos” which is a global configuration command.  What you need to understand is that this command calls into action a wide variety of switch characteristics that may or may not be applicable to your deployment.  You need to know exactly what happens when this command is activated.  You can not  just “cut and paste” this configuration!  For Example:

Mls qos trust device cisco-phone

Mls qos trust cos

These commands make use of CISCO’s proprietary discover protocol to know that an IP phone is connected to the switch port.  Great if you are deploying CISCO phones, but what happens if you are deploying ShoreTel phones?  This command tells the switch that QOS markings are to be trusted if they ORIGINATE by the phone.  If they originate by the computer plugged into the phone, ignore it unless additional trust parameters enable it,  Now,  if a device other than a CISCO phone is connected to this switch port, guess what happens?   The COS marketing are ignored and overwritten with a default COS of 0.   This means that your ShoreTel phones will never get a TOS marking through to the Level 3 routers and you will wonder why your excellent QOS configuration is not working.

ShoreTel can mark the RTP media stream for QOS,  assuming you set them up in Call Control Options.  Generally, you will set this to a value of 0X2e or 46 in Decimal, the equivalent of CISCO Express Forwarding.  However, when these packets hit the CISCO switch interface configured with the normally excellent CISCO QOS configurations it will trash your QOS down to best efforts.  Take away: when using CISCO switches, TURN OFF AUTO QOS or; enter the following interface level command for each switch port:  (config-if-range)#mls qos trust dscp !

ShoreTel “Twinning” ring your desk and cell at the same time!

So there I am, on the my desk phone, talking to some very important client and I now have 45 minutes to make an appoint that is 1 hour away by car! The client is important and we have been trying to link up for days! I also have to be at this next appointment on time! This is where a new ShoreTel 11 feature called “twinning” comes in. While talking to my very important client, I hit a button on my phone labeled MOVE and my cell phone starts ringing! I answer the cell phone, hang up the desk phone and continue my conversation as I make a mad dash for the parking lot! How kool is that?

With the release of ShoreTel 11 you will find a new option under the ShoreTel Logo in the upper left hand corner of your call manager. Select “Additional phones” on the drop down list. This will provide another drop down list and you will select “configure additional phones”. This next screen will let you define two other phones that can ring when your main extension is called. Assume you put your cell phone in the “first phone” section. Set the number of Rings to 5 and check “Accept call by answering”.

Two actions will result: First, when someone calls your main extension, your cell phone will also ring. Secondly you will note a new toggle button appears in the display of your phone and it is labeled “AddOff/AddOn”. The new button allows you to enable and disable the “twin” ring at the push of a button! Now assume you have an active call on your office desk phone. You will note that the “addOff/AddOn” button has now changed to “MOVE”. During your active call you can depress “move” and the call will ring on to your Cell phone! Likewise, while you are on your cell phone, from a call that was “twinned”, you can press *23 and send the call back to your desk.

Now I know this is not what they had in mind when they were talking about “fixed mobile convergence”, but it works and it is a wonderful tool. The attached video illustrates the text description of how a user configures these options in their ShoreTel Communicator. Enjoy!

ShoreTel Browser Based Call Management Options!

If you have ever installed a ShoreTel solution in an environment with other than Windows desktops, you know you lose some of the Sizzle! The Personal Call Manager could not be installed on Mac computers for example! Well known to those who know it well, however, was the fact that there was a functional web interface to the ShoreTel system. This web interface made it possible for Users who did not have a Windows desktop, to make use of many of the configuration options available to Users with a full blown “fat” Personal Call Manager. Just point your browser at your ShoreTel server with a slash “ShorewareWebClient” and you would be presented with a Log in screen. Enter your User credentials and you would be able to manipulate your Call Handling mode, Voice Mail and Find Me options.

With the introduction of Version 11, ShoreTel has eliminated this barrier to non Windows base Users! Using nothing more than an Internet Browser you could now have full access to all the real time call management functionality of a full blow Personal Call Manager, now renamed Communicator. This means that hosted Users and Mac Users could now enjoy all the beneifts that ShoreTel real time call management has to offer! Just browse to your ShoreTel server with the slash Communicator option, provide your log in credentials and a full blown Personal Communicator populates your Exporer! If you prefer you can use Safari or Firefox as you are no longer limited to IE! The broswer based Communicator enables the User to manipulate a real time phone call, access Voice Messages and configure call handling modes. You can even record your call handling mode Greetings, something you could not do using the ealier Browser implementations!

ShoreTel 11 marks a significant step into the future of Unified Communications and sets the stage for a variety of cloud based solutions. Mobility, virtualization and browser based applications are becoming the minimum daily adult requirement for communications funtionality! IMHO the business landscape will be littered with the bleaching bones of those companies who fail to incoporate this key requirements into their business communications model. The film clip shows both the pre-release 11 browser options and the real time call management options of ShoreTel 11. Comments welcome!

Extension Number, Phone Device, or User?

Is a phone, an Extension Number (e.g. DN) and a User the same entity?   Does the User define the Extension number?  Does the User define the Phone?   What is the difference and why would you care?   You care when you have to separate the concept of a “function” from the concept of a “Person”.    Is there a function named “Receptionist”?    Or do we have a  User who is the Receptionist?   Does the Person who is the Receptionist get a personal Voice Mailbox?  Or is that User also the General Delivery mailbox for the Receptionist function?     The answers to these questions are not necessarily complex, but they will define the implementation strategy.  The implementation strategy, in turn will be dictated to by the manner in which  the system architecture handles the phone, extension number and user entity definitions.   

 Lets assume you are deploying a solution for a Theme Park.   The Theme park will have many employees, some of which are part of the office staff and management team and others that are part of the campus Park staff.     The Office staff has a more formal structure with specific Users and assigned workspaces.  The Park staff, however,  consists of employees who work at different hours and on different days.   For example, there is a phone at the “Snack Bar” but who knows who will answer that phone?   That phone is a “function” not a person.  

 CISCO will allow phones to register with the “Mother Ship” (e.g. Call Manager) without requiring either an Extension Number  or an assigned User.  ShoreTel will also allow a phone to register with the Mother Ship without an Extension number or User.  Both solutions require that the device be assigned a “line number” or “extension number” before the device can be called, though the phone might have some limited out dialing capabilities without an Extension number.     T he ShoreTel model, however, assumes that every device has both a Unique Extension number and a Unique User.  In  the ShoreTel model, a  User can not exist without an Extension number.  In the CISCO model, Users are optional?  I get to work with both systems and  the difference are both subtle and  interesting.  Not that one strategy is any better than the other, it  is just a matter of how you have to organize the entities to achieve a particular application solution.

 Lets assume the “Snack Bar” is very long and has 10 phone devices distributed up and down the counter.    In the ShoreTel model, each phone would be required to have a unique Extension number.  License issues aside,  what number do you dial to call the Snack Bar?    Remember, we are calling a “function” not a “person”.    In the  ShoreTel model,  each phone must have a unique extension number.    Additionally,  each extension number must have a unique User defined in the system administration portal.   In the ShoreTel model we end up with something like SnackBar  Phone1,  SnackBar Phone2……….ShackBarPhone9  etc.      Given that all the ShoreTel devices at the Snack Bar have different Extension numbers we have to organize either a “hunt group” or create a “bridged line appearance” if we want to call the “Snack Bar” with a single extension number.

In the traditional TDM world, you would have taken the 9 phones in the Snack Bar  an punched them down on the same Extension!   That seems to be the way CISCO deals with this situation.  You can create the phones, give them all the same Extension number and publish that number  as the “Snack Bar” in the Directory.    This scenario is not unique to a Theme Park.   Separating  a  “function” from a “person” or User is often a requirement in a phone system deployment.   The scenario could  have easily been a  “Sales Counter” at an Auto dealership; or the Admissions desk at a hospital  rather than a Snack Bar. 

Another subtle ramification of being able to separate Users from the Devices they use is the subject of calling permissions.    Do we restrict or grant calling permissions to phones, Extension numbers or to  Users?   In the ShoreTel model, we generally grant calling permissions based on the User.  A User is placed into a particular Group that defines privileges.    In the CISCO world we generally grant calling permission based on the Extension numbers and the Partitions that contain them.    Again, it is not a matter of one strategy being better than another.  They are just different strategies and as a result your deployment will have to be planned accordingly.    At the Snack Bar, we have lots of different employees using the phone, so we are more likely to want to restrict the Extension number assigned to the “function” rather than restrict the Users assigned to work at the Snack Bar!