Log Blog – Debugging ShoreTel Voice Mail with vmail.log
June 5th, 2010
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!