This chapter outlines the key concepts involved in using Cisco TAPI and lists all the functions available in the Cisco TAPI implementation for Cisco CallManager:
•Architecture, which illustrates how Cisco components integrate with NT telephony architecture
•Call Control, which describes how to provide first and/or third party call control
•CTI Port, which discusses CTI ports for first party call control
The Cisco TAPI service provider shipped with Cisco CallManager 3.0(5) is TAPI version 2.1. (Cisco also supports TAPI version 3.0.)
Figure 1-1 shows how various Cisco components fit into the Microsoft Windows NT telephony and wave architectures.
Figure 1-1 High-Level View of the Windows NT Telephony and Wave Architectures with Cisco Components (shown in gray)
Call Control
You can configure the Cisco TAPI service provider to provide first and/or third party call control.
First Party Call Control
In first party call control, the audio stream is terminated by the application. Ordinarily, this is done using the Cisco wave driver. However, if you want the application instead of the wave driver to control the audio stream, use the Cisco Device Specific extensions.
Third Party Call Control
In third party call control, the control of an audio stream-terminating device is not "local" to the Cisco CallManager. In such cases, the controller might be the physical IP phone on your desk, or a group of IP phones for which your application is responsible.
CTI Port
For first party call control, a CTI port device must exist in the Cisco CallManager. Since each port can only have one active audio stream at a time, most configurations only need one line per port.
A CTI port device does not actually exist in the system until you run a TAPI application and a line on the port device is opened requesting LINEMEDIAMODE_AUTOMATEDVOICE and LINEMEDIAMODE_INTERACTIVEVOICE. Until the port is opened, anyone calling the directory number associated with that CTI port device receives a busy or reorder tone.
CTI Route Point
Another type of device controllable with TAPI is a CTI route point. CTI route points allow Cisco TAPI applications to redirect incoming calls with an infinite queue depth. This allows incoming calls to avoid busy signals.
CTI route point devices have an address capability flag of LINEADDRCAPFLAGS_ROUTEPOINT. When your application opens a line of this type, it can handle any incoming call by disconnecting, accepting, or redirecting the call to some other directory number. Redirection decisions can be based on caller ID information, time of day, or other information available to the program.
Compatibility
The Cisco TAPI service provider is a TAPI 2.1 service provider.
When developing an application, be sure to only use functions supported by the Cisco TAPI service provider. For example, transfer is supported, but fax detection is not. If an application requires a media or bearer mode that is not supported, then it will not work as expected.
The CiscoLineDevSpecificMsgWaiting class is used to turn on or off the message waiting lamp for the line specified by a parameter and is independent of the hLine parameter.