Skip to main content

         This documentation site is for previous versions. Visit our new documentation site for current releases.      

Getting started with OpenCTI

Updated on January 5, 2022

Pega Call provides seamless integration with third-party Computer Telephony Integration (CTI) systems. With the OpenCTI framework, a component of Pega Call, you can integrate Pega Call with any CTI system through a browser-based JavaScript API.

Note: You can integrate Pega Call with a CTI server through client-side integration with the OpenCTI framework or server-side integration with integration connectors. For more information on a server-side integration, see the Developer Guide for Server-side Integration on Pega Documentation.

With OpenCTI, you can make calls from any telephony device directly to Pega Call without installing CTI adapters on your system.

The Open CTI framework supports two types of client-side integration:


Pega Call provides a set of events that lets you integrate Voice AI and Pega Customer Service.

When building an integration of Voice AI and Pega Customer Service, you need to handle additional events in your custom connector or adapter, similar to the Pega Call events, as described in JSON schema properties for OpenCTI.


Ensure that you complete the prerequisites for creating an OpenCTI client-side integration.

Before you begin, ensure that you complete the following items:

  • Review and understand the following information:
    • The telephony and contact center terminology and architecture.
    • The Pega Call framework.
    • The Pega Platform framework.
    • The third-party telephony system of your choice and the API that is used to integrate with the system.
  • Install the latest version of Pega Call. For more information, see the Pega Call Installation Guide.
  • Obtain appropriate access to the CTI server which you are connecting.
  • Set up a lab environment with telephony and a contact center configured, for example, telephones, users, and queues.
  • Check that you have stable network connectivity.

OpenCTI desktop architecture

The OpenCTI desktop framework consists of a collection of JavaScript functions that are used to send requests to the Computer Telephony Integration (CTI) server and receive events from the CTI server.

This framework consists of two layers:

OpenCTI Desktop Interface
This interface specifies the functions that are called by various user actions, such as the change of an agent state from Unavailable to Available or the change of a call state, such as Hold or In Progress.
OpenCTI Desktop Implementation
This layer implements the OpenCTI interface for communication with the CTI server.

The following figure highlights the Pega-provided components in the OpenCTI framework architecture:

    • Pega Call rules.
    • Pega Platform application or Pega Customer Service application.
    • Pega desktop with Call Control Panel.
OpenCTI architecture
The Pega-provided components in the OpenCTI architecture.

The flow of requests to the CTI server

Requests are generated from actions that the CSR performs in the Call Control Panel, such as answering or hanging up a call.

Requests are sent from the Call Control Panel to the OpenCTI Desktop Interface layer, which then passes them to the OpenCTI Implementation layer.

In the OpenCTI Implementation layer, the appropriate JavaScript function sends the correct request to the Computer Telephony Integration (CTI) server.

OpenCTI flow of requests
OpenCTI flow of requests from the Call Control Panel to the CTI server.

The flow of events from the CTI server

Events are sent from the Computer Telephony Integration (CTI) server to the OpenCTI Desktop framework to indicate a change in the status of the extension or the agent state. The CTI server events that the OpenCTI desktop layer receives are converted into a format that Pega Call understands. The events are forwarded to the Pega layer, which updates the Call Control Panel.

As an OpenCTI developer, you build JavaScript implementation functions that process events received from the CTI Server and convert them into Pega Call events. The JavaScript functions are the point of entry for all events into the system

For example, the CTI server sends an event to the OpenCTI desktop framework to notify that a call is connected on a CSR phone. In the OpenCTI framework, a JavaScript function processes and converts the received event into the Pega Call event format and sends it to the Pega layer. Then, the Pega layer triggers a change in the Call Control Panel that is displayed to the CSR and notifies them that a call is connected.

OpenCTI flow of events
The CTI server sends an event to the OpenCTI desktop framework.

Have a question? Get answers now.

Visit the Support Center to ask questions, engage in discussions, share ideas, and help others.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best. is not optimized for Internet Explorer. For the optimal experience, please use:

Close Deprecation Notice
Contact us