Chapter 4: Auto-Attendant Design Considerations
Cisco Unity Express offers auto-attendant (AA) and voice-mail applications. You can choose to use one or both together. Cisco Unity Express is designed to have both applications work together. The AA functionality in Cisco Unity Express is not licensed separately, so all Cisco Unity Express installations have this functionality by default.
Sections in this chapter address the following topics:
•Routing PSTN Calls to the AA
•AA or Receptionist
•Distributed and Centralized AA
•Cisco Unity Express Time-of-Day Routing
•Additional AA Topics
Routing PSTN Calls to the AA
The decision on call routing for PSTN calls is partially dependent on what PSTN service you get from your carrier, as well as what trunk types you use. Option include the following:
•Direct inward dial (DID) Service— Employees (some or all) have individual PSTN phone numbers, and typically these calls would be automatically switched to the person's extension. Non-DID calls would typically go to the AA or a receptionist.
•PSTN lines—You can have one or more PSTN numbers for your business (but these are not associated with particular employees; you just have three or four general lines from the PSTN). When the call comes in, you know which PSTN number was dialed, either because the dialed number from the PSTN was delivered with the call (and this depends on trunk type), or the number is not delivered, but you can derive that information from which port the call came in on, such as line 1 on port 1/0/0 is yyy-1212 and line 2 on port 1/0/1 is yyy-1212.
DID calls typically terminate directly on the employee's extension, although there is nothing that stops them from terminating into AA if you should want to do so.
General PSTN lines—where the dialed number is either not available (FXO trunks) or is meaningless—are typically terminated at the receptionist or AA. If the number is available and meaningful (for instance, yyy.1212 is the main business number and yyy.1213 is for employees to retrieve voice mail from home or while traveling), then calls can be automatically routed to the appropriate destination.
Topics addressed in this section include the following:
•Trunk Types and DNIS
•Call Agent Routing Decisions
•Digit Manipulation of the Pilot Number
Trunk Types and DNIS
All PSTN trunk types provide dialed-number information (DNIS), except Foreign Exchange Office (FXO). On trunk types that provide DNIS, you can optionally have DID service. Therefore you can route calls based on the number that was delivered by the PSTN (DNIS)—except for FXO. With FXO, you must apply specific configuration changes to route calls because there is no dialed number delivered by the PSTN.
Call Agent Routing Decisions
Call routing decisions based on PSTN numbers are done by the call agent you deploy with Cisco Unity Express. This section summaries considerations for Cisco CME and Cisco CallManager.
With Cisco CME, call routing is done on the router using the Cisco IOS dial-peer feature. With this implementation, you have the router can perform digit manipulation and use features like private line automatic ringdown (PLAR) to direct PSTN calls to destinations, such as the AA pilot number. If you have FXO trunks, use a PLAR configuration to autoterminate PSTN calls onto the AA (3100 is the AA pilot number). The following example illustrates the PLAR configuration:
The digits delivered by the PSTN are passed on to Cisco CallManager's dial plan, and routing decisions are implemented there. Under normal operation, PSTN calls are routed to Cisco CallManager, and Cisco CallManager redirects the call to the appropriate destination. You can route PSTN calls to Cisco CallManager by using H.323, SIP, or MGCP, and this configuration must be present on the router. For FXO ports, the same PLAR statement given in the preceding example can be used to direct the PSTN calls to the H.323 or the SIP dial-peer pointing to Cisco CallManager.
If Cisco SRST is configured for the site served by the Cisco Unity Express AA, additional configuration is necessary to route PSTN calls during SRST operation (when Cisco CallManager is out of contact). This configuration is similar to the Cisco CME configuration (a SIP dial-peer routes calls into Cisco Unity Express). If Cisco CallManager uses H.323 or SIP to control PSTN calls, ensure that the SIP dial-peer to Cisco Unity Express is of a lower preference than the Cisco CallManager dial-peers, such that this fallback dial-peer is only selected when Cisco CallManager (the primary dial-peer) is unavailable.
Digit Manipulation of the Pilot Number
The PSTN number called to reach your business is most likely a longer number than the extension associated with the Cisco Unity Express pilot number. For example, your PSTN number might be xxx.yyy.3100 and the AA pilot number is defined as 3100. When the full number xxx.yyy.3100 is delivered to the Cisco Unity Express AA, the number is not recognized and the call is not accepted because the dialed number does not match the configured pilot number (the call hears overflow tone).
There are two ways to configure your system to route calls to two or more numbers to the Cisco Unity Express AA:
•The call agent can do the appropriate digit manipulation and deliver only a fixed number of digits to Cisco Unity Express.
•You can associate multiple pilot numbers with the Cisco Unity Express AA (this is further described in the "Single or Multiple AA Pilot Numbers" section.
The following example shows a Cisco CME configuration where the call agent (Cisco CME router) translates the PSTN number xxx.yyy.3100 to extension 3100 before delivering it to Cisco Unity Express. In this configuration, Cisco Unity Express has only a single pilot number (extension 3100) associated with the AA. A similar function can be done by translating numbers on Cisco CallManager before the number is delivered to Cisco Unity Express.
voice translation-rule 10
rule 1 /xxxyyy3100/ /3100/
rule 2 /xxxyyy3105/ /3105/
rule 3 /xxxyyy3106/ /3106/
voice translation-profile to_cue
dial-peer voice 3101 voip
translation-profile outgoing to_cue
session target ipv4:a.3.229.128
The following example depicts an alternative configuration where the call agent (Cisco CME) passes calls to both numbers that are unchanged for Cisco Unity Express. The Cisco Unity Express AA has multiple pilot numbers that are configured, so that both numbers match the AA entry point. Again, you can configure Cisco CallManager in a similar manner to route calls to both numbers.
dial-peer voice 3100 voip
session target ipv4:a.3.229.128
dial-peer voice 3101 voip
session target ipv4:a.3.229.128
Figure 13 shows Cisco Unity Express 2.1 configured with 3100 and 333.yyy.3100 associated with the Cisco Unity Express system AA. Together with a routing configuration for Cisco CME (such as the preceding example) and equivalent configuration on a Cisco CallManager, calls to both numbers reach the Cisco Unity Express AA menu.
Figure 13 Cisco Unity Express AA Multiple Pilot Numbers
AA or Receptionist
Many small businesses require that PSTN calls be answered by a receptionist—rather than an AA—during normal business hours because the human interface to customers is often very important to a small-medium business model, or to a branch office of an enterprise.
The first decision you have to make is how calls should be routed into your business. The choices include (but are not limited to) the following:
•All calls are always routed to the AA.
•All calls are always routed to a receptionist (in this case Cisco Unity Express is used only as a voice mail application).
•Calls during business hours are routed to the receptionist and after hours to the AA.
•Calls are routed first to the receptionist and if not answered within a few rings, then redirected to the AA.
•Different PSTN numbers are available to callers, one of which is your main business number and calls to this number are routed to the receptionist while the other PSTN number is for information only. Calls to this number are routed to the AA where location, address, fax numbers, hours of operation, and various other static pieces of information about your business are given to the caller.
•You have DID service for some employees, and those calls are routed directly to their extensions while all other PSTN calls are routed as per the previous bullets.
If you decide to use both a receptionist and the Cisco Unity Express AA to handle some portion of your calls, there are several considerations to take into account.
Topics addressed in this section include the following considerations:
•Dial-by-Name to Groups
•Receptionist Transfer to Voice Mail
There are several possible configurations to have the receptionist answer calls during business hours while the Cisco Unity Express AA takes calls when the receptionist is not available.
CFB and CFNA the Receptionist to the AA
Call forwarding can be accomplished in a number of ways. The easiest is to set up your system by using the Call Forward All (CFA) feature to route PSTN calls to a receptionist's extension (instead of to the AA as described in the "Routing PSTN Calls to the AA" section). Add this configuration by using the Call Forward Busy (CFB) and Call Forward No Answer (CFNA) features to reroute calls to the AA pilot number that are intended for the receptionist extension. In this configuration, calls route to the AA when the receptionist is busy, or is not able to answer.
The side effect of this configuration is that the receptionist cannot have voice mail. The receptionist's phone is set up for use the CFNA and CFB features (rerouting calls to AA) and cannot use CFNA and CFB to route calls to voice mail (which is a common alternative configuration).
CFA the Receptionist to the AA
Refining the configuration in the"CFB and CFNA the Receptionist to the AA" section to allow voice mail for the receptionist, you can have the receptionist press the CFA button on the phone at the end of the day and call forward all calls to the AA pilot. The configuration of the phone can then be set to CFNA and CFB to voice mail. However, this configuration means that the receptionist has to remember to CFA calls manually at the end of each day, and undo it each morning, as well as call forwarding to voice mail for the receptionist is only available during business hours (CFA takes precedence over CFNA and CFB).
Separate Receptionist Extension
Another way to adjust the configuration to allow the receptionist to have voice mail is to use a generic extension for the receptionist that is separate from the employee's personal extension. For example, User1 has a personal extension 3001 and User2 has extension 3002. The "receptionist" extension is 3050. All non-DID PSTN calls are routed to 3050. The receptionist's extension 3050 appears as button 2 on both User1 and User2 phones, while both personal user extensions appear on button 1. The personal extensions (3001 and 3002) CFNA and CFB to voice mail (pilot number 3105), while the "receptionist" extension 3050 CFNA and CFB to the AA pilot 3100. This configuration (using Cisco CME as the call agent) is shown in the following example:
! SIP dial-peer to direct calls to AA (3100) and voice mail (3105)
dial-peer voice 3100 voip
session target ipv4:172.19.153.37
! Personal extensions for User1 and User2; CFNA and CFB to voice mail at 3105
call-forward noan 3105 timeout 10
call-forward noan 3105 timeout 10
! Receptionist extension, CFNA and CFB to the AA at 3100
number 3050 secondary 408yyy3050
call-forward noan 3100 timeout 20
! User1's phone with 3001 on button 1 and 3050 on button 2
username "User1" password user1
! User2's phone with 3002 on button 1 and 3050 on button 2
Call-Agent Time-of-Day Routing
Time-of-Day (ToD) routing of calls to a receptionist (in contrast to the AA) requires a ToD routing feature on your call agent. With Cisco CME, this can be done by using a Tool Command Language (TCL) 2.0 script named "Time of Day Routing and Barring" that is available on Cisco.com Developer Support Central under TCL 2.0 technologies (this page requires a login). This feature is also available with Cisco CallManager Release 4.1.
Dial-by-Name to Groups
You can reach group and personal extensions via the AA dial-by-number feature or via a receptionist. You cannot reach groups, however, via the Cisco Unity Express AA dial-by-name feature—only personal names can be reached. Reaching a group by name therefore requires one of the following call routing alternatives:
•The caller to know the extension that is associated with the group.
•A custom AA menu that leads the caller through the available group choices (for example "Press 1 for Sales, 2 for Support") and transfers the call appropriately using dial-by-number.
Receptionist Transfer to Voice Mail
A call that arrives at the AA and subsequently redirected to the chosen extension (by dial-by-number or by dial-by-name) can be forwarded to voice mail if the extension is not answered or is busy. The same The receptionist can do the same thing. If a PSTN caller calls for User1, the receptionist looks this up in a directory to determine that User1 is at extension 3001 and transfers the call to 3001. If User1 is not available, the call CFNA and CFBs to voice mail and enters User1's voice mailbox. The mailbox greeting played by the Cisco Unity Express voice mail system is determined by the last redirected number field, in this case set to 3001, in the call information given by the call agent to Cisco Unity Express.
However, the receptionist may wish not to transfer the call to the User1 extension and have it ring there, but instead transfer it directly into voice mail. If a PSTN caller calls for User1 at 3001, and the receptionist transfers the call to the voice mail pilot at 3105, the caller hears the receptionist's voice mail greeting as the last redirected number field in this call flow is set to the receptionist's extension.
Note It is recommended that if a receptionist is used to front PSTN calls, that calls are transferred to the actual desired extension and not directly to the voice mail pilot number.
Cisco Unity Express (up to Cisco Unity Express 2.1) does not have a feature for direct transfer to voice mail. Workarounds depend on the call agent (Cisco CME or Cisco CallManager) that you are using with Cisco Unity Express.
The user or extension directory information that is available to the Cisco Unity Express AA versus the receptionist may be different. The Cisco Unity Express AA dial-by-number feature does not consult any directory information at all; instead, it processes the digits entered by the caller. The Cisco Unity Express dial-by-name feature uses the built-in Light Weight Directory Access Protocol (LDAP) directory within Cisco Unity Express, so only extensions associated with users (and not with groups) and their associated names are accessible via the AA dial-by-name feature.
These users do not need to have mailboxes assigned to show up in the Cisco Unity Express LDAP directory, the configuration requires only a user definition and valid First Name and Last Name fields as shown in the following example, illustrating a user profile and name configuration for AA Dial-by-Name.
cue# show user detail username User1
A receptionist is likely to use either a printed list of extensions (employees and groups), the directory Cisco CME provides on the display of the IP phone, or some other online directory application you may have in your office. The phone-based Cisco CME directory feature uses its own database, possibly from an XML server, and does not use Cisco Unity Express's LDAP information, so the entries can potentially be different (depending on how the configuration of the system was done, and which fields' values are manually coordinated).
Distributed and Centralized AA
If you have already decided that your business will be using an AA, and you have multiple sites in your network, one of the key network design decisions you must make is whether your AA will be centralized at one site or distributed.
Topics addressed in this section include the following considerations:
Cisco Unity Express is designed as a per-site system and therefore provides the best fit for a distributed deployment model where each site has its own local AA and voice mail. Figure 14 depicts a distributed AA model in which local PSTN calls enter each site through trunks at that site. These calls are routed to the Cisco Unity Express AA at each individual site and are redirected to employees who typically also reside at that site.
Figure 14 Distributed Cisco Unity Express AA
This model works well if you have a local presence in each geographic area where you have an office and publish local PSTN numbers to your customers in that area. When customers call, they want to conduct business with an employee in the local site and to obtain the PSTN number from a local phone directory or a website posting specific to your branch's location. These are likely to be local PSTN numbers (either within the local area code, or toll-free type numbers of limited geographic coverage).
If you have a multi-site business and have a national (or large geographic area coverage) toll-free number for general customer service enquiries, these calls are typically delivered to one particular location by the PSTN, and the AA at that site can be set up to handle those calls or transfer them to other locations as required. If the Cisco Unity Express AA is set up to transfer calls out to another site, you can choose to route calls via VoIP between the sites or via the PSTN—depending on the configuration of the call agent. The Cisco Unity Express AA sees only the dial-string (such as the caller presses 1 and the call transfers to a configured number of yyy.1212) and does not know how the destination number translates to a call setup path (VoIP or PSTN).
With a centralized AA for all the sites, you might want to consider Cisco products other than Cisco Unity Express, which is not designed to serve as a "centralized" solution for multiple sites. Instead, it is designed to be a local AA for a standalone site, or a distributed AA (as per the "Distributed AA" section) where each site's Cisco Unity Express AA serves only users and calls at that site.
However, if you have already decided that Cisco Unity Express is the best product for your business (for other feature or product reasons) and you must have only a single AA across multiple sites, the design considerations for this are elaborated in this section.
A centralized AA model is shown in Figure 15. In this scenario, all non-DID PSTN calls to your business enter at one location, even if the call is ultimately destined to an employee at a different location (such as Site B in Figure 15).
Figure 15 Centralized Cisco Unity Express AA
Considerations for this design include the following:
•Dial-by-extension can be configured to reach any VoIP extension or PSTN location in your network. By writing your own custom AA script, you can restrict or allow any numbers you choose. You can also block (or allow) certain destinations on your call agent (Cisco CME or Cisco CallManager).
•Dial-by-name in the AA contains only the names of the users entered locally on the Cisco Unity Express system hosting the AA. Dial-by-name is not available for users defined at remote locations, unless a separate user definition for them is inserted at the central site as well (in addition to the definition in the remote site) so that their names appear in the central AA's LDAP directory, and there are associated extensions that the AA can access to transfer the call. On the call agent, these extensions are then routed to the appropriate site where the IP phone is resident.
•If both the central and remote sites have Cisco Unity Express installed (in this scenario, Cisco Unity Express at a remote site is only used for voice mail), and you desire the central dial-by-name configuration, also consider that there is no automatic database synchronization between sites. If you make a user name change on a remote site or add a user, you must manually reflect that same change in the central site's configuration, or the AA dial-by-name capability will be unaware of this new information.
•If you desire the central dial-by-name configuration, also consider that the number of user definitions on Cisco Unity Express is limited. In current releases of software (up to Cisco Unity Express 2.1), this limit is twice the number of mailboxes in the license. For example, if you have a 100-mailbox Cisco Unity Express license installed on your central Cisco Unity Express system, you can enter a maximum of 200 user definitions (to support dial-by-name access).
•The AA functionality in Cisco Unity Express is not licensed separately from the voice mail capability, so you have to purchase a voice mailbox license, even if you intend to use only the AA capability. If you plan to use only the dial-by-extension AA capability, then the smallest mailbox license (12 mailboxes) will suffice for the application. If you intend to use the dial-by-name AA capability, then review the previous bullet on the maximum number of user definitions and determine the appropriate mailbox license to purchase from that information.
•If you use the Cisco Unity Express system AA (as of Cisco Unity Express 2.1) as your central AA, the default operation is to allow transfers only to local extensions (extensions associated with users defined on the system hosting the AA). To allow external transfers (including PSTN locations and extensions at other sites), configure the system AA to allow these transfers as shown in Figure 16 (set the value of the allowExternalTransfers parameter). If you plan to use the "centralized" AA scenario described in this section, it is recommended that you write a custom AA script to control which destination numbers may be allowed as transfer destinations from the AA (this is to contain possibilities of misusing your AA for toll fraud purposes).
•Cisco Unity Express can process only a limited number of simultaneous calls into the AA. Port capacity for the various hardware form factors, releases and licenses of Cisco Unity Express was covered in the "Chapter 3: Cisco Unity Express System Design Considerations" chapter. The maximum Cisco Unity Express 2.1 port capacity is 16.
•Users configured into the Remote Users directory (the Configure > Remote Users GUI window) of Cisco Unity Express are not available for AA dial-by-name. The remote user configuration is used solely for voice mail VPIM networking between sites.
Figure 16 System AA Transfer to PSTN
The "Distributed AA" section and the "Centralized AA" section described distributed AA (every site has its own AA) and centralized AA (only a single site in the network has an AA) deployment scenarios. A more likely situation is a combination of the two scenarios in which each site uses its AA capability for locally originated PSTN calls into that site. For example, a national 800 number for general customer service queries—with all 800-number calls terminating on a single site's AA.
As discussed in the"Centralized AA" section, Cisco Unity Express is not designed to be a central AA capability, but can be leveraged to do this to some extent. The same preceding considerations for Centralized AA apply to any Cisco Unity Express AA used in a "centralized" manner, regardless of whether all PSTN calls or only some of them enter that site. As long as you only use the dial-by-extension capability, there are few considerations (most of them apply to dial-by-name AA capability).
Cisco Unity Express Time-of-Day Routing
There is often a need to route calls based on time of day. This requirement might apply to routing calls to the AA only during certain times of day (such as after hours) or to routing calls from the AA. Different prompts or information might be given depending on whether the business is currently open or closed.
Call-agent based routing calls to the AA based on time of day was discussed in the "Call-Agent Time-of-Day Routing" section.
You can set up routing calls from the Cisco Unity Express AA based on TOD is a feature introduced in Cisco Unity Express 2.1. Business schedules (Voice Mail > Business Hours Settings) and Holiday lists (Voice Mail > Holiday Settings). These routing calls can guide your system or custom AA prompts and call treatment.
Cisco Unity Express ships with a system AA (which cannot be deleted) and has the ability to accommodate up to five total AAs. The AA prompt flow for Cisco Unity Express 2.1 is as follows:
1. If alternate greeting active
a. Play alternate greeting
2. Play welcome greeting
3. If holiday
a. Play holiday greeting
b. Else If business open
Play business open greeting (empty by default)
Play business closed greeting
4. To enter the phone number of the person you are trying to reach, press 1
5. To enter the name of the person you are trying to reach, press 2
6. To transfer to the operator, press 0
In addition to the system AA, Cisco Unity Express offers a Script Editor that allows you to write your own AA scripts, install these into the system, and build your own customized AA applications. Cisco Unity Express does not offer full Interactive Voice Response (IVR) capability—only AA capability. The Cisco Unity Express Editor supports a subset of the steps available in the Cisco CRS Editor (and some additional steps).
Topics addressed in this section include the following considerations:
•Considerations for Customizing the System AA
•Customizing the System Prompts
•Create a Custom AA
•AA Script and Prompt System Limits
•Single or Multiple AA Pilot Numbers
•Managing Custom Scripts and Prompts Across Sites
Considerations for Customizing the System AA
The highlighted greeting fields in the preceding AA operational system flow are greetings you can record to be used with the system AA. There are also several more script variables that you can set to the appropriate values for your office. These include the following:
•Whether or not transfers to local extensions, or to all destinations are allowed (parameter allowExternalTransfers).
•The number of times the main menu is repeated if no, or erroneous, input is received (parameter MaxRetry).
•The operator extension where calls should be transferred if you choose 0 from the menu (parameter operExtn).
•The schedule that specifies the business hours for your office (parameter businessSchedule).
The following aspects of the system AA cannot be customized:
•Flow of the system AA.
•Menu choices (press 1 for..., press 2 for...).
•The welcome greeting is non-interruptible and must finish before digit input from a caller is acted upon.
•You cannot enter extension numbers without choosing an action from the menu.
If you find the system AA generally satisfactory for your purposes but want to adjust a few of the items above that cannot be customized, get a copy the system AA script, edit it to add the feature or operation you require and install it on Cisco Unity Express as a custom AA script. The system AA cannot be uploaded or copied from the Cisco Unity Express system itself, so the easiest way to get a copy of it is to use the "aa_sample1.aef" available on the Cisco Unity Express software CD.
Customizing the System Prompts
The Cisco Unity Express system prompts, used in both the AA and voice mail, cannot be rerecorded, replaced, or customized. Custom AA prompts can be rerecorded and replaced as needed.
Create a Custom AA
The following steps are necessary to write and activate a custom AA on a Cisco Unity Express system:
Note It's almost always easier to adjust an existing script than to write a new one—several sample scripts are available on the Cisco.com software center and on the Cisco Unity Express software CD.
Step 1 Ensure the Cisco Unity Express Script Editor is installed on your PC (if not, download it from Cisco.com Software Center).
Step 2 Open an existing script file that you want to modify or an empty file.
Step 3 Edit the script to your needs. Ensure that you define all the variables, and enter the values that you want to assign. Ensure all variables whose values you want to control from the Cisco Unity Express GUI are defined as parameters and are defined in the top-level script (if you have multiple scripts).
Note Parameters in subflow scripts do not appear on the Cisco Unity Express GUI window. Variables that are defined as parameters should not exceed 32 characters.
Step 4 Validate the script and fix any errors or warnings.
Step 5 Upload the scripts or scripts to Cisco Unity Express.
Step 6 Log in to the Administration via Telephony (AVT) interface and record the prompts.
Step 7 Rename the files to have descriptive names rather than the system-assigned names). Or record the prompts offline (format: G.711 u-law, 8 kHz, 8 bit, mono) and upload them to Cisco Unity Express.
Step 8 Choose Voice Mail > Auto Attendant.
Step 9 Select Add. Click your script file name in the Select Automated Attendant Script field. If your AA contains multiple scripts, enter the name of the top-level script. Ensure a descriptive name for your AA in the Application Name field. Click Next.
Step 10 Provide values for all the parameters shown on this page. If some parameters are missing, go back and edit your script to export all the appropriate variables as parameters. Upload the changed script to Cisco Unity Express and repeat Steps 5, 8, 9 and 10. Click Next.
Step 11 Assign a pilot number in the Call-in Number field. Click Finish.
Step 12 Ensure that your call agent has the correct configuration to route calls to this pilot number to Cisco Unity Express (on Cisco CME this is a SIP dial-peer, on Cisco CallManager this is a CTI route point). Ensure that digit manipulation is done such that Cisco Unity Express sees a number that matches its pilot number (such as in a case in which the PSTN number is 4xx.yyy.1212 and the pilot number in Cisco Unity Express is defined only as 1212, the call agent must do digit manipulation before delivering this call to Cisco Unity Express).
Step 13 Make a test call to the new AA and ensure it operates the way you want. If you want to test the AA out before taking live calls, then first associate a pilot number with the new AA that is known only to you. Once satisfied with the AA's operation, change the pilot number to the number where PSTN calls arrive at your business.
AA Script and Prompt System Limits
The Cisco Unity Express system limits the following AA related attributes:
•Up to five total AAs with a maximum of four custom AAs and one system AA
•A maximum of eight (on an NM) or four (on an AIM) custom scripts
•No specific limit on the number of steps per AA
•No specific limit on the number of nesting levels within each AA script (although a script with too many levels becomes difficult to manage)
•A maximum of 50 (on an NM) and 25 (on an AIM) custom prompts
•A maximum of one MByte file size per prompt (two minutes)
System scripts and prompts do not count against the preceding limits.
Cisco Unity Express language settings affect the system prompts for the AA and voice mail. These language settings do not affect your custom prompts. You can write a custom AA that has multi-lingual prompts (menus) and queries the caller for preferred language. Based on the selection, the remaining prompts in that branch of the AA can be recorded in the applicable language. A multi-lingual AA flow might be as follows:
Play Welcome Greeting [bilingual]
1. For English press 1, for Spanish press 2 [same instruction repeated in Spanish]
2. If English
a. To enter the phone number of the person you are trying to reach, press 1
[rest of the of the menu]
3. If Spanish
a. [Same prompt as above, but recorded in Spanish]
[rest of the Spanish part of the menu]
To implement this AA you do not need language support or any special language settings on Cisco Unity Express. The system is unaware of the content of any custom prompts; they are .wav files. However, if a caller selects the Spanish branch of the menu structure and hits an error or a timeout (which results in a system prompt played to the caller), the system prompt is played in the default language installed on Cisco Unity Express.
System prompts can not be rerecorded or replaced. Up to Cisco Unity Express 2.1, only a single language selection per system is supported. While it is possible to craft multi-lingual custom AAs, the system prompts are unilingual until such time as Cisco Unity Express supports multiple concurrent languages.
The Cisco Unity Express Script Editor includes a validation step that checks for syntactical and grammatical correctness in the script. It also checks cross references within the script for variables and labels. A script must validate cleanly before you can upload the script to Cisco Unity Express. However, the validation step does not perform the following tasks:
•Check the logic of the script
•Warn against run-time errors
•Check that subflows called by the script are present or defined
The run-time script flow can only be tested by uploading the script to Cisco Unity Express, associating a pilot number with the AA, and making calls through the system. Before you start doing this, ensure that all the subflows called by the script are also installed and present on Cisco Unity Express.
Single or Multiple AA Pilot Numbers
Typically a single pilot number is associated with the AA. If you define multiple AAs, then typically there is still a single (separate) pilot number associated with each of the individual AAs. See Figure 17. This scenario represents a situation in which there are multiple departments within a site. Each department has a specific PSTN number to which calls particular to the given department are sent and each department requires a distinct AA menu flow. For example, a stockbroker department may reside in a bank branch, but the normal bank business and the stockbroker business take place on different PSTN numbers. These departments just co-reside in the same building and share the same communications system. Two separate AAs, with separate pilot numbers would make sense for this situation.
Figure 17 Single Pilot Number for Each AA
While not a typical configuration, this type of configuration can have multiple pilot numbers associated with the same (or a single) AA. Within the AA script, a check for DNIS is made (to see which number was called) and call treatment or menu options are based on this information. Figure 18 illustrates a configuration where two separate pilot numbers (3100 and 3121) have been associated with the system AA. A situation where this makes sense is where the different pilot numbers may indicate different language preferences of callers. The AA flow is the same, so it is desirable to maintain a single script, but based on the DNIS (pilot number) called, the prompts may be given in language A or language B.
Figure 18 Multiple Pilot Numbers for the AA
This capability to associate multiple pilot numbers with a single AA script (system or custom) has always been available in the Cisco Unity Express CLI, but it has first become available in the GUI with Cisco Unity Express 2.1. The following example shows the CLI where multiple pilot numbers are associated with the same application. In this case, the system AA mirrors the configuration given in Figure 18.
ccn trigger sip phonenumber 3100
ccn trigger sip phonenumber 3105
ccn trigger sip phonenumber 3106
ccn trigger sip phonenumber 3121
It is easier to copy and adjust an existing script than to write one from scratch. Places from which you can download sample scripts include the following:
•The Cisco Unity Express software CD.
•The Cisco.com software center (from which you download Cisco Unity Express software).
In general, you should not use a script written by the CRS Editor, for example, the Cisco Unity Express script. The CRS Editor supports many more steps than the Cisco Unity Express Editor, and the Cisco Unity Express Editor might not be able to open a script written by the CRS Editor (depending on the content).
Recording AA prompts via the AVT Cisco Unity Express interface assigns an automatic system-chosen file name to the prompt, such as UserPrompt_01172005111156.wav that contains a timestamp. If you later log in to the AVT again, you cannot rerecord the contents of an existing file (the file name your script already refers to). You can record a new prompt to replace the existing prompt, and it will be assigned a new file name.
Rerecord Prompts via AVT with Cisco Unity Express GUI Access
Assume the prompt you want to rerecord is currently named greeting.wav. Use the following process to rerecord this prompt via the AVT if you have access to the Cisco Unity Express GUI from a computer:
Step 1 Log in to the AVT and record the changed prompt. The system assigns a new file name, such as UserPrompt_01312005121740.wav.
Step 2 Download file UserPrompt_01312005121740.wav to your computer and rename that file greeting.wav.
Step 3 Upload file greeting.wav from your computer to the Cisco Unity Express system (the upload operation automatically overwrites the existing file by the same name, so no changes to the script are required).
Step 4 Delete UserPrompt_01312005121740.wav from the Voice Mail > Prompts window (or via the CLI).
Rerecord Prompts via AVT without Cisco Unity Express GUI Access
Use the following process to rerecord this prompt via the AVT if you do not have access to the Cisco Unity Express GUI from a computer:
Step 1 Log into the AVT and record the changed prompt. The system assigns a new file name, such as UserPrompt_01312005121740.wav.
Step 2 To rename the file to greeting-v2.wav, use the ccn rename prompt CLI command on Cisco Unity Express 2.1.
Step 3 Navigate to the Voice Mail > Auto Attendant GUI window and click your AA application.
Step 4 Click Next to get to the Script Parameters window. Change the appropriate prompt variable to refer to greeting-v2.wav instead of greeting.wav.
Step 5 Delete greeting.wav from the Voice Mail > Prompts window.
Record Prompts Offline
Use the following steps for an offline recording method:
Step 1 Record the changed prompt and name the file greeting.wav.
Step 2 Upload file greeting.wav from your computer to the Cisco Unity Express system (the upload operation automatically overwrites the existing file by the same name, so no changes to the script are required).
Managing Custom Scripts and Prompts Across Sites
Even though a distributed AA (an AA in each site) might be the best fit for your organization, it might still be desirable to manage the scripts and prompts that comprise all the site AAs from a single central place. There is no facility in Cisco Unity Express itself to coordinate scripts and prompts between sites. There are no network management applications to do so, although this capability is likely to become available at some point from Cisco partner management solutions.
You can craft your own central management and storage application by using a Unix or Linux platform to issue CLI instructions against several individual Cisco Unity Express sites. Your application needs a scripting capability and the ability to open a Telnet session to each router that hosts a Cisco Unity Express. Issuing Cisco Unity Express CLI requires enable-mode login on the router, so the person who develops the application must be someone with access to these levels of security within your organization.
Identical AAs at all Sites
Consider a situation where your network has multiple Cisco Unity Express sites and the AA for each site is identical, including the business hours, the fax numbers, the prompts and the script flow. Assume that the AA application consists of the following two scripts and three prompts:
Also assume that each Cisco Unity Express site already has a custom AA with a pilot number set up to point to script main-aa.aef (if this is not the case, then a one-time creation of a custom AA for each site is necessary, which you can do individually at each site, or via a CLI script of its own, issuing the AA creation commands to each site—this must only be completed once).
The above five files constituting your AA reside on the Unix/Linux application server in a directory on the disk. If you change anything to the script flow, or rerecord any of the prompts, you replace the files in this directory. You can run a script that does the following:
Step 1 Open a Telnet session to a Cisco Unity Express site.
Step 2 Log in to the Cisco Unity Express CLI interface.
Step 3 Upload the five AA files to Cisco Unity Express.
Step 4 Log out.
Step 5 Repeat Steps 1 through 4 for each Cisco Unity Express site in your network.
As long as the file names constituting the AA do not change, the above is all that is required. If the file names change (because you added more scripts or prompts, or because you desire to have version numbering included in the file name), updating each Cisco Unity Express system requires a few more steps:
Step 1 Open a telnet session to a Cisco Unity Express site.
Step 2 Log in to the Cisco Unity Express CLI interface.
Step 3 Upload the five AA files to Cisco Unity Express.
Step 4 If the subflow script file name has changed, ensure the main script file refers to this new subflow.
Step 5 If the prompt file names have changed, adjust the script parameters to point to the new prompts.
Step 6 If the main script file has changed, adjust the script file name associated with the AA pilot number to point to the new script name.
Step 7 Log out.
Step 8 Repeat the Steps 1 through 7 for each Cisco Unity Express site in your network.
Note There is no versioning of scripts and prompts on Cisco Unity Express itself. If a file with the same name is uploaded, the current file of that name is overwritten. You can only retrieve the old version of the file if you have done a backup while that was the active file in the system. If so, you can now do a restore. Performing a restore operation restores all the files on the system, not just the script and prompt files, and all changes to the system, including mailbox content, are lost and reset back to the state it was in at the last backup.
Cisco Unity Express maintains a time/date stamp on each script/prompt file that you could use as some indication of versioning (Voice Mail > Scripts and Voice Mail > Prompts GUI windows, or show ccn scripts and show ccn commands in the CLI).
Different Business Hours Across Sites
If the AAs for all your sites are identical, but the business hours for some (or all) sites differ from each other, Cisco Unity Express can accommodated these differences independent of the AA scripts and prompts. When your office is open or closed is specified by the Business Hours schedule (Voice Mail > Business Hours Settings) of each individual Cisco Unity Express and this schedule can have the same name (a variable referenced from the AA script, such as systemschedule) at all sites, but different contents for each site individually. The AA script may refer generically to the business hours schedule, but the Cisco Unity Express automatically picks up the time periods specified in the local system where the AA application runs.
Different Prompts Across Sites
If the AA is largely the same at all sites, but not identical, you can manage the files centrally. However, you must refine your management script. Assume the network has four sites, and the AAs across all the sites are identical, except for a prompt that contains the location (address and driving directions) of each site office. The files constituting the AA are the following:
•location-site1.wav, location-site2.wav, location-site3.wav, location-site4.wav
The same scripting application that was described earlier in this section can be used, but include the following additional configuration accommodations:
•Be aware of which site a script is logged in to, and upload only the appropriate location-xx.wav file to each site.
•Set the script parameter (which is a generic variable value as this is a shared script across all sites) to point to this particular prompt (this setting is different for each site).
Coordinating AA Updates by Time
Another advantage of the centrally managed scripting application is that it is easier to coordinate AA changes across sites than leaving the changes up to an individual administrator at each site. For example, if a new welcome greeting must become active next Monday, then this prompt can be prerecorded, placed in the application server directory, and the scripting application can be scheduled to execute Sunday night at midnight to roll out the updated AA prompt to all your sites.
A key part of the system AA (and a subflow of several of the sample scripts on Cisco.com that you can use to customize AA operation) contains the dial-by-extension AA functionality. This subflow is usually executed after a prompt of the form "To enter the phone number of the person you are trying to reach, press 1...". The caller selects this from the menu and follows it by a varying number of digits terminated by a #, and the script acts on the digits entered by transferring the call.
Topics addressed in this section include the following:
•Internal and External Destinations
•Script Control on Transfer
•Dial An Extension at Any Time in the AA
Internal and External Destinations
Up to Cisco Unity Express 2.0, the system AA allowed for the transfer calls to any destination—it treated the destination merely as a string of digits, and any call dialable on the associated call agent would succeed. To limit the destinations to which the AA can transfer calls (such as no calls to the PSTN), the call agent's features—such as Class of Restriction (COR) on Cisco CME—were required.
As of Cisco Unity Express Release 2.1, the system AA has a parameter to control whether calls are allowed to transfer only to internal numbers (default operation), or to internal and external numbers. Your own custom AA scripts can employ similar mechanisms to limit the valid destinations of calls. The system AA script parameter was shown earlier in Figure 16 (the value of the allowExternalTransfers parameter).
An internal number is considered to be an extension that exists in Cisco Unity Express's LDAP directory. Information that appears in LDAP includes all extensions defined and associated with a user (Configure > Users) on Cisco Unity Express. This does not include remote user (Configure > Remote Users) definitions entered on Cisco Unity Express for networking spoken name confirmation (these are not stored in LDAP). The validity of a destination number is independent of extension length or dialing plans and is not coordinated with your call agent's dial plan on what might be local extensions versus remote extensions.
Cisco Unity Express considers an extension that appears in an LDAP entry an internal destination. External destinations include everything else, such as the following:
•All other extensions that exist at the local site, but do not appear in the Cisco Unity Express configuration, such as local phones/extensions that do not have mailboxes.
•All VoIP destinations, such as extensions present at other sites, but a PSTN call is not required to reach them.
•All PSTN destinations.
If you want to refine the destinations that the Cisco Unity Express AA can transfer calls to, you have to limit calls either on the call agent (with features such as COR), or write a custom Cisco Unity Express AA script that does the checking based on your requirements (such as perhaps extension length, or numbers starting with certain sequences such as 9).
Script Control on Transfer
The method Cisco Unity Express uses to transfer a call varies depending on the associated call agent, and this in turn means the AA script operation is different.
•Cisco CME—Cisco Unity Express (up to and including 2.1) uses a SIP Bye/Also sequence to transfer a call from the AA. This means Cisco Unity Express hands off control of the call to the call agent (blind transfer) before the success or failure of the transfer is known. There is no means to get control back into the script. Once the call is transferred, the call will get whatever treatment Cisco CME provides (busy tone, overflow tone, ringback, and the like). If your script tests on failure cases after a transfer (Call Redirect step), these code segments will never execute.
•Cisco CallManager—Cisco Unity Express uses a JTAPI sequence to transfer a call, and the actual call is transferred by Cisco CallManager. If failures occur (busy or non-existent destination), the call is still within control of the Cisco Unity Express AA script and failure code segments following the transfer (Call Redirect step) statement in the script will execute.
Dial An Extension at Any Time in the AA
You can write a custom AA script that does not enforce a menu choice before a caller is able to dial an extension. By default, Cisco Unity Express system AA requires that you select a menu item before the extension number of a destination employee is entered. As an alternative, you can write a custom AA script that offers the behavior where an extension number (if known by the caller) can be dialed at any time, and at the same time that the caller can select from menu items offering choices other than dialing an extension. such as an AA prompt.
Writing a script that dials an extension number without a menu prefix requires knowledge of your dial plan. For example, assume that your extensions area all in the 2xxx format. Menu items starting with digits other than 2 present no problem. A menu item starting with 2 can be handled as follows:
•When the caller presses 2, proceed to a collect digits state without presenting another prompt, in this case 3 more digits to complete the extension.
•If 3 more digits are received, prepend a 2 to the number, and transfer the call to the extension.
•If no more digits are received (and a timeout occurs), assume menu item 2 was selected, and proceed to the next menu level or prompt.
For more information, see the following URL:
A second key part of the system AA and a subflow of several of the sample scripts on Cisco.com that you can use to customize an AA, contains the dial-by-name AA functionality. This subflow is usually run after a prompt. The caller spells the name, and the script provides matches based on information stored in LDAP for users defined on the Cisco Unity Express system.
Topics addressed in this section include the following considerations:
•Name Fields Used in Dial-by-Name
•Customize Last and First Name Sequence
•Set Up AA for Dial-a-Group
•Dial-by-Name to Non-Users
Name Fields Used in Dial-by-Name
For users (not groups), the dial-by-name AA function uses a last name, first name approach. Use the similarly named fields in the Configure > Users configuration shown in Figure 19.
Figure 19 User Configuration for Dial-by-Name
If you are using Cisco CME as your call agent, the Cisco CME CLI username (see the following example configuration) is not used for dial-by-name, and the configuration of this field has no impact on the Cisco Unity Express LDAP directory used for Cisco Unity Express's dial-by-name function.
The following example depicts configuration of the Cisco CME username field:
mac-address 1111.2222.3366 button 1:3
Customize Last and First Name Sequence
Cisco Unity Express's dial-by-name function matches the Last Name, and if not unique, the dial-by-name function proceeds to match the First Name field. This sequence cannot be changed or customized. If you want is to match the First Name, then the Last Name, the fields in the configuration must be reversed.
For example, Robert (first name) Lee (last name) works for the company. Figure 20 depicts that the dial-by-name matches Lee (the last name in the configuration), and then Robert (the first name in the configuration).
If you want to match "Robert" first, followed by "Lee" in the dial-by-name application, then configure "Robert" as the last name and "Lee" as the first name, as shown in Figure 20. This configuration has no side effects on the system as these fields are passive and are not used to control anything else (such as Caller ID, phone displays, or login names).
Figure 20 User Configuration for Dial-by-Name
Set Up AA for Dial-a-Group
The Cisco Unity Express AA searches LDAP only for user definitions, so group definitions (such the Customer Service or Sales departments) cannot be accessed via the dial-by-name function of the AA. To reach someone in a particular department of your organization, implement dial-a-group functionality into the AA menu itself. For example: "Welcome to XYZ company, for Customer Service press 1, for Sales press 2, if you know the extension of the person you wish to reach press 3, to dial by name press 4..."
Selecting 1 from this menu must (in the custom AA script you write) transfer the call to the extension associated with the Customer Service group. This extension in turn must CFNA and CFB to voice mail, so the caller can leave a message in the General Delivery Mailbox (GDM) if the call is not answered.
Note The Cisco Unity Express AA and the voice mail send function both access a dial-by-name directory based on the system's LDAP content. The AA function searches only users, while the voice mail send function searches both users and groups within LDAP.
Dial-by-Name to Non-Users
There might be employees in your office who do not need a voice mailbox, but require the ability to be reached using the dial-by-name feature via the Cisco Unity Express AA. If so, these employees can be entered in the Cisco Unity Express system (as users) without having mailboxes assigned to them. By virtue of the Cisco Unity Express user definition (and associated extension and phone), these employees appear in the Cisco Unity Express LDAP database and therefore are recognized by the Dial-by-Name AA function.
These users do not have a mailbox defined, and therefore do not count against the Cisco Unity Express license (the license counts mailboxes, not users).
Note The number of users allowed to be defined on the Cisco Unity Express system is derived from the number of licensed mailboxes, and is currently set to two times the number of mailboxes. If a 12-mailbox license is installed on the Cisco Unity Express system, a maximum of 24 users can be defined.
Additional AA Topics
This section addresses a number of additional AA-related topics. Topics addressed in this section include the following:
•Cisco Unity Express AA as a Contact Center Front-End
•Using Cisco Unity Express as a Standalone AA
•Reaching Voice Mail via the AA
•Cisco Unity Express AA and Cisco CME Basic Automatic Call Distribution AA
Cisco Unity Express AA as a Contact Center Front-End
Cisco Unity Express does not offer a full-fledged IVR—it offers only AA functionality. For some contact center applications, this may be sufficient as there is a significant overlap between AA and IVR system features. The Cisco Unity Express AA can be used as the IVR front-ending a contact center application, as long as you do not require any of the following types of features:
•Database access for storing or retrieving customer information.
•Checking the existence or content of files.
•Reporting menu selections and call flows through Cisco Unity Express AA.
•Reporting abandoned calls.
•Returning control of a call to the IVR menus if agents log out or choose not to answer calls ringing on their phones.
•Initiating outgoing calls from the IVR (calls can be transferred by the Cisco Unity Express AA but not initiated).
•Authenticating a caller based on a PIN.
•Any email or HTTP interaction with other server, or applications.
•Connecting music on hold while the call is waiting in queue.
•Checking on agent status while the call is still in the IVR queue.
•Coordinating window information based on digits the caller keyed in via DTMF in response to a menu item.
Cisco Unity Express AA offers the following features and if these are sufficient for your needs, then you can leverage the AA to act as a front-end for your contact center application:
•Customizable (and rerecordable) greetings
•Any number of greetings or announcements with customizable timeouts between them
•Loops with repeated (interruptible and non-interruptible) announcements
•Transfer of a call to a queue or an extension number (the AA script gives up control of the call at this point)
•The option to leave a voice mail instead of speaking to an agent
•Passive information (information not dynamically updated based on a database query, but periodically updated by rerecording the voice prompt) such as address, business hours, driving directions and fax numbers
Using Cisco Unity Express as a Standalone AA
Cisco Unity Express is designed to offer a combined AA and voice mail application. However, if you only want to use the AA and not voice mail component, Cisco Unity Express can be installed for the sole purposes of leveraging its AA functionality. There are some considerations in such a design:
•As addressed in the "Centralized AA" section, the AA functionality in Cisco Unity Express is not licensed separately from the voice mail capability, so you must purchase a voice mailbox license, even if you intend to use only the AA capability. The size of the mailbox license depends on what you want to do with the AA. If you plan only dial-by-extension menu items, then the smallest (12-mailbox) license is sufficient. If you plan to use the dial-by-name functionality, then you have to configure user definitions with the names on Cisco Unity Express. The number of users is currently double the number of mailboxes in the license.
•You must configure a call agent. Cisco Unity Express cannot be used without either Cisco CME or Cisco CallManager as the call agent. It is not sufficient to install Cisco Unity Express on a router and enter a dial peer to get calls into Cisco Unity Express AA.
–If you use Cisco Unity Express as a standalone AA with Cisco CallManager, the configuration is exactly the same as if you were using both the AA and voice mail, so follow exactly the same steps as you would for a normal system setup. You do not have to define the pilot number by Cisco CallManager because it will not be used.
–If you use Cisco Unity Express as a standalone AA with Cisco CME, the telephony-services keyword must be enabled on the router, but no phones or extensions need to be defined. Additionally, the SIP dial-peer redirecting calls into the Cisco Unity Express AA must exist on the router. No other Cisco CME functionality is required.
–If you use Cisco Unity Express entirely without a call agent, the Cisco Unity Express Initialization Wizard does not allow you to proceed to the point of getting the system online as it requires contact with a call agent (either Cisco CME or Cisco CallManager) to proceed. You could bypass the Initialization Wizard and configure Cisco Unity Express for the AA to work via the CLI. Because you cannot use a GUI on such a system, the GUI comes up with a blanket window showing "Lost Contact with the call agent" whenever you log in. Using Cisco Unity Express without a paired call agent is an experimental, untested, and not recommended configuration. However, this setup works—with configuration entirely via the CLI—insofar as high-level, proof-of-concept testing for this guide was done. The recommended configuration is to purchase the smallest Cisco CME license and install Cisco Unity Express with Cisco CME on your router.
•Cisco Unity Express can process only a limited number of simultaneous calls. Port capacity for the various hardware form factors, releases, and licenses of Cisco Unity Express was described in the "Chapter 3: Cisco Unity Express System Design Considerations" chapter. Cisco Unity Express 2.1 port capacity varies between 4 and 16.
Reaching Voice Mail via the AA
A typical configuration contains separate PSTN phone numbers for different Cisco Unity Express pilot numbers, such as the AA, voice mail, and the AVT. Each service can be called independently by employees of your business. However, if you have a configuration in which you have a single PSTN number (such as yyy.1212) for your business, you can use the Cisco Unity Express AA to redirect calls to voice mail (for message retrieval) or the AVT (for system administration).
Calls to your main business number (yyy.1212) are terminated on the Cisco Unity Express AA (such as pilot number 3100). PSTN callers who wish to reach voice mail to check their messages (such as pilot number 3105) can dial 3105 from the dial-by-extension menu in the Cisco Unity Express system AA (or a similar menu item in a custom AA).
To enable this capability (if Cisco Unity Express is deployed with Cisco CME), ensure that the allowExternalTransfers script parameter in the system AA is set to allow external transfers. The voice mail and AVT pilot numbers are not considered internal numbers as they are not extensions associated with users. See the script parameter in Figure 16.
If Cisco Unity Express is deployed with Cisco CallManager, use the "xfermailbox.aef" system script to enable the ability to reach voice mail via the AA, as described in the Tech Tip at the following location:
Cisco Unity Express AA and Cisco CME Basic Automatic Call Distribution AA
The basic automatic call distribution (ACD) functionality in Cisco CME 3.2.1 includes a small AA application. This is useful particularly for Cisco CME customers who do not also have Cisco Unity Express installed. However, if you do have Cisco Unity Express installed on your Cisco CME, and you use the basic ACD function of Cisco CME, you have to craft the two AAs carefully to enable the correct call flows for your business.
Cisco Unity Express does not provide any reports currently (up to Cisco Unity Express 2.1) on call traffic through the AA. By using CDRs, you can tell how many calls terminated on the AA, but there is no way to report peg counts on the menu items within your AA.
In summary, the following best practices apply to the Cisco Unity Express AA:
•Determine if the Cisco Unity Express system AA is sufficient for your business needs (a small amount of customization can be done on the system AA). If not, a custom AA script must be developed.
•If you plan to use a receptionist or attendant to answer most of your business calls and use the AA only as a backup mechanism, plan your call flows carefully (especially voice mail access for the receptionists).
•Use Cisco Unity Express 2.1 or later releases as that introduces two key AA features: setting up business hours schedules and a list of holidays to check against.
•If you develop a custom AA script, test the flow thoroughly with test calls to determine whether the script operates per your requirements before allowing live calls to terminate on the AA. The validation step in the Cisco Unity Express Editor does only syntactical checking, not logic flow checking.
•All parameters whose values you want to control through the Cisco Unity Express GUI must be specified in the top level AA script. Parameters in subflow scripts cannot be accessed via the GUI.
•If you rerecord a prompt, make sure that the script refers to the correct file name to pick up the new content of the prompt (the TUI does not replace prompts; it adds new ones).
•If you record AA prompts on an offline system, ensure that they are in the correct format. Cisco Unity Express does no error checking on the format of uploaded .wav files. Incorrectly formatted prompts will simply not play out, or not play correctly.