Basic Definitions Relevant for UCCX for Beginners

Basic Definitions Relevant for UCCX for Beginners

Though most of us viewing the posts are professionals having good experience in VoIP technology, however, I am creating the posts with basic stuffs so that beginners  have no difficulty when they start learning the technology. Below are some basic definitions that one should be aware of as we move towards the configuration and troubleshooting:

Java Telephony API (JTAPI)

Java-based API developed by Sun Microsystems (now Oracle) Allows computer programs to perform telephony call control such as placing a call, answering a call, and dropping a call.

Application Programming Interface (API)

A set of routines and protocols that simplifies building software applications. Basically, an API specifies how software components should interact and makes it easier for developers to develop a program by providing all the building blocks.

What is AXL?

The Administrative XML Web Service (AXL) is a XML/SOAP based interface that provides a mechanism for inserting, retrieving, updating and removing data from the Unified Communication configuration database.

CM Telephony User or JTAPI User

It is used to take control of the CTI route points and CTI ports which are registered on call manager.


The Resource Manager (RM) as the name suggests is used to control agent states and monitor agent phones.

The Contact Manager (CM) queues the call and offers it to available agent as requested by Resource Manager.

UCCX opens connection to CTI Manager for both JTAPI and RMCM user. This logical connection is called provider.

There are two types of providers: P1 which is called JTAPI provider and P2 which is called RMCM provider.

JTAPI provider (P1 JTAPI): CUCM Application user, all CTI Route Point and Port devices are registered to this.

RmCm/RM-JTAPI provider (P2 RM-JTAPI): CUCM Application user, all agent devices are registered to this.

P1 JTAPI call events are the call events for Provider 1 (P1), which is known as the JTAPI provider. The JTAPI provider observes calls on CTI Route Points and Ports. Messages are seen via the SS_TEL (CM Telephony Subsystem).

P2 RM-JTAPI call events are the call events for Provider 2 (P2), which is known as the RM-JTAPI provider. The RM-JATPI provider observes calls on agent phones.

CTI Route Point (RP):

Known in UCCX configuration as a trigger. UCCX will be monitoring call events on the CTI RP via a JTAPI call observer. When a call is detected, UCCX will match the RP to a call control group and select an available CTI port to redirect the call to the CTI port for media and script treatment.

Call Control Group (CCG):

A group of CTI ports. CCGs are created on the UCCX Administration page.

CTI Port:

UCCX acts as a soft phone to provide prompt playback and accept media from the caller. A CTI port is registered to a CUCM node and will have the IP address of the UCCX master node.

Contact Service Queue (CSQ):

A queue callers are placed into if there are no available agents to take a call.

What is Computer Telephony Integration?

Computer telephony integration (CTI) is a term that can be used to describe any technology that enables computers to interact with telephones.

CTI is a technology that allows computer systems to interact with telephones and other forms of communication (i.e., email, text messaging, web messaging, live chat, fax, etc.)..

The chart below maps each state to the name of the agent state on Finesse seen in the SS_RM traces in the CCX Engine logs.

Agent State Name of State in CCX Engine
Work/Wrap-up WORK


Don’t worry if you don’t understand any term, things will be clear in upcoming posts.

Feel free to contact me if anyone has any query.

Thank you!!

You may also like...

2 Responses

  1. Pablo says:

    Hi Rakhi,

    I have a question regarding High Availability, i´ve seen deployments where there are 200 CTI Ports in a Call Control Group, but there´s actually 100 licenses available, as I understand it…those ports could be divided among master and slave UCCX. but I still cant figure out how to do that. All I see is that all of those ports are assigned to the JTAPI provider (which I think is correct as your post explains).
    Here´s the actual problem, I have two clients with similar configurations but HA is not working on one of them, if you go to System > Server , It shows the slave in partial service because the service Cisco Unified CCX Engine > Subsystem Manager > Unified CM Telephony Subsystem is OUT OF SERVICE, which I thought it was because the CTI Ports were not “doubled” (it has 100 licenses – 100 CTI Ports), but i´m unable to replicate that configuration…can you point me to the right direction?

    Thanks in advance, this post is really helpfull, I´m experienced in Cisco Collaboration solutions but i´m just getting started with UCCX in particular.

  1. March 23, 2021

    […] Basic Definitions Relevant for UCCX for Beginners ( […]

Leave a Reply

Your email address will not be published. Required fields are marked *