When we call almost any company, we usually can hear a sweet (or not so sweet) voice naming the company we have reached and asking us to perform certain actions. That means we’ve reached an automated attendant. An auto attendant (AA) usually is the simplest form of Interactive Voice Response (IVR) system that allows you to enter the extension number, leave a voice message, send a fax, or connect to a secretary.
In this article I'd like to introduce you to the possible implementations of an auto attendant based on Cisco solutions. There are at least four of them, and people often ask what exactly this feature should be implemented on while deploying Cisco unified communication solutions. Let's go through the advantages and disadvantages of each of them.
1. Developing or using existing TCL and VXML scripts
This is a software-only solution. The required features are built into Cisco IOS. The solution is supported on routers with Unified Communications (UC) features enabled. There are many examples of IVR scripts for Cisco equipment.
The advantages of this solution are the following:
- No hardware needed, except for a Cisco router with UC features.
- A long line of supported platforms:1861, 2800, 3800, 2900, 3900, 4000, AS5000.
- You can create a script implementing any algorithm you need — branching, submenu, multiple languages, working/nonworking hours, etc. It supports integration with speech recognition and synthesis systems (ASR, TTS) and much more.
- This solution has the largest number of supported codecs for greetings in case you use VXML. There's another supported feature that is almost never used: greetings created with different codecs can be combined inside one application.
- Direct access to the gateway and its resources. For example, you can detect fax tone during an incoming call and switch over to a fax straightaway, or find out (with some probability) who answers the phone during an outbound call: a human or an auto attendant.
- VXML is an open standard widely supported by VoIP solution developers (Audiocodes, Huawei, D-Link, Digium).
- There already exists quite a functional Cisco script based on TCL: Basic automatic call distribution (B-ACD) and auto-attendant (AA) service.
If its algorithm is suitable to you, take it, set it up and use.
The disadvantages of this solution:
- If you are using TCL, you need programming skills and knowledge of Cisco Voice Gateway API (VGAPI). For VXML, the threshold of programming skills is way lower, especially if you are already familiar with XML, and knowledge of Cisco VGAPI is not required.
- Cisco IOS doesn't use transcoder for the calls processed by TCL applications, so you have to use the same voice codec for the application input and output both.
- Relatively low scalability: from 7 (2800 series) to 360 (AS5400XM) simultaneous sessions (calls).
- No fault tolerance.
- Cisco IOS Voice XML Browser licensing limits the number of simultaneous calls (the price* for one session FL-VXML-1 = $150, for 12 sessions FL-VXML-12 = $1440). FL-VXML license type is Right to Use, which means that you only get a document on usage rights, without any serial numbers and activation codes ("honor based";).
* all the prices in this article are from Cisco GPL
This solution is suitable for minor load (small number of simultaneous calls) and can be integrated with any PBX (not only Cisco).
2. Using Cisco Unity Express (CUE)
This version is implemented as a module (for example, SM-SRE-700-K9) for the following Cisco router series: 1861, 2800, 2900, 3800, 3900. IVR script can be created in Cisco Unified Communications Express Editor. This solution is quite functional, and the process of script creation is pretty much similar to the old UCCX-based solution that will be analysed below. Cisco Unity Express can be integrated with Cisco Unified Communications Manager and Cisco Unified Communications Manager Express, and it also can work as an auto attendant in standalone mode.
The advantages of this solution are the following:
- A handy web-interface Cisco Unity Express — Administration.
- A rich feature set.
- Convenient scheduling with holidays.
- IVR script development in Cisco Unified Communications Express Editor is quite simple and similar to visual programming with moving the required blocks around and configuring their properties.
- There is a web-editor for scripts that's even more simple: Editor Express. It supports basic actions:
- There are built-in system phrases in multiple languages, as well as a ready-to-use auto attendant script (aa.aef).
- Cisco Unity Express is a voice mail server, so in addition to the auto attendant features, CUE deployment also provides voice mail features for a router.
The disadvantages of this solution:
- Low scalability. A hard limit on the number of sessions (10 for ISM-SRE-300-K9 and 32 for SM-SRE-700 — SM-SRE-910).
- The only supported codec for greetings is G.711 u-law.
- No fault tolerance.
- Setup, configuration and integration are required.
- Prices for the module and for the licenses for voice ports (simultaneous calls):
- The module itself: for example, ISM-SRE-300-K9=$1000, including a non-portable license for 2 voice ports FL-CUE-NR-PORT-2.
- License for 5 mailboxes: FL-CUE-MBX-5=$100.
- License for 2 additional voice ports: FL-CUE-PORT-2=$500.
- License for IVR voice ports: FL-CUE-IVR-2=$1400 (it is only necessary if you use advanced IVR features, such as sending emails and faxes, accessing external databases, running VXML scripts inside of CUE IVR scripts, etc.).
This solution is the most suitable one for the companies that use Cisco Unified Communications Manager Express for PBX, or for branch offices, if the head office uses Cisco Unified Communications Manager for PBX and fault tolerance for the branch offices is being ensured by Cisco Unified Survivable Remote Site Telephony (SRST). Like the TCL/VXML variant, this solution can also be integrated with any PBX as a standalone auto secretary.
3. Using Cisco Unity Connection (CUC)
This solution is a voice mail server. It should be deployed on a separate virtual machine. Two VMs with CUC can be united into a fault tolerant cluster. CUC tools allow you to implement auto attendant logic. There are also built-in call handlers.
The advantages of this solution are the following:
- High scalability and fault tolerance — up to 250 simultaneous sessions (calls) for a single server, up to 500 in an active/active cluster.
- Relatively large set of supported codecs (G.711 a/u-law, G.722, G.729, iLBC) and built-in transcoding tools. It's worth noticing that transcoding is always performed in CUC.
- Convenient scheduling with holidays.
- Built-in ASR and TTS in multiple languages.
- Cisco Unity Connection is a voice mail server, so in addition to the auto attendant CUC deployment enables voice mail features in a VoIP system.
- Integration with third-party (non-Cisco) PBX is possible.
The disadvantages of this solution:
- Poor functionality. Auto attendant utilizes built-in default handlers, so you can only implement limited functionality.
- Built-in phrases (e.g. "called party is busy";) can't be replaced.
- Setup, configuration and integration are required.
- License price for one voice mail user (mailbox): UNITYCN11-STD-USR=$78.75
This solution is suitable for companies that need a heavy load (in terms of the number of simultaneous calls) and fault tolerance.
4. Based on a contact center (Cisco Unified Contact Center Express or Cisco Unified Contact Center Enterprise)
This is the most functional and flexible solution. UCCX, as well as CUC, should be deployed on a separate virtual machine. Two VMs can be integrated to create a fault tolerant cluster. You only need to configure IP IVR features to set up an auto attendant. You can create an IVR script in Cisco Unified CCX Editor. UCCX should be integrated with Cisco Unified Communications Manager. The number of simultaneous sessions is limited by the virtual server capacity (VM template) and the number of acquired licenses.
The advantages of this solution are the following:
- High scalability and fault tolerance.
- Support of the most widely used codecs G.711 a/u-law, G.729.
- Rich feature set.
- Management web interface: Cisco Unified CCX Administration.
- Developing an IVR script in Cisco Unified CCX Editor is relatively easy and resembles visual programming.
- Built-in system phrases in multiple languages and a ready-to-use auto attendant script (aa.aef).
The disadvantages of this solution:
- Setup, configuration and integration are required.
- Price of the solution: minimal promo set of 5 contact center agents (operators) and 100 voice ports (simultaneous calls): $1044.75
UCCX is a full-blown contact center that supports progressive contact center building technologies, so using it only to create an auto attendant is like using a sledge-hammer to crack a nut. This solution is for companies with high demands on functionality, performance and reliability.
We have examined different means of auto attendant creation. The choice in many respects depends on the solution that is being used or deployed (CUCMe, CUCM, BE6K or a third-party PBX), and on the functionality, performance and reliability requirements.
Conclusion
The most simple choice is an IVR based on TCL/VXML, and the most functional and productive choice — based on Cisco Unified Contact Center Express/Enterprise.
Cisco Unity Connection solution undeservedly often gets ignored. Usually Cisco Unity Connection comes with acquired licenses on Cisco unified communication products (for example, it comes with UWL licenses, as well as with Cisco Business Edition family). In this case, auto attendant implementation won't require any additional purchases.
Cisco Unity Express solution helps you to reduce (comparing to the TCL/VXML-based solution) the call processing load on the router. It takes the middle position between IOS scripting solutions and standalone server solutions. It is quite simple and handy, suitable for creating an auto attendant by the company's IT department, as it has a simple built-in web-editor for scripts with basic actions.
There are also auto attendant solutions for Cisco VoIP systems integrated with third party software, but that's another story.
Lets talk.