Cisco Unified CallManager System Guide, Release 5.0(1)
Computer Telephony Integration
Downloads: This chapterpdf (PDF - 205.0KB) The complete bookPDF (PDF - 5.16MB) | Feedback

Computer Telephony Integration

Table Of Contents

Computer Telephony Integration

Computer Telephony Integration Applications


Media Termination Points

CTI-Controlled Devices

User Management and CTI Controlled Devices

Applications That Monitor and Control All CTI-Controllable Devices

Dependency Records

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 on the basis of information that caller ID provides. CTI applications can also enable you to use information that an interactive voice response (IVR) system captures, so the call can be routed to the appropriate customer service representative or so the information is provided to the individual who is receiving the call.

This section covers the following topics:

Computer Telephony Integration Applications


CTI-Controlled Devices

User Management and CTI Controlled Devices

Applications That Monitor and Control All CTI-Controllable Devices

Dependency Records

CTI Redundancy

CTI Configuration Checklist

Where to Find More Information

Computer Telephony Integration Applications

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

Cisco IP Communicator—Cisco IP Communicator, 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 Communicator 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 choose an appropriate extension.

Cisco CallManager Attendant Console—This application provides a graphical user interface for controlling a Cisco IP Phone to perform attendant console functions.

Cisco WebDialer—Cisco WebDialer, which is installed on a Cisco CallManager server and is used in conjunction with Cisco CallManager, allows Cisco IP Phone users to make calls from web and desktop applications.

Note To determine which Cisco CallManager CTI applications support Cisco SIP IP phones, refer to the application-specific documentation.


A program called CTIManager includes the CTI components that interface with the applications that are separated out of Cisco CallManager. The CTIManager service communicates with Cisco CallManager by using the Cisco CallManager communication framework, System Distribution Layer (SDL). Installation of the CTIManager program occurs on the Cisco CallManager server during the Cisco CallManager installation. You can have one or more CTIManagers 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.

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

CTIManager provides two advanced, clusterwide service parameters that are used in conjunction with the CTI Super Provider capability:

Maximum Devices Per Provider—This parameter specifies the maximum number of devices that a single CTI application can open. The default specifies 2000 devices.

Maximum Devices Per Node—This parameter specifies the maximum number of devices that all CTI applications can open on any CTIManager node in the Cisco CallManager system. The default specifies 800 devices.

If the configured limits are exceeded, CTI generates alarms, but the applications continue to operate with the extra devices. For more information on CTI Super Provider, see the "User Management and CTI Controlled Devices" section.

Media Termination Points

CTI applications can terminate media on CTI ports and CTI route points in the following ways:

Static IP address and port number—Specify the media IP address and port number when the device gets opened. In this case, the media always terminates at the same IP address and port for all calls that are on that device. Only one application can terminate the media in this way.

Dynamic IP address or port number—Specify the media IP address or port number on a per-call basis. For each call that requires a media termination, notification gets sent to the application that requests the media termination information. The application then must send the IP address or port number back, so the media can go through. You can specify only the IP address or port number on a per-call basis. The capabilities of the device still get specified statically when the device is opened. With dynamic media termination, multiple applications can open a device (CTI port or route point) for media termination as long as the capabilities that each application specifies stay the same.

CTI-Controlled Devices

The following CTI-controlled device types exist:

Cisco IP Phones (SCCP and SIP)

Note CTI applications support only some Cisco SIP IP phones; for example, the Cisco SIP IP Phone 7940 and 7960 are not supported.

CTI ports

CTI route points

Cisco IP Phones

CTI-controlled Cisco IP Phones comprise SCCP phones that a CTI application can control. CTI supports Cisco SIP IP Phones (models 7911, 7941, 7961, 7970, and 7971) from the CTI interfaces JTAPI and TAPI, with some limited functionality. CTI applications control and monitor SIP phones in the same manner as CTI controlled/monitored SCCP phones.

For SCCP phones, outbound dialing supports enbloc (the phone collects all digits before passing them to Cisco CallManager for routing) or digit-by-digit collection. If dialing is done digit-by-digit, a CTI dialing call state notification gets sent to the phone when it goes off hook and the first digit is pressed for an outgoing call. For enbloc outbound dialing, the dialing call state notification gets delayed until the phone collects all the digits and sends them to Cisco CallManager for routing.

For SIP phones, enbloc dialing always gets used even if the user first goes off hook before dialing digits; the phone will wait until all the digits are collected before sending the digits to Cisco CallManager. This means that the dialing call state notification will only get generated after enough digits are pressed on the phone to match one of the configured dialing patterns. In all cases, the dialing state notifications will always get generated prior to the call being routed to the destination (as is the case with SCCP phones).

SIP phones control when and how long to play reorder tone. When a SIP phone receives a request to play reorder tone, it releases the resources from Cisco CallManager and plays reorder tone. Therefore, the call appears to be idle to a CTI application regardless of when reorder tone is played on the phone. In these scenarios, applications can receive and initiate calls from the phone whether there is reorder tone being played by the phone. Because resources have been released on Cisco CallManager, the call does not count against the busy trigger and maximum number of call counters (that are configured on the Directory Number Configuration window).

Note Cisco SIP IP phones that are configured to use UDP as the transport mode (instead of TCP) will not support the device data pass-through functionality; for example, the Quality Reporting Tool (QRT) requires the data pass-through functionality, so it cannot be used with IP phones configured with UDP.

CTI Ports

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 by using the same Cisco CallManager Administration windows as you use to configure phones. For first-party call control, you must add a CTI port for each active voice line.

CTI Route Point

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. Applications can answer calls at a route point and can also redirect calls to a CTI port or IP phone. Route points can receive multiple, simultaneous calls; therefore, applications wanting to terminate media for calls at route points must specify the media and port for the call on a per-call basis.

CTI route points support the following features:

Answer a call

Make and receive multiple active calls

Redirect a call

Hold a call

Unhold a call

Drop a call

When a call arrives at a route point, the application must handle (accept, answer, redirect) it within a specified time. To configure the time that is allowed to answer a call, use the Cisco CallManager CTI New Call Accept Timer service parameter. Use the Directory Number Configuration window in Cisco CallManager Administration to configure the number of simultaneous active calls on the route point.

Note If you are planning to use a TAPI application to control CTI port devices by using the Cisco TAPI Service Provider (TSP), 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 answer the call and call forwarding.

CTI devices (CTI ports, CTI route points) must associate with device pools that contain the list of eligible Cisco CallManagers for those devices. For general instructions on how to configure settings for CTI ports, refer to the "Configuring Cisco IP Phones" section in the Cisco CallManager Administration Guide. For general instructions on how to configure settings for CTI route points, refer to the "Configuring 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 IP Communicator, refer to the documentation and online help that is provided with that application.

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

User Management and CTI Controlled Devices

To allow a CTI application to control or monitor devices, the devices must be assigned to the end user or application user that is associated with the CTI application. This gets done by using the End User or Application User Configuration windows in Cisco CallManager Administration. From the Device Association pane of the User Configuration window, an administrator associates the desired devices to the Controlled Devices list.

To allow CTI applications access to certain CTI capabilities, the end user or application user that is associated with the application must be added to one or more of the following CTI-related user groups:

Standard CTI Allow Call Park Monitoring—This user group allows an application to receive notification when calls are parked/unparked to all Call Park directory numbers.

Standard CTI Allow Calling Number Modification—This user group allows an application to modify the calling party number in supported CTI applications.

Standard CTI Allow Control of All Devices—This user group allows an application to control or monitor any CTI-controllable device in the system.

Standard CTI Allow Reception of SRTP Key Material—This user group allows an application to receive information that is necessary to decrypt encrypted media streams. This group typically gets used for recording and monitoring purposes.

Standard CTI Enabled—This user group, which is required for all CTI applications, allows an application to connect to Cisco CallManager to access CTI functionality.

Standard CTI Secure Connection—Inclusion into this group will require that the application have a secure (TLS) CTI connection to Cisco CallManager if the Cisco CallManager cluster security is enabled.

Note The CTI application must support the specified user group to which it gets assigned. Refer to the appropriate application documentation for more information.

For more information on End User and User Group Configuration, see Adding an End User and Adding Users to a User Group in the Cisco CallManager Administration Guide.

Note Cisco recommends that users associated with the Standard CTI Allow Control of All Devices user group also be associated with the Standard CTI Secure Connection user group.

Applications That Monitor and Control All CTI-Controllable Devices

By adding an application user to the user group, Standard CTI Allow Control of All Devices, a CTI application can control any CTI-controllable devices that are configured in the Cisco CallManager system. These applications sometimes get referred to as super provider applications. CTI super provider application dynamically associates/disassociates devices to/from an application control list, so this list/set of devices could be a variable list/set. For example, if 10,000 CTI-controllable devices exist in a Cisco CallManager cluster, and CTI scalability limit is 2500 per provider, the application can open 2500 devices out of 10,000 devices (the number of devices gets configured by using service parameters; see the "CTIManager" section). For CTI super provider applications, these 2500 devices do not remain fixed because applications can close these devices and open another set of 2500 devices, which makes this a variable set of devices (within CTI scalability limits).

The system administrator configures the CTI super provider capability by adding the application user or end user to the Standard CTI Allow Control of All Devices user group. The administrator uses the User Groups Configuration window in Cisco CallManager Administration to add users to user groups.

For information about CTI-controllable devices, see the "CTI-Controlled Devices" section.

All CTI applications with super provider capability exercise control over any CTI-controllable devices in the system. If an application needs to know only the status of a device, it opens the device and gets the status. Because CTI super provider controls any device, you cannot exclude any device from CTI super provider control. CTI system limits determine the maximum number of devices that a CTI application can control. See the "CTIManager" section for a description of CTI maximum limits. If the limits are exceeded, CTI generates alarms.

If a CTI application monitors a call park number, you must add the application to the Standard CTI Allow Call Park Monitoring user group (see Finding a User Group in the Cisco CallManager Administration Guide).

Dependency Records

To find the directory numbers that a specific CTI route point is using, click the Dependency Records link that is provided on the Cisco CallManager Administration CTI Route Point Configuration window. The Dependency Records Summary window displays information about directory numbers that are using the route point. To find out more information about the directory number, click the directory number, and the Dependency Records Details window displays. If the dependency records are not enabled for the system, the dependency records summary window displays a message.

For more information about Dependency Records, refer to Accessing Dependency Records and Deleting a CTI Route Point in the Cisco CallManager Administration Guide.

CTI Redundancy

CTI provides recovery of failure conditions that result from a failed Cisco CallManager node within a cluster and failure of a CTIManager. This section describes the failover and fallback 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 that is assigned to the device pool to determine which Cisco CallManager to use to recover the CTI devices and phones that the applications opened.

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. If no other Cisco CallManager in the group is available, the devices remain out of service. When those devices successfully rehome to another Cisco CallManager, the CTIManager notifies the application that the devices are back in 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 occur for a long time, especially for route points that can handle many simultaneous calls.

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 that are connected to the CTIManager can recover the affected resources by reopening these devices on another CTIManager. An application determines which CTIManager to use on the basis of CTIManagers that 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 that 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 completes.

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

Application Failure

In the Application Heartbeat Maximum Interval and Application Heartbeat Minimum Interval parameters, 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 an application (TAPI/JTAPI or an application that directly connects to the CTIManager) fails, the CTIManager closes the application and redirects unterminated calls at CTI ports and route points to the application that configured the call forward on failure (CFOF) number. The CTIManager also routes new calls into CTI ports and route points that an application does not open to the application CFNA number.

CTI Configuration Checklist

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

Note To make the CTI application secure, consult the information on configuring authentication and encryption for CTI in the Cisco CallManager Security Guide.

Table 45-1 CTI Configuration Checklist 

Configuration Steps
Procedures and Related Topics

Step 1 

Configure the appropriate CTIManager and Cisco CallManager service parameters.

Service Parameters Configuration, Cisco CallManager Administration Guide

Step 2 

Add and configure an IP phone, CTI route points, or ports for each CTI application.

Configuring a CTI Route Point, Cisco CallManager Administration Guide

Configuring Cisco IP Phones, Cisco CallManager Administration Guide

Step 3 

Configure the directory number for the CTI device.

Configuring a Directory Number, Cisco CallManager Administration Guide

Step 4 

Associate all devices that the application will use with the appropriate Cisco CallManager group (via the device pool).

Configuring a Device Pool, Cisco CallManager Administration Guide

Step 5 

Configure the end users and application users that will use CTI applications. Add the device that is used for CTI applications (for example, IP phone, CTI port) to the Controlled Devices list that is on the End User and Application Users Configuration window.

Adding an End User, Cisco CallManager Administration Guide

Adding an Application User, Cisco CallManager Administration Guide

Step 6 

Add the end users and application users to the Standard CTI Enabled user group.

Note All CTI users must be in the Standard CTI Enabled user group, but they may also be in other CTI user groups.

Adding Users to a User Group, Cisco CallManager Administration Guide

Step 7 

Activate the CTIManager service on the appropriate servers, if not already activated.

Cisco CallManager Serviceability Administration Guide

Step 8 

Install and configure your applications.

Refer to the documentation that is provided with your application.

Step 9 

Restart application engine (if required).

Refer to the documentation that is provided with your application.

Where to Find More Information

Related Topic


Additional Cisco Documentation

Cisco JTAPI Developer Guide

Cisco TAPI Developer Guide

Cisco CallManager Serviceability Administration Guide

Cisco CallManager Serviceability System Guide

Cisco CallManager Security Guide