Cisco CallManager System Guide, Release 4.1(3)
Computer Telephony Integration

Table Of Contents

Computer Telephony Integration

Computer Telephony Integration Applications

CTIManager

Media Termination Points

CTI-Controlled Devices

CTI Super Provider

Dependency Records

CTI Redundancy

Cisco CallManager

CTIManager

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

CTIManager

CTI-Controlled Devices

CTI Super Provider

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 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 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.

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

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.

Configuring CTI in the User Configuration Window

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 in the Add a User window. If you do not check this check box, the CTI application does not work properly.

If the CTI application needs to control any CTI-controllable device (such as a CTI route point, CTI port, or IP phone) in the cluster, check the Enable CTI Super Provider check box in the Add a User window of Cisco CallManager Administration. You must also check the Enable CTI Application check box.


Note To avoid potential security problems, enable CTI Super Provider to trusted applications only.


CTIManager

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 in the ..\Program Files\Cisco\bin\ folder 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 1000 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 2000 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 "CTI Super Provider" section.

Media Termination Points

CTI applications can use media termination points for CTI ports and CTI route points in the following ways:

Static IP address or port number—Specify the media IP address or port number when the device gets opened. In this case, the media always terminates at the same IP address or 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 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

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 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.

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 be redirected to a CTI port or IP phone. Route points can receive multiple, simultaneous calls; therefore, the application 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 system must accept or answer it within a specified time. Use the Directory Number Configuration window in Cisco CallManager Administration to configure the number of simultaneous active calls on the route point that can terminate at media. To configure the time that is allowed to answer a call, use the CTI New Call Accept Timer service parameter.


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 "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 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).

CTI Super Provider

CTI Super Provider allows a CTI application to control several (possibly all) CTI-controllable devices that are configured in the Cisco CallManager system. CTI Super Provider 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 10,000 devices (the number of devices is configured by using service parameters; see the "CTIManager" section). For CTI Super Provider, these 2500 devices comprise not fixed ones 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 super provider capability by using the User Configuration window in Cisco CallManager Administration. (See the Adding a New User chapter in the Cisco CallManager Administration Guide.)

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

All CTI applications with super provider capability exercise control over all 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 all devices, 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.

When configuring CTI Super Provider by using the User Configuration window, you must check the Enable CTI Application check box. Additionally, if the application monitors a call park number, you must check the Call Park Retrieval Allowed check box.

Dependency Records

To find out 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

CTIManager

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.

CTIManager

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 and Application Heartbeat Minimum 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 42-1 provides steps to configure Cisco CallManager for CTI applications.

Table 42-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 that is provided with your application.

Step 4 

Activate the CTIManager service on the appropriate servers.

Cisco CallManager Serviceability Administration Guide

Step 5 

Configure the appropriate CTIManager and Cisco CallManager service parameters.

Service Parameters Configuration, Cisco CallManager Administration Guide

Step 6 

Restart the CTIManager service.

Cisco CallManager Serviceability Administration Guide

Step 7 

Check the Enable CTI Application Use check box in the User Configuration window for the user who is associated with the application.

Adding a User, Cisco CallManager Administration Guide

Step 8 

Check the Enable CTI Super Provider check box if your application must control any device.

Adding a User, Cisco CallManager Administration Guide

Step 9 

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 10 

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

Adding a Device Pool, Cisco CallManager Administration Guide

Step 11 

Restart application engine (if required).

Refer to the documentation that is provided with your application.

Where to Find More Information

Related Topics

Services

Redundancy

Additional Cisco Documentation

Cisco JTAPI Developer Guide

Cisco TAPI Developer Guide

Cisco CallManager Serviceability Administration Guide

Cisco CallManager Serviceability System Guide