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!

Skills Based Routing in the ShoreTel Enterprise Contact Center!

Assuming there is more than one Agent available to service an inbound contact center call, a “skill” level can be applied to route the call to the most suitable agent.   It is important to note that the system will only use this criteria if there is more than one Agent to choose from.  If there is only one Agent available to service the call, the call is routed to that Agent regardless of Skill Set.   Skills are defined in the system to have a value and a preference.   Skills can be assigned to IRN’s for example, in which we want to set a minimum skill level for calls that arrive through this portal.  Skills are also assigned to Agent along with a preference value.

For example you may have a contact center in which you want calls routed to Agents with different technical skills in desktop computers.  You have two skills defined in the system: Mac and Windows and you want calls routed to the most suitable agent based on a minimum skill level or proficiency for each type of desktop computer.  An Agent might have a very high value for MAC and  a lower Value for Windows.   You would want a call from a Windows to prefer and Agent with a high value Window skill, over an Agent with a high value for a MAC skills.

For each skill defined in the system, the system subtracts the product of the Skill value and the preference of the Agent for this skill from the Skill Value required by the Call.   For example assume that a call requires a call requires a skill named WINDOWS with a value of 75%.  Agent A has a 50% skill value and 1–% skill preference.  Agent B has a 75% skill value and a 75% skill preference.  The system calculates it as follows:

Agent A = 75 – 50*100/100 = 25

Agent B = 75-75*75/100 = 18.75

So the call will be routed to the Agent B!  Remember that you assign a skill level requirement to a call and a skill value and preference to an Agent!  The following film clip walks you  through setting up these parameters.   The Contact Center provides for Call Select and Agent Select.  As an Agent and a member of two or more groups, if a call comes in to all groups you are a member of, Call Slection Strategy defines which call you will get first!   The last step in Skill based routing is to set a Primary Call Selection Strategy based on “the best skill fit”.

This is a silent film clip to help you understand how to set this up in the ShoreTel Enterprise Contact Center!

Creating a “Personal Workgroup” to help answer your phone!

One of the great attributes of a Personal Call Manager, is the multiple call appearance functionality.   When you have an active phone call  you  can actually see a new call ring in, on your screen.  I like to think of this as “priority call management”.  Given that I know the value of the call I am on, when I see the Caller ID of the new call, I can make a real time decision about putting my current call on hold to take the new call.   Sometimes, however, this is just not possible without offending someone!  What I really want to do, is let the person ringing in, know that I am aware they are there and I will be right with them as soon as I finish the call I am on.  What combination of ShoreTel features will let me do that?

I created a new Personal Workgroup and put myself in the Workgroup as the only “agent”.   I also used the administrative interface to declare myself “always logged in”.  In this way I do not need an Agent Call Manager, nor do I have  to “log in” and Log out” of the Workgroup and I save the cost of a Workgroup Agent License!   I then recorded a Workgroup Queue Message: “Hi! I see you ringing into my desktop and I just wanted you to know I will be with you in just a minute as I am wrapping up this current call”.     To fully appreciate how this works, you have to understand one of the underlying principles of a ShoreTel Workgroup!   If you are a member of Workgroup, that Workgroup will only present one call at a time.   If you are on a Workgroup call, the Workgroup will queue the caller until an Agent becomes available.

Now when I am on the phone and I see a new phone call ring in that I really want  but can not just put my current call on hold,  I can still answer the new call!   First, as the new call rings in, I right click the new call appearance with my mouse and, while still stalking to the original caller, I  Transfer the call to the extension number of my Personal WorkGroup.  The ShoreTel Workgroup, sees that I am already on the phone and queues the caller.   The caller then hears my Queue message “ please wait and I will be right with you”, followed by music on hold.  When I wrap up my current call, the ShoreTel Workgroup sees me available and takes the caller off hold and routes them directly to my extension.  This is very effective tool for managing a busy desktop and it is also easy to implement!

ShoreTel Version 10+ “Find Me/ Follow Me” Enhancements!

Mobility and Office Extensibility continue to be “must have” feature sets for success in todays hyper competitve market place.   Nobody seems to care if it is after business hours in your time zone.  When a client wants you, they want you now and if you can’t be found, they will find someone else!  ShoreTel has had a range of features to address this requirement since the early on releases.  Features like “Office Anywhere” and “External Assignment” have been the minimum daily adult requirement for ShoreTel mobility from the very early releases and they continue today and they continue with Version 10.   ShoreTel has refined the “find me” functionality in this latest release to include a number of new capabilities including “call screening” and the ability to route a call before the caller hears your Voice Mail greeting!
There is an ever increasing group of knowedge workers and professional staff that spend very little time sitting at a specific desk location.    Sales and IT professionals, for example,  are always on the move and away from their desk.   With ShoreTel 10 we can now route the caller to your “find me” locations before the caller hears a greeting.  Depending on your selected call handling mode, you can route an incoming call directly to your cell phone, with full call screening.  This is not a simple call fowarding feature, it is an intelligent process of routing calls and enabling the recipent to determine the priority of the call and then accept or reject the caller.  If the caller is rejected, they then hear your Voice Mail greeting.  (Make sure you don’t invite them to press 1 to activate “find me” as they have already gone down that path)!
Generally, you would set up your “find me follow me” locations as part of your basic Call Manager setup.    You then associate that process with one of your calling handling modes.  I for one, do not want people hitting “find me” when I am in the office and in my Standard call handlign mode.  When I am out of the office, I might want to offer the caller this option, so I associte this process with that call handling mode.   What about the professional who is never at their desk?  Version 10 has a key new option in the “find me” setup: “enable Find me for incoming calls before playing my greeting”.   Additonally you can elect to send the caller CID and even “Enable Callers Name for find me”.
This last option cause the system to prompt ” the person you are calling requests your name”.   The system records what the caller mutters and then follows the “find me” instructions to locate you at one or two locations.   When your cell phone rings you will hear “this is the ShoreTel Voice Messaging system with a call from”, at which time we will insert the recorded mutterings of the caller for your edification.   Press 1 to accept, 2 to reject or 3 to repeat the caller ID.  If you did not elect this option which many might consider obnoxious and rude, the system will speak the numeric caller ID phoen number unless it is another ShoreTel user from within your system.  In this last case, you would hear the ShoreTel play the record name of that users mailbox.
This is only one of the mobility solutions that ShoreTel offers.   Other features including Mobile Call Manager and External Assignment also prove to be powerful options to keep you intouch and availalbe, regardless of your geographic location.    The following film clip walks you through the process of setting up “find me follow me”.   Enjoy!
Mobility and Office Extensibility continue to be “must have” feature sets for success in todays hyper competitve market place.   Nobody seems to care if it is after business hours in your time zone.  When a client wants you, they want you now and if you can’t be found, they will find someone else!  ShoreTel has had a range of features to address this requirement since the early on releases.  Features like “Office Anywhere” and “External Assignment” have been the minimum daily adult requirement for ShoreTel mobility from the very early releases and they continue today and they continue with Version 10.   ShoreTel has refined the “find me” functionality in this latest release to include a number of new capabilities including “call screening” and the ability to route a call before the caller hears your Voice Mail greeting!
There is an ever increasing group of knowedge workers and professional staff that spend very little time sitting at a specific desk location.    Sales and IT professionals, for example,  are always on the move and away from their desk.   With ShoreTel 10 we can now route the caller to your “find me” locations before the caller hears a greeting.  Depending on your selected call handling mode, you can route an incoming call directly to your cell phone, with full call screening.  This is not a simple call fowarding feature, it is an intelligent process of routing calls and enabling the recipent to determine the priority of the call and then accept or reject the caller.  If the caller is rejected, they then hear your Voice Mail greeting.  (Make sure you don’t invite them to press 1 to activate “find me” as they have already gone down that path)!
Generally, you would set up your “find me follow me” locations as part of your basic Call Manager setup.    You then associate that process with one of your calling handling modes.  I for one, do not want people hitting “find me” when I am in the office and in my Standard call handlign mode.  When I am out of the office, I might want to offer the caller this option, so I associte this process with that call handling mode.   What about the professional who is never at their desk?  Version 10 has a key new option in the “find me” setup: “enable Find me for incoming calls before playing my greeting”.   Additonally you can elect to send the caller CID and even “Enable Callers Name for find me”.
This last option cause the system to prompt ” the person you are calling requests your name”.   The system records what the caller mutters and then follows the “find me” instructions to locate you at one or two locations.   When your cell phone rings you will hear “this is the ShoreTel Voice Messaging system with a call from”, at which time we will insert the recorded mutterings of the caller for your edification.   Press 1 to accept, 2 to reject or 3 to repeat the caller ID.  If you did not elect this option which many might consider obnoxious and rude, the system will speak the numeric caller ID phoen number unless it is another ShoreTel user from within your system.  In this last case, you would hear the ShoreTel play the record name of that users mailbox.
This is only one of the mobility solutions that ShoreTel offers.   Other features including Mobile Call Manager and External Assignment also prove to be powerful options to keep you intouch and availalbe, regardless of your geographic location.    The following film clip walks you through the process of setting up “find me follow me”.  It is part of a four part series on setting up Call Handling Modes.    Enjoy and email your comments and questions to DrVoIP!

ShoreTel Compatible Audio Conference Bridge on a Plug Server?

The Sheevaplug computer is an amazing appliance!  Think of the applications you could create on this 3 watt PC often confused as a wall transformer  by the uninitiated.   In fact I have a bunch of “wall warts” under foot  for a variety of electronic devices on my desk that need stepped down AC power and the Sheevaplug server is smaller than any of them!    A  Plug Computer is designed to draw so little power that it can be left on all the time.  Unlike other embedded devices, it contains a gigahertz- class processor designed to offer PC- class performance, Ethernet interface, USB port and a SD Flash Card.  OMG! Geek Heaven!

As a technical support organization,  we needed a network monitoring tool to help us diagnose WAN QOS issues for our ShoreTel and CISCO VoIP clients.  How do you get an appliance on a clients network that can connect to the mother ship, capture network performance statistics and be left on all the time with no large power consumption?  We also needed something that was “plug and play” and dirt cheap as we give them to our ShoreTel multi-site clients who are under contract as part of our normal support service!   With this little plug computer  we can put a full network monitoring appliance on the network and try to stay ahead of the QOS issues that result from bandwidth, latency and jitter fluctuations.

With the network monitoring solution solved,  we started looking for other useful VoIP applications we might stuff into this plug computer.     Sometime back we created a fully featured audio conference server in software.  The goal was to make it possible for clients to create multi  party fully managed, audio conferences without having to spend tens of thousands of dollars.   Thanks to SIP we were able to do just that and the results were exceptional.  (Click here for full specifications  http://www.siplistic.com/tutorials/setup-users-and-standing-conferences .   The marketing challenge was  the fact that the server hardware and OS cost more than the application software!

So that became the next project to take over in our wonderful world of VoIP!   We have now achieved what would have been unthinkable only a year ago!  We can now provide the same audio conference solution including the hardware at the same price we charged for the application software!  Thanks to the wonderful engineers at Marvel  we have been able to realize a fully feature, SIP based audio conference server on an appliance that draws less than 3 watts of power!  How green can you get?  Now the problem is how to keep people from stepping on it!

marvell_sheevaplug_computer2

I know it is crazy to get excited about a hunk of hardware, but next to my iPad this is a must have and I have a long list of applications that would make the world of VoIP more exciting!  How about a turn key telephone system for a remote office that cost less than an SG30 and interfaces to ShoreTel and CISCO as a SIP tie line?  Let me know your thoughts!

NOTE – March 2012-  We have had so much demand for this product that we now offer it as a SKU through our product company, http://www.Siplistic.com !  We can ship you a turn-key Audio Conference Appliance for $1995 including the Server Hardware.  Answer a few configuration questions, and you will have a 24-94 port appliance with web interface administration as fast as Fedex!  Price includes remote configuration and installation on ShoreTel, CISCO, Microsoft or Asterisk!  – DrVoIP!

Log Blog – Debugging ShoreTel Voice Mail with vmail.log

We should probably do several blogs on logs!   Logs to an engineer are like finger prints to a cop!   Both professionals need to play “detective” and gather all the hints they can in an exhaustive effort to figure out what went wrong!   Logs always have interesting information, written cryptic ally but useful none the less.  Recently we had to solve the case of the “missing message notification” and that sent us deep into Vmlogs.   The problem statement was that a message left in a voice mailbox was suppose to notify a cell phone when the message was marked urgent.  The client reported that this was not happening .  So how do you go about debugging this issue?

 ShoreTel gathers log information and stores them in a specific data folder.  The logs folder is contained in the X:\Shoreline Data folder on both your ShoreTel HQ server and your Distributed Voice Mail Servers.  This folder is a critical component in any disaster recovery plan as it contains all the information you need to recreate your system.  For example, you system automated attendant prompts are located here, so make sure you back this folder up along with the configuration database.   The Log folder contains a number of logs that can be used to trouble shoot ShoreTel system issues and you should become familiar with them.  For purposes of this blog, we are going to focus on the vmail logs.  These logs are created for a 24 hour period and are time date stamped accordingly.  You will find this folder and its parent folders, exist on each ShoreTel server.

 Poking around in the Shoreline Data folder is instructive.   These is a sub folder named VMS.  This folder contains several other folders that effectively define the Voice Mail structure of the system, or at least of the Voice Mail boxes that live on that server.  In the folder marked ShoreTel, you will find a folder for each voice mailbox on that server, named for the extension number.  Inside that folder will be the data pointer and the wav files for the mailbox name and the various call handling mode greetings.   The actual voice mail messages, however, are contained in one massive folder named Messages, also in the VMS folder.   The Message folder contains all of the voice mail messages saved as wav files with cryptic file names.   Moving through the vmail logs, not only can you associate the messages with a specific mailbox,  you can generally get the password to that mailbox as it is saved in clear text.

The vmail log is verbose and very English like in is format.   It does not take much time to get comfortable with the interpretation of this log.   Generally, when reviewing any log, you have some basic information about what you are looking for.  Often you will have a GUID or an extension number that when coupled with time can help you search the log for a specific call.   In this log we can see the incoming call answered by the voice mailbox and the caller Id captured for call back and email notification.   We can see the various key strokes that the caller entered and we can also capture the name of the WAV file that ShoreTel will write out to the Message folder.

 If any of the out dial features are activated, you can see the perform in the mail log, including  the number dialed and any digits captured by the system when the caller answers.   Generally, all of the activities associated with this phone call are recorded to this log.  Working between the log and the VMS Folder you can locate messages for a particular user.  In this example we were able to trace the incoming caller ID through to a mailbox, watch the caller interact with the mailbox by generating DTMF digits and then mark the message urgent.  The logs continue to demonstrate that the system then set up an external call to a remote phone, played the ShoreTel voice mail notification greeting, collected the acceptance of the voice mail and the user password.  The system then marks the message heard and moves it to the delete message queue.  

 All in a days work for a log file!  If you have to debug ShoreTel, Logs are your new best friend!  

ShoreTel ECC – the powerful “change call profile” scripting tool!

Call Profiles can be of two varieties in the ShoreTel Enterprise Contact Center. They are either System Mandatory or User definable. ( Actually, to be absolutely correct, we need to acknowledge that “Skill Sets” are another type of call profile, but we are including them as User definable). The system assigns a number of Call Profile parameters automatically as the call moves through the system. These profiles are variables that change with each phone call. Examples of system call profiles would be Priority, DNIS, Call Type, Agent Extension and Average Queue Time. User Definable Call Profiles are parameters that you define to enable values required to implement your specific application. If your application, for example, plays a prompt to the caller that asks the caller to enter their account number, this information needs to be saved for follow on processing. As the caller enters their account number, the digits are saved to a User defined call profile that might be named “account code”. This profile variable can be interrogated , tested and used to further define call routing.

Lets assume that the account code that is entered by the caller is used to determine if that caller requires Platinum, Gold or Silver routing. You might assign Platinum callers a higher initial “priority”, a System mandatory Call Profile, than you might assign a Silver client. Given that an Agent is eligible to receive one of many calls awaiting service you might want to set the call select strategy at to be “by priority” rather than by “longest wait” or “best skill fit”. With this option you would manipulate the Priority Call Profile to set the Platinum caller with a higher value. You might also want to change the service that that call is routed to based on the account code. The question becomes, however, how do you manipulate the Call Profile? What tools area available to do this manipulation and what other tools might work in harmony with this capability?

In the ECC Scripting tool there is a remarkable scripting Icon named “Change Call Profile”. This icon can easily become the most powerful tool in your implementation scripting arsenal! When used in conjunction with a other icons like the “logic menu” or SQL dip kit, you can solve some really amazing application requirements. The video for this blog, uses a SQL data dip to look up and account code, entered by the caller, to determine how to route the call. Once this decision is made, the Change Profile icon is used to steer the call to the appropriate service, and send along other application specific call profile parameters. We use the Account Code to index a SQL database and return the “status” (e.g. Platinum or not) and the “route” we want the call to follow. The Route information is used to index a Logic map to find a specific Agent or Group that is assigned to handle that particular client account. The video also illustrates the use of the “branch to  script” icon to further manipulate the call parameters. I often use the ” Change Call Profile” icon to flip the automated attendant scripts from on hours to off hours when implementing that function within the ShoreTel ECC. Individually, these capable scripting icons are very powerful call handling manipulators. Taken as a suite of scripting tools I have not yet found an application that we could not implement in the ShoreTel ECC!

ShoreTel Database Replication and Manipulation of MAXDBQUERIES!

It really doesn’t matter what VoIP system you installed they all generally have one architectural characteristic in common; the configuration database.  Depending on the system, you might find a database engine that ranges in complexity from an Access Database to a full blown SQL database.  The database will store configuration information, status information and often, call detail records that document phone system activities.   The characteristic of the database that is consistent across all architectures is the fact that there can only be one “read/write” copy of that database!

Some phone systems distribute the database across multiple servers.  ShoreTel, for example, distributes components of the database to application servers and distributed voice mail servers that characterize the single image architecture in a multi-site environment.   We need to better how a change to the database effects the operation of the system, the bandwidth of the WAN links and the demand on the database engine.  First, what constitutes a change to the database?   Well clearly any configuration change that is made to the system.  For example, adding or deleting a User are clearly going to cause a database update!  Lets take a more subtle example, however. Lets consider what happens to a Agent in a Workgroup, located at a remote site, behind a distributed voice mail server.  Each change that Agent makes on their Call Manager represents a database change.   Logging into the system, and Logging out of the system are database changes.  How about, accepting a call being offered to the Agent by a Workgroup?

Each of these Changes is communicated to the database.  The change is first made on the “read/write” database and then replicated to the remote database copy.   ShoreTel system processes use MS Distributed Component Object Model (DCOM) objects to share information from the configuration database among themselves and to write configuration  information to the database.  User configuration options are written to the database from Personal Call Manager, and the telephone interface.  Each ShoreTel service on a distributed server caches it own copy of the configuration database.  When a distributed server loses connection to the HQ server (read “read/write” database) any changes made are no longer received by the distributed server.   If a DVM restarts without a connection the HQ database, services are started but are not functional.  When the network connection is restored, the configuration is retrieved and again cached by each service as the services become functional.

If there is a flap in the WAN we note that the DVM will in fact reload a copy of the database.  This movement of the database between the HQ server and the DVM servers clearly uses bandwidth and also makes additional demands on the database engine.   In ShoreTel the database engine, is now MySQL.   The question becomes how many simultaneous database access (read, modify, write) transactions can the MySQL server handle at one time?  What happens if the transaction can not be completed?  Does it queue and retry?   In a large system of say 700 workgroup agents at a site, is it possible to overload the MySQL database with state change requests?   If you dig down through the Server registry you will find the MAXDBQUERIES is set by default to 100.  It has been our experience that, defending on the size of the system, it is sometimes necessary to dial this number back to eliminate overloading the database.   This adjustment should be made only on the DVM’s in the configuration and not on the HQ server.   You will need to reboot your DVM servers after making this change.  You should also note the difference between HEX and Decimal!

The following SILENT file clip demonstrates how to make this adjustment.

ShoreTel Enhanced Workgroup Services!

Historically, there were three services in the ShoreTel architecture that were no distributed to other servers.   To oversimplify, this meant that if the HQ server (read primary server) was unavailable, the services that were not distributed would not function.  The three services were Route Points, Account Codes, and Workgroups.   For example, if a user group was set to “forced” account code verification and the server was unavailable, that service would fail and the affected user would not be able to place a call.   Likewise, if the HQ server were unavailable, Workgroup services would fail.  ( The “best practice’ deployment strategy was to backup a Workgroup with a “hunt group” given that the HG ran on a switch and not a server, it would continue to function in this scenario.  Calls targeting agents in a Workgroup would fail over to a hunt group that would target the same list of agents).

ShoreTel has steadily progressed the distribution of these services out from the HQ server to either SG switches or  Distributed servers.  With the latest release of ShoreTel,  they have migrated critical services to include Workgroup services.   This is a major enhancement and any organization that makes use of the Workgroup functionality, especially in a multi-site environment,  will realize a  benefit by these enhancements.

Through the ShoreTel administration portal, we now find a drop down window that enables us to select which server should be utilized to run the Workgroup we are defining.   For example, in a multi-site environment, I might want to have the Workgroups organized by Site and run the workgroup service on the DVM at that site.   This would keep the Workgroup local and a failure of the HQ server would not dramatically affect the workgroup at the remote site.   We note that, in the absence of the HQ server, we are still unable to make database changes.  For example, Logging In/Out of a Workgroup would not be possible, but the remote Workgroup would still function.

Additionally, we note that you can continue to name a Hunt Group as a backup extension.   The key difference here is that the Hunt Group can contain extensions that are Workgroups on other servers!   This offers a degree of flexibility not previously available and is a viable alternative to a straight Hunt Group solution.   A failure of the HQ server will only effect the Workgroups that are on that server and distributed Workgroups on other servers will continue to run.  A failure of a DVM with an operating Workgroup can fail to a Hunt Group that can be used to route calls to other Workgroups.

The vocabulary might be a bit confusing, but the strategy represents a significant step forward in assuring the operation of a distributed call processing application as powerful as ShoreTel Workgroups!

WorkgroupScreen

ShoreTel CDR Format- How to find the International Calls!

Recently, while working with a third party Call Accounting vendor, we had an opportunity to revisit ShoreTel CDR records.  ShoreTel stores CDR records in two locations for two different purposes.  Historically, the first format is basically the “Legacy CDR Text Files” and they are stored in the Shoreline Data folder as log files.  The log files are written to \Shoreline Data\Call Records 2 and are written out at Midnight to a file named CDR-YYMMDD.HHMMSS.log.   This is the file that is generally accessed by third party Call Accounting software vendors.

The second format is written to a MySQL database which is used to generate call accounting reports directly from the ShoreTel server.  In version 7 ShoreTel began to migrate away from Microsoft Access to MySQL for both the CDR and the configuration database.   There is a procedure for converting the older files into the new MySQL format, but we are not going to cover that as most people have already made this transition.      The MySQL database also opens the opportunity to create custom reports using SQL queries.  Through the ShorewareDirector portal, under Reporting options, you can set the Retention Period for CDR Data as well as the Archive retention period.

CDR Options in ShorewareDirector Portal

If your third party Call Accounting software uses the 011 to detect an international CDR record, you will need to make some adjustments.  ShoreTel uses a Canonical format to collect digits.  This means that no matter what the user actually dials on the phones keypad, the system internally converts the numbers to +country-code area-code subscriber –number.   The fact that you dialed 9+011+52+3654587 will be stored in the ShoreTel CDR log file as 9+523654587 and the 011 reference will not be in the record.  The following silent film clip walks you through the format and content of the CDR.log files.