Most Scripting engineers working with Contact Center deployments built on CISCO UCCX, ShoreTel ECC, or Avaya have amassed a collection of script subroutines. These subroutines are used over an over, from script to script to avoid having to recreate them for each new deployment. Most every script needs to check a holiday schedule, check for Service Level parameters and update language options. Why not have your new script call on one of your existing library scripts, a technique used by software engineers since the first line of assembly code was written.
We have always been preoccupied with the concept of a "killer script". A single, reusable script that can reconfigure itself to meet the specific requirements of the call flow required to satisfy a particular contact center application. This concept continues to preoccupy our thinking. Saving deployment resources also reduces deployment costs, implementation, test and turn up time. It also eases long term maintenance and documentation efforts.
DrVoIP has emerged a "root" script that we use as the base line of any new deployment. It contains a number of subflows, prerecorded generic prompts and call handling options that enable us to move a new call center to operational status quickly and with confidence that our code meets requirements, both known and likely to emerge as management experience is gained operating the new setup.
Using a "QueueOptions" XML file we are able to read in options that reconfigure the script each time it is launched. Using DNIS as the variable that indexes the XML filewe can choose custom prompts, determine if a Menu, or IVR needs to be launched or if the caller needs to be routed directly to the agent pool. We can also retrieve the name of the Agent Pool or CSQ, determine what options should be offered callers in queue and provide customize queue messages and even push out custom screen messages to the agent desktop.
The core script is the same for applications, the elements of which, are customized based on the called number. We use a value that determines DIRECT, MENU, IVR, or UTILITY which will call on the necessary subflow to provide the custom call flow. One CSQ might hear a different Menu of self navigation options then another caller might hear based on the number they dialed.
We have even emerged a range of custom numbers that minimize the potential for digit conflict. We set the triggers in our applications, or the numbers that launch the script, to 3009998000-8999 for example. This ten digit number looks like a typical +1 area code and number, but it can not be dialed. As such it is an ideal way to standardize on a script that can be reused without having to worry about changing triggers.
The script can call subflows for options that might not be needed for each caller, but can be initiated if required. For example, holiday checks, call back options, special emergency call center closings. Audio Prompts are numbered to allow prompts to be specified but drawn from sub directories that are identified by the values stored in the XML file, indexed by the number called. Using numbers instead of names also allows us to create a script that can allow a supervisor to re-record a specific prompt at will.
The UCCX version of this script, the generic audio prompt library and the QueueOptions.XML file is available in the subscription video library on the DrVoIP site next to nothing. We have tested and debugged version 1 of this script using Version 8.5 Enhanced license, so I can be easily upgraded. We will update the script with options for schedules, menus, prompt re-recording and interface it to some of our previously released modules.
Save the software! We are now working on a similar concept for ShoreTel ECC. The video walks you through the design concept and illustrates key elements of the core script. Keep the cards and letters coming! - DrVoIP