This chapter provides information about Computer telephony
integration (CTI) which 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.
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.
Cisco Unified Communications Manager for CTI applications follow these steps.
To make the CTI application secure, configure authentication and
encryption for CTI.
Configure the appropriate CTIManager and Cisco CallManager service
Add and configure an IP phone, CTI route points, or ports for each
Configure the directory number for the CTI device.
Associate all devices that the application will use with the
Cisco Unified Communications Manager group (via the device pool).
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.
Add the end users and application users to the Standard CTI
Enabled user group.
Ensure all CTI users are in the Standard CTI Enabled user group,
but they may also be in other CTI user groups.
Activate the CTIManager service on the appropriate servers, if not
Install and configure your applications.
Restart application engine (if required).
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 Unified IP Phone to place, receive, and control calls from your desktop PC. All
features function in both modes of operation.
Cisco Unified Communications Manager Auto-Attendant-The
Cisco Unified Communications Manager Auto-Attendant application works with
Cisco Unified Communications Manager to receive calls on specific telephone
extensions and to allow the caller to choose an appropriate extension.
Cisco Web Dialer-Cisco Web Dialer, which is installed on a
Cisco Unified Communications Manager server and is used in conjunction with
Cisco Unified Communications Manager, allows
Cisco Unified IP Phone users to make calls from web and desktop applications.
Cisco Unified Communications Manager Assistant-The
Cisco Unified Communications Manager Assistant feature enables managers and their assistants to
work together more effectively. The feature comprises a call-routing service,
enhancements to phone capabilities for the manager and the assistant, and
assistant console interfaces that are primarily used by the assistant.
To determine which
Cisco Unified Communications Manager CTI applications support SIP IP phones, see
the application-specific documentation. For more information about Cisco SIP
Session Initiation Protocol.
A program called CTIManager includes the CTI components that
interface with the applications that are separated out of
Cisco Unified Communications Manager. The CTIManager service communicates with
Cisco Unified Communications Manager by using the
Cisco Unified Communications Manager communication framework, System Distribution
Layer (SDL). Installation of the CTIManager program occurs on the
Cisco Unified Communications Manager server during the
Cisco Unified Communications Manager installation. 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. See the following
Figure 1. Cisco Unified Communications Manager Components That Are Used to Provide CTI
Services to Applications
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
Maximum Devices Per Node-This parameter specifies the maximum
number of devices that all CTI applications can open on any CTIManager node in
Cisco Unified Communications Manager 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.
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 following CTI-controlled device types exist:
Cisco Unified IP Phones (SCCP and SIP)
CTI applications support only some phones that run SIP; for
example, it does not support the
Cisco Unified IP Phone 7940 and 7960.
CTI route points
If a directory number (DN) is a member of a line group or hunt list,
any device (CTI port, CTI route point, phone that is running SCCP, or phone
that is running SIP) that uses that DN should not be associated with a CTI
CTI devices do not support the multicast Music On Hold feature. If a
CTI device is configured with a multicast MOH device in the media resource
group list of the CTI device, call control issues may result. CTI devices do
not support multicast media streaming.
Cisco Unified IP Phones
Cisco Unified IP Phones comprise phones that are running SCCP that a CTI application
can control. CTI supports SIP on the
Cisco Unified IP Phones (7911, 7941, 7961, 7970, and 7971) from the CTI interfaces
JTAPI and TAPI, with some limitations. CTI applications control and monitor
phones that are running SIP in the same manner as CTI-controlled/monitored
phones that are running SCCP.
For phones that are running SCCP, outbound dialing supports
enbloc (the phone collects all digits before passing them to
Cisco Unified Communications Manager 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 Unified Communications Manager for routing.
When an outbound call is pending on an SCCP device and is not yet connected, Cisco Unified Communications Manager does not process call setup requests for that device until the first call is connected. If you are using a CTI application for outbound dialing, Cisco recommends that you configure an interval between outbound calls to ensure that pending calls are connected before new call requests are initiated.
For phones that are running SIP, 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 Unified Communications Manager. 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 phones that are running SCCP).
Phones that are running SIP control when and how long to
play reorder tone. When a phone that is running SIP receives a request to play
reorder tone, it releases the resources from
Cisco Unified Communications Manager 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 regardless whether reorder tone plays on the phone.
Because resources have been released on
Cisco Unified Communications Manager, the call does not count against the busy
trigger and maximum number of call counters (that are configured on the
Directory Number Configuration window).
Cisco Unified IP Phones with SIP that are configured to use UDP as the transport mode
(instead of TCP) do 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 that are configured with
CTI ports as virtual devices can have one or more virtual
lines, and software-based
Cisco Unified Communications Manager applications such as
Cisco IP Softphone,
Cisco Unified Communications Manager Auto-Attendant, and Cisco Unified IP Interactive Voice
Response (IVR) use them. You configure CTI ports by using the same
Cisco Unified Communications Manager Administration windows as you use to configure
phones. For first-party call control, you must add a CTI port for each active
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. When a CTI application requests to
redirect a call by using the Redirect API,
Cisco Unified Communications Manager uses the configuration for the line/device
calling search space for the redirected party.
Route points can receive multiple, simultaneous calls;
therefore, applications that want 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
Cisco Unified Communications Manager Administration to configure the number of
simultaneous active calls on the route point.
If you are planning to use a TAPI application to control CTI port
devices by using the Cisco CallManager Telephony 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 Unified Communications Managers for those devices.
The maximum number of CTI-controlled devices per node varies
by server class as follows:
MCS-7825 and MCS-7835 servers support up to 800 CTI-controlled
devices per node.
MCS-7845 servers support up to 2500 CTI-controlled devices per
When a CTI device fails (during a
Cisco Unified Communications Manager failure, for example),
Cisco Unified Communications Manager maintains media streams that are already
connected between devices (for devices that support this feature).
Cisco Unified Communications Manager 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,
ensure the devices are 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 Unified Communications Manager 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, ensure the end user or application user that is associated with
the application are added to one or more of the following CTI-related user
Standard CTI Allow Call Monitoring-This user group allows an
application to monitor calls.
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 Call Recording-This user group allows an
application to record calls.
Standard CTI Allow Calling Number Modification-This user group
allows an application to modify the calling party number in supported CTI
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
Standard CTI Enabled-This user group, which is required for all
CTI applications, allows an application to connect to
Cisco Unified Communications Manager 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 Unified Communications Manager if the
Cisco Unified Communications Manager cluster security is enabled.
The CTI application must support the specified user group to which
it gets assigned.
Cisco recommends that users who are 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 Unified Communications Manager 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.
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 Unified Communications Manager Administration to add users to user groups.
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
for a description of CTI maximum limits. If the limits are exceeded, CTI
If a CTI application monitors a call park number, you must
add the application to the Standard CTI Allow Call Park Monitoring user group.
If a CTI application monitors calls, you must add the
application to the Standard CTI Allow Call Monitoring user group. If the CTI
application records calls, you must add the application to the Standard CTI
Allow Call Recording user group.
To calculate the number of CTI monitored lines in a system, use the
number of pilot point DNs + (number of clients open * number of
directory numbers per phone) + (number of parked directory numbers * number of
open clients) = CTI Monitored Lines
IPv6 and CTI
Computer Telephony Integration (CTI) provides IP address
information through the JTAPI and TAPI interfaces, which can support IPv4 and
IPv6 addresses. To support IPv6, applications need to use a JTAPI /TAPI client
interface version that supports IPv6.
To find the directory numbers that a specific CTI route
point is using, choose Dependency Records from the Related Links drop-down list
box that is provided on the
Cisco Unified Communications Manager Administration CTI Route Point Configuration
and CTI Port Configuration windows. 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.
Cisco does not support redundancy for
Cisco Business Edition 5000 systems. CTI provides
recovery of failure conditions that result from a failed
Cisco Unified Communications Manager node within a cluster and failure of a
CTIManager. This section describes the failover and fallback capabilities of
the following components:
When a Cisco Unified Communications Manager node in a cluster fails, the CTIManager recovers the affected CTI ports and route points by reopening these devices on another Cisco Unified Communications Manager node. If an application has a phone device open, the CTIManager also reopens the phone when the phone fails over to a different Cisco Unified Communications Manager. If the Cisco Unified IP Phone does not fail over to a different Cisco Unified Communications Manager, the CTIManager cannot open the phone or a line on the phone. The CTIManager uses the Cisco Unified Communications Manager group that is assigned to the device pool to determine which Cisco Unified Communications Manager to use to recover the CTI devices and phones that the applications opened.
When the CTIManager initially detects the Cisco Unified Communications Manager failure, it notifies the application (JTAPI/TAPI) that the devices on that Cisco Unified Communications Manager went out of service. If no other Cisco Unified Communications Manager in the group is available, the devices remain out of service. When those devices successfully rehome to another Cisco Unified Communications Manager, the CTIManager notifies the application that the devices are back in service.
When a failed Cisco Unified Communications Manager node comes back in service, the CTIManager rehomes the affected CTI ports/route points to their original Cisco Unified Communications Manager. 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 Unified Communications Managers in the Cisco Unified Communications Manager group is available, the CTIManager waits until a Cisco Unified Communications Manager comes into service and tries to open the CTI device again. If for some reason the Cisco Unified Communications Manager 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 Unified IP Phone before the phone rehomes to the new Cisco Unified Communications Manager; however, it cannot control the phone until the rehoming completes.
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.
In the Application Heartbeat Maximum Interval and Application Heartbeat Minimum Interval advanced service parameters, you define the interval at which CTIManager expects to receive a message from the application within 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 configured call forward on failure (CFOF) number. The CTIManager also routes subsequent calls into those CTI ports and route points to the configured Call Forward No Answer (CFNA) number until the application recovers and reregisters those devices.