Trouble Shooting ShoreTel SGT1 Caller ID

Caller ID is an interesting area and we see a variety of client request regarding this functionality. On analog lines, there is not much room for configuration. Generally this information is transmitted as FSK (i.e. modem tones) in either the SDMF or MDMF format, in the silent portion of the phone company “ring cycle”. For this reason, if you answer an incoming call before the ShoreTel has an opportunity to capture the CID information, you may not see it displayed. Unlike a PRI, outbound caller ID is controlled entirely by the phone company on analog lines and ShoreTel can do nothing to change what is displayed when you call out of the system. Sometimes, if you have a number of analog lines, the phone company displays a different Caller ID on each line! If you ask nicely, and the moon and starts are in perfect alignment with Mars, the carrier might agree to have all of your analog lines display the main Billing Telephone Number or BTN of the client account. At the end of the day, outbound caller id, is what it is on analog lines.

On PRI lines, we have more control over what is displayed when you place a call to an outside party. Generally, in ShoreTel you can display either the main PRI number of your personal DID number. We have been able to spoof the PRI D channel and display any phone number you may want on an outbound call, by configuration of the Caller ID field in the Shoreware Director administration portal under Individual Users.

We are often asked if it is possible to display a different outbound caller ID on a call per call basis. Unfortunately, unless you are willing to reconfigure the Caller ID field this is difficult, but not impossible to do. ( I know at least one police department and a half dozen credit and collection agencies that do this when the called on suspects might not answer the phone unless they know that Mom is calling)! Sometimes a company has multiple Brand names or company names that they are using when they place phone calls. To enable call by call, outbound CID change, we create Bridged Line Appearances or BLA’s. These BLA’s can be configured with a different called ID and the client can select the appropriate line (read Brand) to generate the correct CID on a particular outbound call. As an aside, we note that the carriers are getting more particular about D channel spoofing of CID on PRI calls. On SIP trunks it is all but impossible. The Carriers now insist that the displayed number must be a number that is within your BTN range. This limits spoofing.

Trouble shooting inbound (or outbound, for that matter) Caller ID calls on a ShoreTel PRI is fairly straight forward. Minimally, you can use the Trunk Test tool to witness the caller ID of an inbound call. To tap the actual D channel messages sent by the carrier to your ShoreTel SGT1, you will need to setup a capture. To do this, you will need to take the following steps (see video below):

(a) Turn off the Telnet Security Shell via the ipbxctl command

(b) Telenet into the ShoreTel SGT1 switch;

(c) For Analog & T1 turn on the mpm_debug_mask=-1 command

(d) For PRI use mpm_debug_mask=0X40 for called ID and Name.

Unlike the early versions of ShoreTel debug routines, the CID and call setup information is reasonably intuitive to decipher. Traces can also be used to figure out who hung up on who and other carrier CPE shoot out questions. These are useful trouble shooting tools.

Lastly, we need to make sure we understand the difference between ANI (automatic number identification) and Caller ID. ANIS is tariff differently and is not subject to the same blocking restrictions as caller ID number. Generally, if you are paying for “toll free” numbers, you want to know who is calling! The carrier delivers the information in a format that looks like <DID> <DNIS> * <ANI> * <DID/DNIS> and the SGT1 can note the *delimiter and sort this out. You should also be aware that ShoreTel will attempt to route the call based on a selection priority that starts with DNIS, DID, Extension and finally Tandem Trouncing. If no match is found, the inbound call will be routed to the “destinations” specified for the trunk group, with the automated attendant being the default.

Trouble shoot “one way media” with the ShoreTel “phonectl” command!

One of the most common make/break/fix support tickets that come into the TAC center, have to do with “one way media”. In this scenario, a ShoreTel VoIP phone user calls another phone user, or places an outside phone call and the called party can hear the user, but the user can not hear the called party. We typically refer to this condition as “one way media”. We have look at hundreds of these situations, and though some were more difficult to resolve than others, they are generally attributable to a configuration error that defines the default gateway or a missing route.

Conceptually, your IP phone sits in a specific network. For example, your IP phone might have an IP address of 192.168.150.55 which is in the 192.168.150.0 network. When that device setups up a phone conversation to another phone, media(read voice) flows between the two devices. It is important to know that the “call manager” that provides the MGCP call setup and tear down information is the ShoreTel switch that the calling phone registered with, but the actual media stream, is between the two end points only. You can use the phonectl command to see which Shoregear gateway is managing the phone.

Generally, we experience the condition known as “one way media” when a phone in one subnet calls a phone in another subnet. In a multi-site deployment your phone may be in the 192.168.150.0 network, but the phone you are calling might be in the 172.16.10.0 network. The ability of these two end devices to set up a media stream requires that there be some routing device in the network. This routing device may be an actual router, or it might be an Ethernet switch that has “L3” (read routing ) capability.

When a device on the 192.168.150.0 network wants to exchange packets with a device on another network, it sends those packets to the “default gateway”. The default gateway is an interface on a device that knows how to “route” to the other networks. Each device knows about the devices on the network it is resident in. It also knows that if it needs to communicate with a device in another network, it needs to send that request to the default gateway. The default gateway, will then forward it on to the target device, or to its own default gateway, until it reaches a device that knows the target device.

There are a few questions you need to ask when troubleshooting one way media:

(a) Can I make a call between phones in the same network?

(b) Can I ping the ShoreTel HQ server:

(c) Can I ping the ip address of the device (phone or gateway) that reports the one way media;

There are a couple of ShoreTel related exe files that are useful in trouble shooting one way media. You are going to want to see the network from inside the network device, regardless if it is a switch or a phone. ShoreTel has a security shell that runs on phones and switches. You will need to disable this shell, to enable the ability to telnet into the switch or phone. First, you will need to enable telenet with the ShoreTel ipbxctl command. You will also use this command to telenet into a phone (see previous blog “how to telenet into a ShoreTel phone). You will then telenet into the phone and test for network connectivity by use of the PING utility.

Invariably one way media can be traced to a network configuration error. Either a device somewhere in the network has the wrong default gateway; or the default gateway does have route to the destination network. As an aside, there was a time in which the standard ShoreTel media stream, always used transport level port 5004. A one way media condition, generally across a WAN, might be the result of having port 5004 blocked in one direction on a firewall. From a QOS perspective, advantage to ShoreTel as we could not only prioritize Voice over Data at the IP level but also at the TCP or transport layer. With the move to SIP, the RPT media stream is moving on ports all over the map so this is no longer high on the check list.

ShoreTel Route Point Configuration

Thecr ShoreTel IPBX “Route Points” are powerful configuration tools, generally used to enable third party applications.  Using route points, an external application can gain complete call control.  For example, when you configure a ShoreTel Enterprise Contact Center, you will use route points to control call flow, media and routing options.  The interaction with the route point is generally through TAPI and TAPI wave, but route points can be used to create other options for call control including call deflection and the creation of voice message repositories.

Playing with route points is an interesting experience as they seem to work differently depending on which version of ShoreTel you are running.   In all versions, however you can create a route point and associate it with a voice mail box, or use it to deflect a call.   Historically, we have used route points, along with schedules, to redirect call center traffic between different call centers based on the time of day or day of week.

It is quite possible, however to set up a route point for no other purpose than to create a fully functional voice mailbox.  Given that the route point does not require the definition of a user, no extension or mailbox license is required to achieve this result.   Basically, you create an route point much the way you would create a Hunt Group, Automated Attendant or Workgroup.   You define the route point with an extension that can be dialed, and you setup your Ring No Answer and Busy Destinations to be the voice mail port.

We have come to realize that you have to use the Record function on the Route Point configuration page to set the recorded name and greeting. Thought we could enter the same VM box through an IP phone and were greeted with the normal new voice mail box setup routine, when we called the box we did not hear the name or greeting. Using the record option on the configuration page, however, enabled this functionality. After recording the greeting and name in the way, we experienced the expected behavior when we called the extension and were transferred to VM.

Route points can also be used to deflect an incoming telephone call to an external telephone number. This is equivalent to setting your call handling mode to always call forward to an external number. We never encourage users to configure this option in their call manager, as it robs the host company of follow on call control, allowing messages to be taken by a cell phone for example. The fact remains, however, that you can setup a route point, with a DNIS or DID number to always send the call to a remote phone in the pubic switched telephone network.

Route points that forward to traditional TDM connections will actually show up in the ShoreTel CDR when you run a User Detail or Summary Report. This is not the case if you try to run these reports against a route point that is actually used as designed and terminates in a third party call control application via TAPI. This is just one of the mysteries of route points. At the end of the day you could setup a ShoreTel server with no users or extensions, using route points to enable both voice mail and remote call forwarding. Route points are just way kool and worthy play things! More on this later, film at 11.

PDF and Email those ShoreTel Historical Reports!

“Historically”, excuse the pun, we always had a challenge with ShoreTel Contact Center Historical report!There were two issues.First, though you could schedule a report to be run automatically at a present time, you had to chose between printing to a file or printing to an actual print device.If you choose to print to a file, you could not set the path for any location other than that set by the default path of the ShoreTel Contact Center.Secondly, most Supervisors would rather have the scheduled report converted to a PDF and emailed to them!Automating the report is wonderful.Automating the delivery, however, was more important.

In Version 5.1 both of these challenges have been addressed, though a bit of “IT Magic” is still required.ShoreTel provides the path manipulation and email ability, but the GNU project provides the PDF conversion capability.You need to go to http://sourceforge.net/projects/ghostscript and download “ghostscript”. Once you have this software you will use standard Windows facilities to install a new “local” printer to enable the Ghostsciprt PDF printer! This is the first step, printing your Historical reports on a schedule and have them output to a file in the form of a PDF. Works like magic!

The second part takes advantage of the DESTINATION tab in the ShoreTel SCHEDULE option for Historical reports. After you create your Historical Report Template you then have the option to schedule the printing of the report, to a file or to a printer, To have the report emailed to you, you print the report to a file at a scheduled time. You then indicate that you want the report emailed and you complete a simple form that indicates who to email, who the report is from and what the subject of the report is. At the scheduled time, the report is generated, sent to a file through the Ghostscipt option to obtain a PDF and then the ShoreTel SMTP email option forward the email on to the intended recipient.  In 5.1 it is no longer necessary to separately configure the SMTP options.

Sometimes it is the really simple stuff that makes it a desirable feature. This new ShoreTel Contact Center configuration for Historical reports is among the most frequently requested capabilities we have heard among the installed base of Contact Centers! Kudos to the ShoreTel ECC development team for getting this done! Wonder if this will work on ShoreTel IPBX CDR reports?

emailreports1

To VLAN or not to VLAN, that is the question!

An assumption in this blog  is that if your company has a  “network administrator”  on staff, you have a network that is large enough to require constant  “care and feeding”.    As such dumping a bunch of VoIP phones onto your network without VLAN’s  would never happen.  After all,  the fist job of a network administrator is to make the network broadcast space smaller and smaller.  That is why we subnet!   Take a typical Class C network with 100 network devices on it and dump another 100 VoIP phones in that subnet and you are asking for trouble if you don’t VLAN.   To suggest you don’t need a VLAN or at the very least,  a  separate subnet is just plain silly.

Did you ever hear the expression ‘fences make good neighbors”?     Well the same concept applies to networks and VLANs make network applications like voice and data, excellent neighbors!   Lets assume those 100 desktop computers are in the 192.168.1.0 /24 subnet and you created a new 192.168.2.0 /24 network for your VoIP phones.   In a ShoreTel deployment, you will have personal call managers installed on the computers in one network that need to get to the ShoreTel server and switches  in the other network.   How are you planning to do this?    Use the old “router on a stick” solution (send all my LAN traffic up one switch port to a router and back down again)?   Let me help you here, no!   You are going to set up VLANs  and do inter-VLAN routing at backplane hardware speeds  on that new POE Ethernet switch you purchased to support your VoIP deployment.

Data networks have become “mission critical” for even the smallest of companies today.   Just unplug someone’s Internet connection and you will quickly find out just how important the “network”  has become!    Start bogging down the network with Voice, Video and Streaming audio and you will quickly learn the value of VLANs.   We invest billions of IT dollars on firewalls, spam ware and website filtering software so why would anyone suggest that a VLAN is just to complex to bother with?   By the same (excuse the pun) token, why would someone suggest buying a new POE Ethernet switch that was not VLAN capable?

Data networks need to be described within the context of the protocols and business applications that are running on them.   Big or small, we continually find that VLANs are an essential component in the maintenance of proper network hygiene.    Imagine even a small VoIP deployment in a company enraged in video animation and you can quickly realize that it is not only how many devices I have on the network, but how my network is being used that will determine the qualify of voice in this deployment.    We need to make sure that streaming video over even our LAN, does not negatively impact our VoIP deployment.   To do this, we need prioritize voice over data and that means we have to establish QOS.   To enable LAN based QOS you have to VLAN, because the class of service markings live in the VLAN tag!

Put your VoIP deployment in a multi-site environment with WAN links and the VLAN discussion now moves into the realm of “must have”.     Routers use the TOS byte in the IP header to provide enable QOS.   As an aside,  ShoreTel had the advantage of enabling Transport layer QOS  as the VoIP media stream as always on port 5004.  With the move to SIP, this advantage has been minimized as the media stream now moves unpredictably over some 16K ports. We can pass QOS information to our WAN links through a variety of strategies, but VLAN’s are an essential element of that strategy.

At the end of the day, unless you have a network that is so small you are running Vonage as your VoIP solution, you need to VLAN! Make sure that your VoIP deployment includes an assessment of your network and that you graphically understand how the network is utilized before you deploy voice. As your internetwork becomes more essential to your network, VLANs will surface into high relief on your radar screen. Consider that your shiny new ShoreTel now provides for Internet messaging and desktop Video as part of its advanced feature set, the idea of deploying a solution without a VLAN is just plain silly.

The ShoreTel Workgroup Monitor Kicks Butt!

As you can tell from our video library and blogs, we are very excited supporters of the ShoreTel Contact Center!  You can not find a more feature rich or cost effective  solution to call routing, email routing  and web collaboration!    To be fair, however,  ShoreTel has always been ahead of the curve with “call center” like  functionality.    Out of the box, the ShoreTel IPBX has an amazing set of features that can fit just perfectly in the small “call center” model.   It may be easy to define the difference between a “call center” (i.e. phone calls only) and a “contact center” (i.e. voice, email and chat); but it is much harder to differentiate a “workgroup” from a true “call center.     ShoreTel clearly believes there is a definable difference and for that reason has always had an impressive call routing option humbly named the “Workgroup”.    Not the “call center” but the “Workgroup”!   Going way beyond simple  “station hunting”, the ShoreTel “Workgroup” enable scall queuing,  Agent  “log in” / “log out” ,  “wrap codes” and provides a rich set of easy to generate performance reports.

ShoreTel has  recently introduced the “ShoreWare Workgroup Monitor”.   This amazing  software package provides real-time, color-coded, graphical views of the the Workgroup and is an optional feature to the already powerful ShoreTel Workgroup feature set.   Compatible with Version 7.5 and up, this software enhancement enables call center management to both optimize and monitor call center performance.

There are three software components:  an application that is loaded into the Shoreware Director or any of the distributed voice servers;  a client application that is loaded on the Supervisors desktop and any version of the ShoreTel Call Manager.    Key  features of this optional software package enable a Workgroup Supervisor to create a standard workspace display or “canvas”.    This “canvas” could be displayed at the desktop or on a “wall board” and provides many of the real time characteristics of a full blown Call Center solution.   With this software you now have the ability to set color coded threshold displays and audible alerts.    We are particularly excited about the ability not only to see abandonded calls, but to click-to-callback!  (Now admit it! How kool is that)?

Supervisors can drill down on the Workgroup of interest, with an easy <> window arrangement.   You can set the threshold alerts for the selected Workgroup to enable Yellow or Red alerts for Calls in Queue, Maximum Wait time and Average Wait time.   The “at a glance”  window gives you a snap shoot of each Workgroup,  indicating the number of calls with longest and average call holding times.   How about a “trend” analysis?  Yup, we got that!   For those spacial database managers with holistic mind sets, you can replace the rows of linear figures with a color pie chart to see Agent status!

The ShoreTel Workgroup feature set,  built on the f the standard out of the box  ShoreTel IPBX,  when combined with the ShoreTel Workgroup Monitor software option is a powerful call center strategy.    It truly rivals any solution in the market at any price point.     (Full Disclosure: ShoreTel does not pay me a dime to write this blog and ShoreTel does not support this site in any way.    I really do believe this stuff).   Keep in mind, we are talking about a single server solution,  not multiple application servers and five acts of  vaudeville to get this call center functionality.  Just  ShoreTel.  Just simple.

Send me a note  (DrVoIP@DrVoIP.com)  and we will get you set up with a free 30 day trail of the Shoreware  Workgroup Monitor!

How to create ShoreTel AA and ECC audio Files!

You can hardly install a Automated Attendant with out creating the Audio files!    If you have looked at any of our videos on setting up the ShoreTel Enterprise Contact Center, you know that we urge you to create all of your audio files before you start setting up your Contact Center Services!   Making recordings should be easy enough, but ShoreTel wants to have the wav file in a specific format:  CCITT-mulaw, 8Khz, 8bit Mono.  This is easy enough to create with something as simple as the standard Microsoft Sound Recorder, but the default wav format is some other format  and you will need to “save as” clicking on the format change option!

There are actually three other strategies for recording voice prompts in the native ShoreTel format.   Early versions of ShoreTel provided for a “preference” extension, used by the System administrator to indicate which phone would be used for making recordings.  The System Administrator would set a specific phone phone for this purpose and when you pressed the Record button from within the Automated Attendant screen of the Shoreware Director, that phone would ring and you would then make your recording.

The resulting wav file would be stored in the Shoreline Data folder, in the prompts sub folder and it would be in the correct ShoreTel format.   With Version 7 of ShoreTel, the option existed to enable Automated Attendant recordings by logging into the voice mail system, using the Automated Attendant greeting number as the voice mail extension number.   This was an exciting possibility as it allowed recordings to be made remotely and on the fly as required to meet specific emergency or holiday requirements.

Unfortunately, the files that resulted from these two recording techniques had very unfriendly file names.   When managing greetings through the automated attendant, it would be nice to have a wav file with a name that related to the greeting.    As a result the best practice method of enabling ShoreTel recordings is to use your Personal Call Manager!   By creating a recording using your Call Manager, you are able to name the wav file something useful and you are able to export the recording as in the appropriate format.

Over 15K ShoreTel desktops later, people are still asking me how to make an automated attendant recording!   I though I would generate a short tech tip video and demonstrate all three of these techniques!  Enjoy!

ShoreTel PCM 9.1 Microsoft Installation Error

When installing the ShoreTel PCM 9.1 call manager software on a PC that has been upgraded to Windows XP service pack 3, occasionally there is a Microsoft Installer error that prevents the ShoreTel software from being installed. The error is “Error 1720 – A script required for this install to complete could not be run”. The installation will then fail requiring the issue to be corrected and the installer to be ran again. This is caused by an issue with the Window XP service pack 3 install that sometimes will corrupt certain binaries used by the OS. Microsoft recommends a reinstall of the “Microsoft Distributed Transaction Coordinator” to correct the issue. This challenge is usually only noticed in a handful of service pack 3 machines where the corruption is present. http://support.microsoft.com/kb/891801

More on ShoreTel V switches!

When installing a Shoregear switch, one of the parameters that you enable is to indicate which server is to manage this switch!    Normally this is no big deal, but with the V switch, you need to pay attention to this parameter as it will impact your Automated Attendant and Hunt Groups.

Let us assume we have a V switch installed in Dallas, Texas which is in the CST zone.    If this switch is managed by a server in the PST zone, then we need to adjust the schedules.    When using a V switch in another time zone, which would normally not be managed by a local DVM,  the site will need separate schedules applied to hunt groups and auto attendants.   The hunt group schedule will need time expressed in the time zone of the HQ server (example: site is in CST but HQ is in PST, 8-5 CST would then be entered as 6-3 PST on the schedule for hunt groups).   The auto attendant schedule will use the time zone of the application server (the local V switch) so the time can be entered in the local time zone.

The first time you set this up it will undoubtedly bite you!  So be aware of this configuration issue and save yourself a service call from the impacted User Group!

ECC Medical Applications

With all the talk about “health care” you would expect growing demand for  more application integration for this particular industry vertical!  The ShoreTel Enterprise Contact Center can process “dial lists” that enable the system  to make outbound phone calls.   The “dial list” typically gets a list of phone numbers from a MySQL database that can be populated by some other application, like scheduling software.   It would not be out of the realm of possibility for the ShoreTel ECC to be used to confirm appointments or to generate a broadcast message that could be confirmed by a script that captures DTMF responses, including the ability to talk to a live person!

The ShoreTel Enterprise Contact Center, though primarily and inbound call processing solution, can be applied to do outbound campaign dialing.   In addition to the native SQL scripting tools,  the system  can integrate with a wide variety of applications through either OBDC, XML or “triggers” and we have had experience with each of these options.    There is a young man up in the bay area, Houston Neal,  who has been writing a bit about Health Care Applications and you might take a minute to check out his recent article on this subject:  Seven Great Applications for PBX systems in Medial Practice.