A call object is a temporary object. It is valid for the lifetime of a call. To maintain the call object database and prevent buildup of old call objects, delete call objects at regular intervals. Configure call object purging in a Dynamic System Setting (DSS) to specify the maximum call object age in minutes. Ensure the maximum call object age is long enough so that the object is not deleted while the call is still ongoing. If a call object is purged while the call is still ongoing, specific operations such as call forwarding fails. A scheduled Pega CTI agent purges call objects. Call objects older than the maximum age are deleted each time the scheduled agent runs. A balance should be achieved between the age of a call object, maximum call time, and the interval over which a scheduled agent runs.
Symptom
After a CTI server accepts a call, a flood of runtime errors is observed in production logs.
Error
Unable to read updated Call Interaction for ID!<pycall-ID>
Explanation
A defect or configuration issue in the operating environment
The Computer Telephony Integration (CTI) recycles old call IDs before they are purged from the call object database. Because the Pega CTI agent runs infrequently, the purging of old call objects is delayed.
Environment
The error occurs in the following environments:
- Pega Platform version 7.2.2 on Pega Cloud 2.1
- Pega Platform version 7.4 on-premises
- Pega Platform version 8.2.2 on-premises
Solution
A scheduled agent purges call objects. Perform the following local change:
- Create a new Dynamic System Setting (DSS) to specify the maximum call object age in minutes.
- Set Owning Ruleset field to Pega-ChannelServices value.
- Assign Setting Purpose field to PurgeCallObjects/CallAgeLimit/Default value.
- Enable PurgeCallObjects agent. The default value of the interval is 24 hours. It can be changed to either 2 hours or 3 hours.
Customize ExpiredCallObjects with the following changes:
- Disable paging so that pagination is turned off for ExpiredCallObjects.
- Set a high value for the maximum number of records returned. It allows to capture all call IDs generated in a day. Since a purge event never occurred, setting a high value captures all call IDs.
- Modify CTIService access group so that it has visibility into the custom ruleset where the ExpiredCallObject list view is saved.
Related Content
Pega Call Configuration and Operations Guide for CTI Link Engine with Avaya AES CTI 7.21
Pega Call 8.3 Configuration and Operations Guide CTI Link with Avaya AES CTI