One of the best features in CUE 3.0 is the Editor Express scripting tool which allows users to create simple auto attendant scripts directly from the CUE GUI. For basic scripts--even to generate a simple script example to be used in the full-blown editor later on--this is the place to start.
The entire premise of the Editor Express is that most customers need something that's really close to CUE's canned auto attendant, but have a few minor changes that they'd like to customize for their own requirements.
The full documentation is here. This guide is to describe the usage of the tool to deploy a simple CUE auto attendant.
Deploying a CUE auto attendant involves three steps:
Creating the script
Recording audio prompts for your script
Creating an application that references the script
Make sure the phone system is set up to route calls to the application
This terminology may seem a bit confusing at first. Let's try to define each piece:
A script is a file with a .aef extension that contains the steps that create a call flow for handling each call. In the Editor Express example, this means a GUI that has a bunch of pre-built items for the user to select; in the case of the full blown editor, each instruction step must be manually entered. For example, the script may simply be to Accept (i.e. answer) the call, play a prompt, and Terminate (hang up).
An application is a configured script with all variables define. It may seem that we're splitting hairs, but for example, let's say in our script that answers, plays a prompt and hangs up we want to have different prompts played depending on what number was called in. Instead of playing a hard-coded "Welcome.wav" file, it may play the WelcomePrompt variable and the allow the application to define what WelcomePrompt is configured with. So there may be a TelemarketersApp application configured with DontCallBack.wav configured for the WelcomePrompt variable.
A trigger or Call-in number is the number that is dialed that invokes a particular application. So when someone dials 1234 the phone system routes the call to CUE which starts the TelemarketersApp application.
We'll see these items in use in the following section.
A prompt is a audio file that CUE plays to callers.
Creating a Script
Getting started with Editor Express is as simple as pointing your browser to the IP address of the CUE module and logging in with an account that has administrative credentials. Once logged in, navigate to the System > Scripts drop-down.
To create a new script, click the New button. We're presented with the first and only screen of customizations for our new auto attendant.
We're presented with two sections, a Settings section and a Call flow section.
Every script generated with the Editor Express will follow a fairly confined path.
The prompt configured as the Welcome prompt is played. This is a very brief introduction, such as "Thank you for calling Cisco Systems". As with all prompts in Editor Express, it can be configured with None, so that it would go straight to the next configured audio prompt or call handling. For instance, if you really just need a menu, then you can configure all of these next prompts as None and only use a single Main Menu Prompt.
If the Play alternate (emergency) greeting, if active checkbox is checked then it is played. To learn more about this, see Emergency Alternate Greeting in the CUE documentation. In a nutshell, this allows an admin to call in and record a snow day or some sort of emergency message which would be played at this point. You don't specify a prompt name yourself; it is created and removed as someone calls in to the Administration Via Telephone (AVT) system in CUE and enables/disables this feature.
Depending on CUE's configured holidays (under System > Holiday Settings), the configured Holiday prompt audio file is played.
If it is not a configured holiday (i.e. the Holiday prompt did not play), then depending on the configured Business schedule (under System > Business Hours Settings), which define a time period when a business is considered open or closed, the appropriate Business open prompt or Business closed prompt is played.
Regardless of which prompt (holiday, business open, or business closed) was played the next prompt to be played is the Main Menu Prompt. This is the prompt that should explain what the menu options are. For instance, "for sales press 1, for support press 2, etc".
At this point, the caller can make a choice which may present more audio prompts, but for now, let's assume they press nothing. The Main Menu Prompt (not all the prompts) will repeat 3 times and then the configured Good bye prompt is played.
Note: To make this configuration process easier the best idea is to start recording prompts before even writing the script. Since you now know what they prompts are used for and the order in which they're played, it should be pretty clear what needs to be done. The best way to record the prompts is to use the Administration via Telephone (AVT) feature in CUE. This allows you to call into the system and record an audio prompt. Although it will get a non-intuitive name (basically it will contain the time stamp in the file name of when it was recorded), the file can be downloaded and re-uploaded. While a bit cumbersome, it eliminates any sort of issues with recording formats, codecs, etc.
As mentioned, these prompts are always played out in exactly the same order. Except for making them play no audio, the sequence cannot be changed with the Editor Express feature. What can be changed and customized is the actions under the Main Menu.
To add an entry under the Main Menu, simply press the Add action>> button, press a digit(0-9, * or #) and select an action for that key, which can be either to Play a prompt, dial-by-name, dial-by-extension, transfer to extension, transfer to mailbox number, sub-menu, or disconnect the call. Let's look at these individually.
Play a prompt - This allows you to play a prompt, say for directions to the business, or a prompt that contains the staff directory, etc. After the prompt is played, one can either disconnect the call, or repeat the Main Menu again.
Dial by name - Implements a dial-by-name search function that can be either last-name-first or first-name first. This will result in the call being transferred to the user or, if something goes wrong, the Main Menu will be repeated or in some cases the dial-by-name menu. Note that the dial-by-name audio is still the system audio prompts and cannot be customized with Editor Express.
Dial by extension - allows the caller to enter in digits to dial. Note that the system will use the default system prompts to tell the user to enter the desired party's extension followed by the # sign. This parameter is completely independent of the "Allow Dial-by-extension any time during the main menu" check box in the Settings section. You could even have both if you like.
The Transfer to Extension does just that. This is completely unaffected by the Allow external transfers parameter in theSettings section. If the transfer fails, the Main Menu will be repeated (assuming the call is one which has not been completely handed off to the phone system, as with the SIP BYE/Also transfer mechanism, for example).
Transfer to mailbox number sends the caller straight to a voicemail user's greeting. Note that at time of configuring the script with Editor Express, there's no check done to make sure that mailbox actually exists, so special care should be taken to make sure an error here doesn't occur and the caller is suddenly transferred to a prompt that says the mailbox with that extension does not exist.
The Sub Menu setting allows you to create another menu layer. It can have its own prompt and a whole new set of the above-mentioned settings.
About the Settings section We've discussed the Allow Dial-by-extension at any time during the main menu option a bit earlier. It really allows the caller to start dialing an extension they know any time, right when the call is answered. This is probably the single most requested feature for an auto attendant. Once selected, two other options become available. First, Menu options overlap with extenion dial-plan.
Let's say your voicemail system's extensions start with 1 (e.g. 1000-1999) but you really want your auto attendant to say 'for hardware, press 1'. With this option unselected, when you press 1, it'll immediately transfer you to the 'hardware' department. If you check this box, then after pressing 1, it will wait a bit for some additional digits to see if you didn't really want to dial a particular extension. The disadvantage, is that now every call has to wait a bit since we can't be sure if you're trying to dial an extension or you really want the "1" option in the menu. The Extension length should be set to the number of digits in the dialplan. If your extensions are in the 1000-1999 range, then set it to 4. After 4 digits, CUE will immediately attempt to transfer the call. In Editor Express, you cannot set a termination digits (such as #) so that the caller can press # or just wait for the number of digits. It will always expect to collect the number of digits configured in the Extension length setting.
Regardless of whether dial by extension is implemented by using a menu option or using the any time during the main menu checkbox, by default the only numbers that can be called are ones configured and assigned to voicemail boxes in the CUE system, not random numbers that may even be external to the phone system itself. With the Allow external transfers checkbox set in the Settings section, the system will attempt to transfer the call to any number entered. This should be used with extreme caution, since it could potentially be exploited for toll fraud if the phone system allows calls to external numbers from CUE. Especially when dial-by-extension is implemented as a menu option, the Extension length setting does not apply, any string of numbers (up to 30 digits) could be entered and the transfer attempted.
Once all the configuration options have been made and prompts assigned, the script can be saved by pressing the Save button. When the Close button is pressed, the web page will refresh with the scripts listing. You'll see an Edit button next to the script name which will allow you to go back in and make any changes, such as selecting a different prompt or something.
So let's look at a sample configured script.
This script will play the MyWelcome.wav file, then depending on the day (whether or not it's a holiday) and the time of day, either ThanksgivingMsg.wav, BizHours.wav, or AfterHours.wav. Next, MyMenu.wav will be played. It should sound something like "If you know your party's extension you may dial it at any time. For store hours, press 1. For directions, press 2. For a company directory press 3. To reach the operator, press 0." If a caller presses 3, then the CompanyDirectory.wav file is played. This isn't meant to be a comprehensive directory listing. Those typically take too long to read through even in a small office. It simply has "For Jill in sales press 1, for John in service press 2, to leave a message for the field tech press 3; if you would like to look up you party's name press 9."
Now that the script itself has been created, we can create the application that references the script. From the CUE GUI, we select Voicemail > Auto Attendant and press the Add button.
The first thing to do is to give the new application a name, such as CompanyAA. The Call-in Number will be the number that a user calls to reach this auto attendant. In the drop-down next to the Script parameter we need to select the .aef file we created earlier as part of the script creation. This may change what is displayed below the parameter.
For scripts created with the Editor Express, that's usually it. There are no configurable script parameters because we configured all extensions and variables right into the script file itself.
To save, press the Add button.
Setting up the phone system
In the earlier application configuration we configured call-in number. This number must be configured on the phone system (CME or CUCM) so that a call placed to this number is routed to CUE. For Cisco CallManager Express, this means a dial-peer must be configured in the router:
dial-peer voice 101 voip destination-pattern 1000 session protocol sipv2 session target ipv4:22.214.171.124 codec g711ulaw no vad !
The 126.96.36.199 is the IP address of the CUE module.
For Cisco Unified CallManager deployments, a Route Pattern must be configured. This Route pattern must have this number configured as a directory number and then associated with the JTAPI user that CUE uses. For Survivable Remote Site Telephony (SRST), the SRST router must also have a SIP dial-peer, exactly the same as in pure CME environments, so that the calls can be handled when the CUCM is unavailable. When configuring the application as shown above, if a CCM license is installed on the system, then adding a call-in number on the application will add a call-in number for both SIP and JTAPI, so that calls will be serviced regardless if they come in via SIP (for SRST and/or CME) or JTAPI (CallManager). To see these call-in numbers by themselves, the System > Call-in Numbers menu can be viewed.
Beyond the Basics
The Editor Express feature provides a nice way to get a script for something that will meet the needs of most basic auto attendant requirements. When using Editor Express as a starting point it's important to remember that although the scripts created with Editor Express can be downloaded, openend, and edited with the regular CUE Script Editor application, once re-uploaded, they can no longer be opened or edited with the Editor Express web-based tool. The Edit button that normally appears next to the file name will no longer be present.