Editing ShoreTel System Prompts or WTF is a PHR file?
October 22nd, 2014
"Welcome to the ShoreTel Conferencing" sounds like a commercial announcement and many system owners want it changed! After all they just paid a big whack of money to own a brand new brilliantly simple phone system! Now when they have a client conference, they sound like they transferred the call to an outside third party service!  Though it is a smart move for ShoreTel marketing efforts, it is hardly the image a system owner wants to convey to their clients!  For this reason, we are often asked to change the prompt to something that sounds more like "Welcome to mycompany conferencing". This seems like a reasonable enough request and something that should be easy to implement, right? Yet ShoreTel professional services gets about $600-$1000 for a custom prompt!  Is there a way around this? The fact is, that it is not very easy to modify these prompts at all! Most ShoreTel vendors can't even find the application to play the file let alone edit it as it is not a normal wav file! The file is actually a "phrase" file and is usually found with a .phr file extension.  On the ShoreTel SA-100, for example, you will find this in ftproot directory of the HQ server in the path \Inetpub\ftproot\tsu\phr\UCB. The UCB folder contains all the .phr  files for all the languages supported by the system. When the conference appliance boots up, these files are loaded onto the sever. (For you Unix heads, the appliance is a Linux platform, and you can find the files in the ShoreTel/Lib folder by entering ls -lt *.phr after changing the directory to the ShoreTel/Lib folder).  Remember, if you edit the prompts,  you will have to recreate this change  every time you upgrade the phone system and on all servers that use the conference appliance! In the United States the correct file is the "en-us.phr" file.  If you play this file, you will understand very quickly that this is not going to be easy! The file is actually a "library" and actually contains all the "phrases" used by the system to prompt callers with audio help. The application software has to be able to set  pointers to the correct location in the .PHR phrase file.   This is similar to a format used by Dialogic back in the 80's that set the standard for "indexed play mode" for all telephone applications.  This indicates that a phrase file must contain a unique id for each phrase in the library, so the .PHR file is more than an audio file!  Here is a list of the phrases in the .PHR file: thank you for calling ShoreTel conferencing goodbye a duplicate conference has been detected you will now be transferred a duplicate conference has been detected please try again later or contact the conference host. you will now be disconnected sorry the key sequence entered is invalid The conference has ended goodbye. sorry all resources are busy please try again later or contact the conference administrator ringsound welcome to ShoreTel conferencing, please enter an access code then press pound. sorry that access code is invalid please try again the conference is currently locked, please try again later or contact the conference host you are the only person on this conference please stay on the line the conference host has not joined the conference please stay on the line to turn off the music please press one please wait while your call is connected sorry that access code is invalid good bye at the tone please say your name and then press pound please wait while your call is placed into the conference has joined the conference has left the conference ringsound please enter the conference hosts voice mail password then press pound if you are the conference host then you may enter the host access code followed by pound at any time invalid password please try again or press star to join as a participant this scheduled conference can not be started at this time as it is to early. please start it at its scheduled start time. this scheduled conference can not be started as it is past the scheduled start time. to start or stop recording press pound for this call is being recorded the recording has been stopped the recording can not be stopped because desktop sharing has been enabled the recording can not start because of insufficient disk space the recording can not start at this time to unmute your line press pound one to mute or unmute all lines press pound two your line has been muted your line has been unmuted all lines have been muted all lines have been unmuted the conference has been locked the conference has been unlocked to lock or unlock the conference press pound five to raise or lower your hand press pound six your hand has been raised your hand has been lowered the participant names are not available to list the participant press pound three to return to the conference please press star to join the conference as a participant please press star you have been requested to join a conference please press one to be placed into the conference to end the conference press pound 99 this scheduled conference will end in the next five minutes this scheduled conference is starting the conference has not yet started please wait It is possible to play the file using an editor like Audacity,  which will NOT recognize the file format if you double click it.   To overcome this you must  import the file as "raw data" by setting the file attributes on the import menu.  Set encoding to to ulaw and sampling to 8000 hz.   This will enable you to play the file.   That is the simple part, the trick here is to edit the audio prompts without destroying the index which is used by the application software to know how to pull the correct prompt from the phr file!   That is why professional services gets big bucks to change the prompt and why your average ShoreTel partner will not be able to help you!  Remember ShoreTel is also going to make the voice artist used is the same as the rest of the ShoreTel prompts (though some of the files in the existing en_us.phr file are clearly male voices left over from the development team).   All in all, this is a lot of work for somebody and worth every penny you pay for it!