Cisco CallManager System Guide, Release 3.1(1)
Computer Telephony Integration

Table Of Contents

Computer Telephony Integration

Computer Telephony Integration Applications


CTI Controlled Devices

CTI Redundancy

Cisco CallManager


Application Failure

CTI Configuration Checklist

Where to Find More Information

Computer Telephony Integration

Computer telephony integration (CTI) enables you to leverage computer-processing functions while making, receiving, and managing telephone calls. CTI applications allow you to perform such tasks as retrieving customer information from a database based on information provided by caller ID. CTI applications can also enable you to use information captured by an interactive voice response (IVR) system, so that the call can be routed to the appropriate customer service representative or so that the information is provided to the individual receiving the call.

This section covers the following topics:

Computer Telephony Integration Applications


CTI Controlled Devices

CTI Redundancy

Where to Find More Information

Computer Telephony Integration Applications

The following list contains descriptions of some of the available Cisco CTI applications:

Cisco IP SoftPhone—Cisco IP SoftPhone, a desktop application, turns your computer into a full-feature telephone with the added advantages of call tracking, desktop collaboration, and one-click dialing from online directories. You can also use Cisco IP SoftPhone in tandem with a Cisco IP phone to place, receive and control calls from your desktop PC. All features function in both modes of operation.

Cisco IP AutoAttendant—The Cisco IP AutoAttendant application works with Cisco CallManager to receive calls on specific telephone extensions and to allow the caller to select an appropriate extension.

Cisco WebAttendant—Cisco WebAttendant provides a graphical user interface for controlling a Cisco IP phone to perform attendant console functions.

Personal Assistant—Personal Assistant, a virtual secretary or personal assistant, can selectively handle your incoming calls and help you make outgoing calls.

Note When you create a user in Cisco CallManager Administration, and the user is going to use a CTI application, be sure to check the Enable CTI Application Use check box on the Add a User pane. If you do not check this check box, the CTI application does not work properly.


A program called CTIManager includes the CTI components that interface with the applications separated out of CallManager. The CTIManager service communicates with Cisco CallManager using the Cisco CallManager communication framework, System Distribution Layer (SDL). Installation of the CTIManager program occurs in the ..\Program Files\Cisco\bin\ folder on the Cisco CallManager server during the Cisco CallManager installation. One or more CTIManagers can be active in a cluster, but only one CTIManager can exist on an individual server. An application (JTAPI/TAPI) can have simultaneous connections to multiple CTIManagers; however, an application can use only one connection at a time to open a device with media termination.

In previous releases, applications connected to a single Cisco CallManager in a cluster. Under this structure, an application could only access the resources and functionality in that Cisco CallManager. As a result, a single Cisco CallManager failure was catastrophic to an application. In addition, when resources in a failed CallManager rehomed to another CallManager in the cluster, those resources became unavailable to the application until these resources rehomed to the Cisco CallManager to which the application had connected.

With the addition of the CTIManager in the 3.1 release, applications can access resources and functionality of all Cisco CallManagers in the cluster and have improved failover capability. When a CTIManager fails, the application can access the secondary CTIManager only if the application supports it (for JTAPI apps) or if the Cisco TAPI Service Provider (Cisco TSP) is properly configured (for TAPI apps). For more information about failover and failback, see to the "CTI Redundancy" section.

CTI Controlled Devices

The following three types of CTI control devices exist:

Cisco IP phones

CTI ports

CTI route points

CTI-controlled Cisco IP phones comprise regular phones that a CTI application can control.

CTI ports as virtual devices can have one or more virtual lines, and software-based Cisco CallManager applications such as Cisco SoftPhone, Cisco AutoAttendant, and Cisco IP Interactive Voice Response (IVR) use them. You configure CTI ports through the same Cisco CallManager Administration area as phones. For first-party call control, you must add a CTI port for each active voice line.

A CTI route point virtual device can receive multiple, simultaneous calls for application-controlled redirection. You can configure one or more lines on a CTI route point that users can call to access the application.

Note If you are planning to use a TAPI application to control CTI port devices using the Cisco TAPI Service Provider (TSP), then you may only configure one line per CTI port device.

Applications that are identified as users can control CTI devices. When users have control of a device, they can control certain settings for that device, such as speed dial and call forwarding.

CTI devices (CTI ports, CTI route points) must associate with device pools containing the list of eligible Cisco CallManagers for those devices. For general instructions on how to configure settings for CTI ports, refer to the "Adding a Phone" section in the Cisco CallManager Administration Guide. For general instructions on how to configure settings for CTI route points, refer to the "Adding a CTI Route Point" section in the Cisco CallManager Administration Guide. For information on how to configure CTI ports and route points for use with a specific application, such as Cisco SoftPhone, refer to the documentation and online help provided with that application.

When a CTI device fails (during a Cisco CallManager failure, for example), Cisco CallManager maintains media streams already connected between devices (for devices that support this feature). Calls in the process of being set up or modified (transfer, conference, redirect, and so on) are dropped.

CTI Redundancy

CTI provides recovery of failure conditions resulting from a failed Cisco CallManager node within a cluster and failure of a CTIManager. This section describes the failover and failback capabilities of the following components:

Cisco CallManager


Applications (TAPI/JTAPI)

Cisco CallManager

When a Cisco CallManager node in a cluster fails, the CTIManager recovers the affected CTI ports and route points by reopening these devices on another Cisco CallManager node. If an application has a phone device open, the CTIManager also reopens the phone when the phone fails over to a different Cisco CallManager. If the Cisco IP phone does not fail over to a different Cisco CallManager, the CTIManager cannot open the phone or a line on the phone. The CTIManager uses the Cisco CallManager group assigned to the device pool to determine which Cisco CallManager to use to recover the CTI devices and phones opened by the applications.

When the CTIManager initially detects the Cisco CallManager failure, it notifies the application (JTAPI/TAPI) that the devices on that Cisco CallManager went out of service. When those devices successfully rehome to another Cisco CallManager, the CTIManager notifies the application that the devices are back in service. If no other Cisco CallManager in the group is available, the devices remain out of service.

When a failed Cisco CallManager node comes back in service, the CTIManager rehomes the affected CTI ports/route points to their original Cisco CallManager. The rehoming process starts when calls are no longer being processed or active on the affected device. Because devices cannot be rehomed while calls are being processed or active, the rehoming process may not be done for a long period, especially for route points that can handle many simultaneous calls.

Applications may specify to prevent the recovery of CTI-controlled devices that include route points, CTI ports, and IP phones. If an application prevents the recovery of these devices, the CTI ports and route points close when a Cisco CallManager fails. The application also loses control of the CTI-controlled IP phones; however, this does not affect the ability of the phone to rehome to another Cisco CallManager.

If none of the Cisco CallManagers in the Cisco CallManager group is available, the CTIManager waits until a Cisco CallManager comes into service and tries to open the CTI device again. If for some reason the Cisco CallManager cannot open the device or associated lines when it comes back into service, the CTIManager closes the device and lines.


When a CTIManager fails, the applications connected to the CTIManager can recover the affected resources by reopening these devices on another CTIManager. An application determines which CTIManager to use based on the CTIManagers you defined as primary and backup when you set up the application (if supported by the application). When the application connects to the new CTIManager, it can reopen the devices and lines previously opened. An application can reopen a Cisco IP phone before the phone rehomes to the new Cisco CallManager; however, it cannot control the phone until the rehoming is complete.

Note The applications do not rehome to the primary CTIManager when it comes back in service. The applications do not rehome to the primary CTIManager when it comes back in service. Applications failback to the primary CTIManager if you restart the application or if the backup CTIManager fails.

Application Failure

In the CTIApplicationHeartbeatTime parameter, you define the interval at which applications send messages to the CTIManager. The CTIManager determines that an application has failed if it does not receive a message from the application in two consecutive intervals. When a application (TAPI/JTAPI or an application directly connected to the CTIManager) fails, the CTIManager closes the application and redirects unterminated calls at CTI ports and route points to the application configured call forward on failure (CFOF) number. The CTIManager also routes new calls into CTI ports and route points an application does not open to the application CFNA number.

CTI Configuration Checklist

Table 34-1 provides steps to configure Cisco CallManager for CTI applications.

Table 34-1 CTI Configuration Checklist

Configuration Steps
Procedures and Related Topics

Step 1 

Add and configure CTI route points or ports for each CTI application.

Adding a CTI Route Point, Cisco CallManager Administration Guide

Adding a Phone, Cisco CallManager Administration Guide

Step 2 

Configure the directory number for the CTI device.

Adding a Directory Number, Cisco CallManager Administration Guide

Step 3 

Install and configure your applications.

Refer to the documentation provided with your application.

Step 4 

Configure the appropriate CTIManager and Cisco CallManager service parameters.

Updating a Service Parameter, Cisco CallManager Administration Guide

Step 5 

Restart the CTIManager service.

Starting and Stopping Services, Cisco CallManager Administration Guide

Step 6 

Check the CTI In Use check box on the User Configuration pane for the user associated with the application.

Adding a User, Cisco CallManager Administration Guide

Step 7 

Ensure that you assign devices to the application (identified as a user) that is to control the devices.

Associating Devices to a User, Cisco CallManager Administration Guide

Step 8 

Ensure that you associate all devices to be used by the application with the appropriate Cisco CallManager group (via the device pool).

Adding a Device Pool, Cisco CallManager Administration Guide

Where to Find More Information

Related Topics

Services, page 10-1

Redundancy, page 6-1

Additional Cisco Documentation

Cisco JTAPI Developer Guide

Cisco TAPI Developer Guide

Cisco CallManager Serviceability Administration Guide