What is all the Hub about?

So you can’t get any help from the IT department getting a private printer connected to your office PC.  So what do you do?  You run down to your local favorite “we sell cheap computer stuff” store and buy a “hub” or “usb multiplier” or something that looks like a small “Ethernet Switch”.  You take it back to the office, and having send the quick start guide, you unplug your computer from the wall jack, plug it into your shiny new thing and run a cable from it to the wall jack.  Then you plug in your new printer!  Maybe you go really geek and add in your own scanner and wireless access port!

Enter VoIP phone deployment.  Anyone that has done a VoIP deployment knows or has learned the hard way, that “hubs” will kill a VoIP phone deployment!   Multiple devices in a hub will immediately change your ethernet port to half-duplex.   If you put the VoIP phone behind the hub, you are either using a local power brick or you will not have access to the POE on the home ethernet switch.   Running around a 400 desktop installation trying to reconfigure the wiring so that the wall jack feeds the phone and the hub goes into the bottom of the phone is one option. That is always a time sink and usually outside the statement of work (SOW) of any knowledgeable systems integrator.

Hubs need to go the way of “buggy wips”.   They mark a network as unmanageable and general indicate that there is no professional network administration being conducted at that location!   Personally, hubs should have the same warning label the government wants you to put on cigarette packages!   Hubs and toy switches may be ok for you home network, but in this day and age they have no place in an enterprise deployment and when it comes to VoIP deployments, they just don’t make sense and they don’t work!

VoIP is Intimate

A VoIP deployment is an act of intimacy.  One of the great challenges for the deployment team is defining the demarcation point between the phone system, the network and the various applications that integrate withe the phone system.   Clearly, the foundation of a successful deployment is a strong network foundation.   The ability of the network to provide the necessary DHCP services including NTS, IP and vendor specific options are area’s that need to be clearly defined.   Who is providing these services?  The existing data network, or the new voice network?  Is the the in place data network infrastructure capable of supporting the addition of low latency, zero packet loss, not jitter voice and video?   Can the in place access level switches support true 802.1Q Vlan functionality?  How will routing between the voice network and the data network be provided and who will be responsible for configuring these services?

The VoIP network invariably needs to interface with other applications.  Minimally, the VoIP solution will interact with both the Active Directory system and the contact management system (Outlook, Notes etc.).   Who is responsible for this configuration and problem resolution?  The VoIP solution vendor or the the client?   When the Call Managers fail to work properly because of an undisclosed Proxy Server that was not disclosed in the statement of work (SOW), is that time and effort that the VoIP vendor should eat, or is this an area the client should be responsible for?

Any professional that has worked with commuter network technology for any period of time understands that the complexity of integration issues makes these divisions of responsibility very difficult to enforce without jeopardizing an ongoing relationship.  The client wants everything to work better than it worked before the vendor got enveloped.  The vendor wants to provide a key area of expertise without taking ownership for all that came before.

Unfortunately, a VoIP deployment is as intimate as a marriage.  You get more than a spouse, you get the entire family.   I often have clients ask me to provide references for my past work.  Clearly, I come up with a list or excellent references.  What I am always waiting for is a client who is smart enough to ask for a list of “disasters”.   You would think that clients would want to know how a vendor performed when Murphy ran amuck!   When everything that could possibly go wrong went wrong!  That is the client list you want to review.

A VoIP deployment is a marriage between a vision and reality, it is a leap of faith.   The Vendor and the Client need to look past the initial courting and dating, and look down.  We all start out young and good looking.  It is how we deal with the process of design, implementation, operating and the ongoing optimization of both the deployment and the relationship that really determines the ultimate success of a VoIP solution.

Preview ShoreTel ECC 5.1 Agent Tool Bar!

ShoreTel has now release the Enterprise Contact Center 5.1 for Beta users.  We are just now playin with it, but it has quite a few hot new features and even a new “look and feel” as it relates to icons.    For those of you who have installed the ECC, one of the more time consuming aspects of this deployment is the need to visit each desk to install the Agent Toolbar software.   Well, your prayers have been answered! An MSI is now available!  This will make upgrading, even a maintenance release, just that much more fun!   The 5.1 version has some other exciting capabilites that we will explore in detail in later blogs and film clips.  One of these is the ability to generate Real Time Adherance capability, a workforce management function that many call centers are demanding.  There are some new tabs and configuration options and as I said, there is a new look and feel.    Again, we will take a closer look at these features as we get more Beta experience but for now, lets just take a look at the Agent Tool Bar!

Where is the ShoreTel ECC Query file?

The ShoreTel Enterprise Contact Center has two sources of generating both historical and real time data.   With the release of 5.X, ShoreTel created the C2G (“cradle to grave”) or Interaction Reporting functionality.   This MySQL database is clearly visible in the default location of D:\ShoreTel\Contact Center Server\DbProvider\Data\c2g  though you may have installed it somewhere else.   For this database to be active, you have to create an OBDC connector to the MySQL database on the local host.  Then database connector in the System tab of the ShoreTel Contact Center Director has to be selected to enable the database write.    The C2G database is something like the CDR database on the PBX.   It captures real time events about ONLY incoming phone calls and enables you to create custom reports not previously available.  For example, Wrap-Code by Agent!

Prior to 5.x, the only report database is actually more of a statistical peg counter and has not detail behind it.   You might track the number of phone calls received by an agent, but not have any detail about the nature of the events that make up those phone calls.   Average talk time, for example, is arithmetically derived and is not the result of actual detail as captured in the C2G database.  One of the more interesting learning experiences you can have with the ECC is to examine the actual SQL query that is generated when you run a report!  Very instructive.   Each time you run a report, a SQL query is created.   Where does this query live?    If you look in the default path D:\ShoreTel\Contact Center Server\Log you will find a SUSQL.TXT file.  This file contains the actual query that was generated when you ran one of the canned reports on the ECC.   This file will be overwritten each time you generate a new file, but it does contain the most recent report query.   It is a great source of educational information on how to write query’s!   The attached video is a quick visual summary of this blog!

Analog lines in the 21st Century?

Getting old is a pain in the neck!   Literally and figuratively!  I am trying to figure out the benefits of getting older and I am not coming up with a very long list.    You built a library of experience, I guess that must count for something.   There is new generation of telecom professionals that have no idea what a cross bar switch is, but so what.   Nobody is really missing buggy wips either.   In the old “Bell System”  (I have really dated myself now, as google demographics tell me my readers were born post breakup) there was a specific regulation against the interconnection of analog telephone lines on an PBX.  Now part of that restriction was the Bell System being a bunch of anti-competitive jerks, but there were also real technical issues for not doing so.   Analog lines are most useful in man to man communication.   The issue here is the concept of “answer supervision” and “calling or callED party disconnect”.   

When you answer the ringing phone in your house, the answer supervision is actually your ear.   You can “hear” the other party.  yes, there is a line reversal or voltage change but being a two wire loop is nothing like being a trunk line.   For that reason we use trunks to interconnect machines to machines.   Every go to make an outside phone call, and find someone on the line?   Great example of “glare” the concept of a call ringing in just as you where grabbing it to make an outside call.   Analog lines are good for key systems with winking and blinking line keys that show everyone who is on what line, but they are a real annoyance on a PBX system.

Answer supervision is poor if it exists at all and glare can be a real issue.   Throw a couple of Centrex lines in the mix and you will get some real extra fun features.  Nothing like having analog lines connected to your PBX that have feature treatments you did not know about.   It is always phone when the phone companies VM picks up before your ShoreTel VM system does!  As a rule you might like to have one analog line at a site for 911 and power failure, but the idea of running a ShoreTel PBX with a rack full of analog lines, actually makes me ill.   Judas Grunt,  it is the 21st century already!   Can you spell SIP?

ShoreTel does a reasonably good job with analog lines given the real disadvantage they have in the area of answer supervision, etc.   ShoreTel actually goes off hook on these lines at timed intervals.  If it does not “hear” dial tone, it marks the line out of service.  If you are really cleaver, there is a trick to recording the sound made when the line goes “off-hook” so you can retrieve the wav file and play it back locally.  A great life saver when you are in Portland and your trouble shooting a local loop in a remote site, just outside Minute, ND and nobody is in the office.

It amazes me that we still have analog lines on PBX systems, but as long as we do, we might as well learn how to deal with them.

ShoreTel Abandoned Call Handling

Every call center has peaks and valleys.  Normall businesses operate with very predictable calling patterns.  Traffic over the normal business day, starts out slow and peaks between 10AM  and 2 PM in the afternoon, then trickles down.  The old Bell Curve distribution pattern!   Call centers on the other hand, have very different call characteristics depending on the nature of the business.  One characteristic that we can be confident in, is the fact that there are more callers than “agents” to service the calls.  Thus the need for some kind of qeueing capability.

“We are sorry, but all available agents are working with other clients.  Please hold the line and the next available agent will be right with you.     Unfortunately,  callers might tire of the music on hold and predictable care messages, and ultimately give up and then hang up!   This is generally an “abandoned call” in most contact center environments and reports.    The ShoreTel Contact Center has a facility for capturing this information and doing something producitive with it.

Back to the concept of  “Peaks and Valleys”.  What if we could take the “abandoned calls”, capture the caller id and feed them to our agents during valleys in the calling periods?  After all the staff is sitting there, logged in and idle!  Lets just put them to work.   In a ShoreTel system this is very easy to setup and is a powerful productivity tool.  First, the system “reserves and agent”.   The agent gets a little pop up window that informs them that they are being reserved for a call back.  They have to accept it, or they are put in “release” as if they turned down an incoming phone call (time for management tutoring).   When the agent accepts the reservation, the ShoreTel places the outbound phone call and then connects the call to the agent.   With the exception that they acknolwedged the reservation request, the agent experiences the call as if it were any other in bound call to the contact center.

Optionally, you can play a file to the callED party before you send the call to the agent.  I have found however, that it is better to send the call to the agent immediately after it is dialed.  This is because the agent is better able to deal with “positive answer supervision” using the human ear, then the machine is able to tell the difference between a fax machine, answering machine or someother non-human answer.

Making use of the abandoned call feature is something that every Contact Center can do to increase agent productivity and customer satisfaction.   You can even setup a group that specializes in abandonded call backs, and route all calls to that “win back” group.    The following video describes how to set this up in your ShoreTel Contact Center (or you can just call us, and we can do it for you)!

New Release Process defines ShoreTel Upgrade paths

ShoreTel will often have a controlled release of software.   For example, Version 9.0 might be shipping to new clients but will not be availalbe to existing installations until it is declared GA.    Existing clients with a compelling need, could always obtain the upgrade, but it would be subjected to the terms of a controlled release.  Over the years I have observed that an 8.0 release, for example, never goes GA, but becomes 8.1 when it does.   With the release of Version 9,  ShoreTel has now formalized this “enhanced delivery” process.

Starting with ShoreTel 9 add-on feature sets will be made available as “dot” releases in the form of 9.1, 9.2 etc.  The impact of this new development process is taht features delivered in a “dot” release will not be included in the first major release of the next version.    So if you are on 9.1 you will not be able to upgrade to a controlled release (CR) of 10.0 butt will have to wait until 10.0 goes GA with a 10.1 release.

So we witness a fomalization of a process that has really be in use for quite some time!   It is a process, however, that has built in software assurance as the primary goal.   If you have an interest in the latest feature set, send me an email and we will update you!

Does the ShoreTel Server Stream Media at G711?

You have dutifully enable Differential Service Control Points on you WAN network, to enable EF for voice traffic!  This is the minimum daily adult requirement for QOS on a WAN connection.   Prior to Version 9+ ShoreTel did not mark all traffic with a DSCP value, only media traffic between end points.   If you think this through, what happens to the media stream played out by the ShoreTel server during Automated Attendant of Voice Mail use?  Would this media stream across the WAN using the inter-site codec setting, typically a G.729 vocoder?  Or would it stream at G.711?   Given that there is no DSCP value on this media stream, that might be a QOS problem across a WAN connection.   Would it be possible to set up a  MATC H for the source IP address of the ShoreTel Server and through these IP packets into the EF queue?

To improve this situation, ShoreTel enabled “media proxy” on the Fuji or full size 19” switches that have been shipping prior to Version 7.    In this configuration, if a caller across the WAN reached an extension at another site, and that extension RNA forwarded to the VM system, the media stream would be have different end points.  At first you would think that the media stream would be between the originating extension and the Voice Mail server, but it is not.  It is in fact, between the originating extension and a switch at the HQ site (one of the reasons you always need a switch at the HQ site).  A switch at the HQ site would then proxy the media stream to the VM server, transcoding G.711 and G.729 to assure the correct vocoder across the WAN.   In this way the, the source IP address of the server is irrelavent for QOS purposes!

Now with the introduction of the ½ size switches, this is no longer the case.  Apparently with the release of 7+ the server is capable of streaming G.729.   So we need to be aware that an installation using the new switches, will no longer proxy for the VM media stream.    Additionally, there is a requirement that you set the number of media streams that can be transcoded at any one time.   This setting is in the registry of the ShoreTel Server and should look something like this:

Path: HKEY_LOCAL_MACHINE\SOFTWARE\Shoreline Teleworks\TDIMedia

Key: MaxNoOfG729Channels

Type: DWORD

Default Value: 40

This setting is suppose to be enabled on versions 7+, but if you are upgrading you may have to create and set it manually.    Clearly, optimizing your WAN for QOS is an essential element of providing toll quality voice on any VoIP solution.   Knowing what is class marked with DSCP and what is not, is an important element of achieving the desired result.   Check this issue carefully!

Modify ShoreTel Database to Kill “dial 9” requirement?

Fax Machines on ShoreTel?   It is not uncommon for system administrators to create a user named FAX SEVER, then define it as EXTENSION ONLY.    Though I personally have been trying to eliminate all the forest eating fax machines and printers on the planet, it would appear that Fax machines are going to be with us for quite some time.   Even with a fax server, people want to stick a piece of paper into the machine and watch it “go through” after dialing the distant end.  This is an example of  “Experiential compatibility” as the marketing folks like to say.   We are more comfortable with a technology that is compatible with our experience.

Often, there are other analog devices that survive the move to IP telephony.   For example, the credit card machine!  Many company’s will have another ShoreTel user named CREDIT CARD and it also is defined as EXTENSION ONLY.  These devices share one common trait that many clients find very annoying.   If you connect a fax machine or credit card machine to a ShoreTel analog port, the device will now need to know how to “dial 9” to get an outside line, to complete a call.   So these means that you have to reprogram the fax machine and the speed dial lists that most companies have accumulated over the years.  Not an exciting thought and a great waste of human resourcess.

Is there a way to “hack” l the ShoreTel configuration database to just connectthe fax machine  to an outside line without the need to “dial 9”?   The answer is yes, there is a way.   I hope that you have watched enough of my stuff to have loaded a copy of SQLyog on your ShoreTel Server by now?  In the MySQL configuration database for the ShoreWare sever, there is a data table named “USERS”.   In the USERS database, look for the column labeled EXTERNAL DIAL TONE.   Find the USER of interest, in this example FAX MACHINE, and locate this column.  You will find that the existing default value is 0, requiring the user to “dial 9”.   By changing this value to -1, the user is directly connected to an outside line and is able to dial without using an access code.  Be careful changing this configuration database!  If you do not know MySQL or SQLyog, you should probably find someone who does.    The film clip accompanying this blog will walk you throught the configuration change.   Enjoy!

Microsoft OCS + ShoreTel = IM

Microsoft Office Communications is a powerful collaboration tool. The MOCS provides web conferencing, IM, audio conferencing, desktop sharing and also provided SIP. For purposes of this brief discussion, we will stay focused on the Internet Messaging component of MOCS. With the Release of ShoreTel 8+, the Professional Call Manager provides both desktop to desktop video conferencing and Internet Messaging. The Internet Messaging component makes use of a Microsoft OCS server and the ShoreTel solution integrates the solution as an application server defined within the ShorewareDirector portal.

Internet Messaging, or IM as it is popularly referred to, seems to fall into two corporate philosophy camps: companies who absolutely abhorrer its use; and companies who find it to be an essential business tool. Those companies who do not allow IM of any kind typically have very tightly controlled employee desktops, enable website filtering and block IM ports for Yahoo, AOL, Google and others. Sometimes the excuse is HIPA/Sarbanes Oxley compliance or a general concern that employees might communicate private company information out this internet portal. Companies that find IM to be essential can be broken down into two additional categories: those that allow IM clients on an ad hoc basis and those who want total control of the IM client.

Microsoft OCS provides a solution for that last group of customers; those that need IM but want to control and monitor its utilization. MOCS enables you to “record” all IM conversations to an achieve server to meet those HIPA and Sarbanes Oxley compliance requirements and to assure the content of IM does not violate Corporate use policy. MOCS also enables you to set up “federations” so that inside IM participants across the Company can communicate with Yahoo, AOL or Other corporate MOCS users outside the domain. All in all, MOCS is the great unsung hero of the Microsoft Servers!

The integration of ShoreTel Professional Call Manager and the MOCS is not that complex, but falls under that summary statement “well know, to those who know it well”. Microsoft clearly has a VOIP strategy in which the MOCS plays a key role. Working with a ShoreTel IPBX and a Professional call manager, it becomes a viable solution for adding IM to and existing ShoreTel installation. The video is just a quick overview of how you actually deploy the integration.