Skip to main content

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

Telephony functions: CTI capabilities invocation from your application

Updated on October 12, 2021

Pega Call provides an API of activities that you can use to invoke device capabilities such as call control and agent state management. For example, you can call an activity to answer a phone call or make a customer service representative (CSR) or agent available to receive phone calls from customers.

These activities are used by the telephony toolbars. You can also invoke the activities from within your application and business processes. The activities are in class ChannelServices-Device-Phone.

In most cases, call and agent state changes generate events from the CTI platform to Pega Call.

Attaching call data on telephony functions

You can associate data with a call when invoking call control requests that place, transfer, or conference calls. Pega Call provides data transform rule(s) in class ChannelServices-Request-CallOptions-Avaya for use with local and remote CTI links that use Avaya AES. Copy the relevant data transform to your application ruleset and modify it to set the data you need to associate with the call.

Note: As of release 8.2, remote links are deprecated and supported only for legacy implementations.

You can review the sample data transform ChannelServices-Request-CallOptions-Avaya.MakeCall. You can set data in the value group pyApplicationData by using subscripts of your choice. Source data includes references to pages on the user’s clipboard.

Note: The Pega Call CTI Link engine for Avaya AES uses the UUI field to attach call data. Properties and their values are set in UUI as an XML-encoded string. The UUI field has a limited length (typically 96 bytes in current versions), depending on your Avaya environment. If you attach call data, you must ensure that you don’t exceed the Avaya limit (including Pega Call and CPM transfer data). If the limit is exceeded, Avaya truncates the data and Pega Call might not parse it, causing problems with call data and/or voice-data transfer.
Note: If you need to transfer the Pega Customer Service interaction context with a call (that is, if you use the voice-data transfer feature), you must ensure that the data transforms PegaCallData and PegaAppData are invoked from the data transforms BlindTransfer, TransferInitiate and ConsultationCall in class ChannelServices-Request-CallOptions-Avaya.
Note: Do not modify rules in the ChannelServices-Request-CallOptions-Remote class. These are for internal use only.

Request and Response Events

In addition to the CTI events (agent state, call state) received from the CTI platform, the toolbars use two events for state change requests:

SoftphoneRequest Event
This event captures information related to a call control or agent state change request. The toolbar sends this event to invoke a corresponding call control or agent state change activity on the Pega server. These activities are described in the section Desktop Telephony Functions.
SoftphoneResponse Event
This event is a response to a SoftphoneRequest event. It indicates that the requested activity was invoked on the Pega server. The event includes the result or error returned by the activity. A “Good” result only indicates that the activity was run – it does not indicate that the call or agent state was changed as requested. A separate agent or call state event should follow, indicating the state change.

Extension point for the OFFERING activity

As a rule, do not override any of the activities used to process Pega Call events. If you need to perform any additional processing when a call arrives at a CSR’s phone (that is, as part of the event handling for OFFERING), you can override the activity pyPrefetch in your call class (for example, ChannelServices-Interaction-Call or PegaCA-CTI-Call).

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