onents. If you do it right, you will keep your customers happy
and loyal. But if you trip up, a crippled IVR system frustrates customers and loses sales.
Fortunately, help is available. IVR development has moved forward from its pioneering days, and the trend today is for smaller and less expensive IVR applications that leverage affordable PC technology. The programming tools available to build these systems offer rapid application development (RAD) capabilities riding on top of popular development tools, such as Microsoft's Visual Basic. These tools can turn IVR into a "bolt-on technology" so that developers can make just about any application answer the phone and speak with callers.
Multitasking Muscle
IVR builds on audiotex technology, the venerable method of using telephony and audio menus. However, IVR goes beyond simple menu trees by helping callers to perform calculations on-line or talk directly to an application using enhanced speech-recognition technology. When it's time for the system to respond to caller inquir
ies, recorded messages are just one option. IVR systems can send faxes or E-mail and even talk to you using text-to-speech and simultaneous voice/data technologies.
In the corporate world, IVR systems typically use distributed databases on servers that are linked via client/server middleware, such as Open Database Connectivity (ODBC), Ethernet, or TCP/IP networks (see the sidebar
"Hardware Building Blocks"
). By nature, IVR applications support multiple operations. If you're building an application for an OS that isn't multitasking--for example, DOS and Windows 3.1--you have your work cut out for you.
But don't gloat, even if you develop for Windows NT and 95, Unix, or OS/2. Within these multitasking OSes, it's difficult to do the real-time parallel programming necessary for IVR because you have to allocate resources among so many ports. You must launch many processes that run in parallel and share resources in real time. Each process must compete with other processes for processor time,
memory, and IVR devices. If you don't handle this well, callers will experience delays, and in the IVR world, every delay is a threat that callers will hang up.
To deal with the trickiness of real-time multitasking and interprocess communications (IPC) with a single-tasking OS, you must learn how to make up for the OS's deficiencies. If you're using DOS, the IVR system must be able to shut down single-tasking OS services to run tasks in parallel. For example, the product might boot DOS and then shut the OS down while the IVR server becomes the OS.
In multitasking environments, a device-manager process can ensure that the IVR system allocates ports evenly among tasks. You might also consider using multiprocessing computers that have the ability to assign tasks to specific processors to reduce the risk of processes getting in each other's way.
High-Level Programming
Fortunately, a number of IVR development tools exist that can help you sort out the complexities of buildin
g an IVR system. There are three basic types of IVR development environments: applications generators, third-generation languages (3GLs) using IVR APIs, and fourth-generation-language (4GL) development environments with value-added IVR capabilities.
Applications generators can speed development time by freeing you from the low-level details of programming. What does programming freedom mean for IVR? For one thing, applications generators directly address the problems of multitasking. Even if you're building a system for DOS or Windows, a generator can provide an executable that makes the application run like a multitasking OS. The applications generator moves the underlying OS out of the way to perform these complex operations. You simply write a single-tasking application description and then scale to the requirements of your IVR system.
Applications generators also have built-in mechanisms to communicate with IVR hardware, and there's no need to write to hardware-specific APIs or to various pr
oprietary phone systems. In addition, applications generators provide debugging tools, voice-prompt recording software, and other toolkits to help you build IVR applications.
Choices include Info Systems' Talkie, International Voice Systems' IVS Builder, and Lucent's (formerly AT&T's) Intuity Conversant. These products offer graphical point-and-click interfaces with script- and forms-based IVR development systems. They also include IVR-oriented libraries and components for use with C and C++ or with client/server development environments, such as Visual Basic, PowerBuilder, and Delphi.
Just keep in mind that IVR applications generators are task specific. Don't expect them to perform other applications development chores for you.
Higher-End Tools
Turnkey IVR systems with 4GL environments generally fall into the high-end and midrange categories. High-end products cost as much as $100,000 and can serve hundreds or even thousands of callers simultaneously.
For example
, Invesco Funds, a mutual-fund brokerage in Denver, Colorado, uses five Intuity Conversant systems. Each system has two T-1 trunks (equivalent to 48 lines), which lets Invesco handle a total of 240 lines distributed across all its systems. Invesco can process as many as 40,000 calls per day. Using Ethernet, the IVR systems link to remote databases running on several NCR 3600 minicomputers that act as database servers for account information.
Like a lot of high-end IVR products, Conversant sits at the end of a toll-free phone number. Callers using Conversant can call this number to find out the value of a fund, or, when they supply a personal identification number, receive account balances and private information.
You can tell midrange IVR systems from high-end systems largely by caller capacity: midrange systems allow fewer simultaneous callers. Typically, high-end systems can handle hundreds of callers simultaneously, while midrange systems top out at less than 100 callers. Midrange systems, ho
wever, are more affordable; they cost tens of thousands--rather than hundreds of thousands--of dollars. Both classes of systems usually work with standard 4GL development environments for DOS or Windows, which means you can customize an IVR system to meet your individual needs.
For example, Voysys sells boards and software that ride on top of ISA-bus computers. With the company's VoysAccess, you can build IVR applications using FoxPro or Visual Basic. FoxPro provides the programming language as well as the database. If FoxPro isn't your favorite environment, then consider VoysAccess for Visual Basic or
Pronexus's VBVoice
, which comes in 16- and 32-bit versions. Like VoysAccess, VBVoice is a PC-based development environment for rolling your own IVR applications.
Visual Voice Pro
, from Stylus Innovation, employs custom controls, such as VBXes and OCXes, as well as DLLs that you can access from most applications development environments. Visual Voice Pro ha
ndles up to 24 calls simultaneously and supports Telephony API (TAPI)-compliant hardware, multiline voice-response boards, and most fax modems.
Press for Success
Even with the best tools available, you still need careful planning and solid programming techniques to launch a successful IVR installation (for more information, see the sidebar
"IVR Tips"
). Like any complex application, IVR systems require testing, debugging, and a sound design.
But with careful planning and the right programming tools, the telephone keypad can act as an aid to unlock corporate information rather than acting as the panic buttons for an IS staff.
WHERE TO FIND
Lucent Technologies, Inc.
Basking Ridge, NJ
(800) 325-7466, ext. 895
(908) 953-3943
http://www.att.com
Pronexus
Carp, Ontario, Canada
(613) 839-0033
fax: (613) 839-0035
http://www.voysys.com
Stylus Innovation
(a division of Artisoft)
Cambridge, MA
(617) 621-9545
fax: (617) 621-7862
sales@stylus.com
http://www.stylus.com
Voysys Corp.
Fremont, CA
(800) 786-9797
(510) 252-1100
fax: (510) 252-1101
http://www.voysys.com