Support Article

Failover functionality is not working for CTI



A multi-node PegaCALL (ML4) with Remote CTI setup, the CTI fail-over function does not work as expected. 

Error Messages

In PegaCTI-ciscocti.my_log-2016-Jul-21.log:
2016-07-21 13:11:34,357 [ACD-MessageProcessor] (ti.messages.SystemEventMessage) DEBUG|SessID=CISCO_TTCTI-ACD|SystemEventMessage.processMessage_v10|SessID=CISCO_TTCTI-ACD|MessageId=-1 an_operator - Received System Event Message: PGStatus [1] ICM controller Time [Thu Jul 21 13:11:34 BST 2016] systemEventId [6] systemEventArg1 [0] systemEventArg2 [0] systemEventArg3 [0] eventDeviceType [65535] textMessage [CTIServer shutdown] eventDeviceId [null] from host [aa.bbb.ccc.dd] port [123456]
2016-07-21 13:11:34,357 [ACD-MessageProcessor] (scoicm.cti.SessionEventHandler) ERROR|SessID=CISCO_TTCTI-ACD|SessionEventHandler.onEvent|SessID=CISCO_TTCTI-ACD|SessionEventHandler.handleSystemEvent|SessID=CISCO_TTCTI-ACD|SessionEventHandler.pgStatus|SessID=CISCO_TTCTI-ACD an_operator - Current PG State [PGS_OPC_DOWN]. Communication lost between the CTI Server and the PG’s Open Peripheral Controller (OPC) process. No call or agent state event messages can be sent due to this condition.
2016-07-21 13:11:34,357 [ACD-MessageProcessor] (scoicm.cti.SessionEventHandler) INFO|SessID=CISCO_TTCTI-ACD|SessionEventHandler.onEvent|SessID=CISCO_TTCTI-ACD|SessionEventHandler.handleSystemEvent|SessID=CISCO_TTCTI-ACD an_operator - System Event message processed.  Current PG status [PGS_OPC_DOWN] for Session [CISCO_TTCTI-ACD]
2016-07-21 13:11:34,357 [ACD-MessageProcessor] (scoicm.cti.SessionEventHandler) INFO|SessID=CISCO_TTCTI-ACD|SessionEventHandler.onEvent|SessID=CISCO_TTCTI-ACD|SessionEventHandler.handleSystemEvent|SessID=CISCO_TTCTI-ACD an_operator - PG is in an offline state and session [CISCO_TTCTI-ACD] will be placed in a disconnected state. System Event Ids [6] [0] [0] [0]
2016-07-21 13:11:34,357 [ACD-MessageProcessor] (  ciscoicm.cti.CiscoCTISession) INFO|SessID=CISCO_TTCTI-ACD|SessionEventHandler.onEvent|SessID=CISCO_TTCTI-ACD|SessionEventHandler.handleSystemEvent|SessID=CISCO_TTCTI-ACD|CiscoCTISession.disconnected an_operator - Session: CISCO_TTCTI-ACD received offline event from the CTI server. PG Status [1]
2016-07-21 13:11:34,357 [ACD-MessageProcessor] (  ciscoicm.cti.CiscoCTISession) INFO|SessID=CISCO_TTCTI-ACD|SessionEventHandler.onEvent|SessID=CISCO_TTCTI-ACD|SessionEventHandler.handleSystemEvent|SessID=CISCO_TTCTI-ACD|CiscoCTISession.disconnected an_operator - Session: CISCO_TTCTI-ACD Marking session as disconnected.
2016-07-21 13:11:34,357 [ACD-MessageProcessor] (  ciscoicm.cti.CiscoCTISession) INFO|SessID=CISCO_TTCTI-ACD|SessionEventHandler.onEvent|SessID=CISCO_TTCTI-ACD|SessionEventHandler.handleSystemEvent|SessID=CISCO_TTCTI-ACD|CiscoCTISession.disconnected an_operator - PG/CTI Server is down.  Clearing all monitors.
In PegaCTI-ciscocti.my_log-2016-Jul-21.log:
2016-07-21 13:11:34,580 [I2-ACD-SocketHandler] (    ciscoicm.cti.SocketHandler) ERROR|SessID=CISCO_TTCTI2-ACD|SocketHandlerBase.readMessage|SessID=CISCO_TTCTI2-ACD an_operator - IOException while waiting for the next message.  Exception [Connection reset]
2016-07-21 13:11:34,580 [I2-ACD-SocketHandler] (    ciscoicm.cti.SocketHandler) INFO|SessID=CISCO_TTCTI2-ACD|SocketHandlerBase.readMessage|SessID=CISCO_TTCTI2-ACD an_operator - The Client socket connection from [aa.bbb.ccc.dd] port [123456] has been closed while waiting for a new message
2016-07-21 13:11:34,580 [I2-ACD-SocketHandler] (    ciscoicm.cti.SocketHandler) DEBUG|SessID=CISCO_TTCTI2-ACD|SocketHandlerBase.close|SessID=CISCO_TTCTI2-ACD an_operator - Socket is currently closed.
2016-07-21 13:11:34,580 [I2-ACD-SocketHandler] (  ciscoicm.cti.CiscoCTISession) INFO|SessID=CISCO_TTCTI2-ACD|CiscoCTISession.socketDisconnected an_operator - Session: CISCO_TTCTI2-ACD The socket connection from the CTI Server has been closed.
2016-07-21 13:11:34,580 [I2-ACD-SocketHandler] (    ciscoicm.cti.SocketHandler) DEBUG|SessID=CISCO_TTCTI2-ACD an_operator - Closing the socket handler thread.

Steps to Reproduce

  1. User was logged in and accepted an incoming call.
  2. Cisco server has been failed over to Side B.
  3.  Icon in the CTI toolbar changes to connecting but agent is unable to perform any actions.
  4.  At this point the call is being shown as ended at agent side but is still intact at customer side.
  5. Agent can still perform basic interaction manually.
  6. Cannot logout of CTI nor Interaction Portal. The screen is just stuck.
  7. Now failed over back to side A
  8. Still no response on the screen

The call from customer end also disconnects.
There have been two extra scenarios that we have tested during the fail over from side A to Side B.

a. When Side A has been failed over to side B the screen is stuck, if the agent refresh the screen, the agent is able to login into CTI once again but cannot log out of the Interaction Portal.
b. In the same scenario, when the agent login into the new session, he is able to login into CTI and Interaction Portal using the same login and carry out his work as usual.
i. Now Side B is active and Side A is down.
ii. The Agent logins into the CTI in a new session and an incoming call was placed.
iii. Same scenario as mentioned above is observed.(Points 3,4,5,6)
iv. Now the customer ends the call
v. Failed over to Side A from side B
vi. Re-connect icon appears and immediately changes to available mode
vii. Now an incoming call was made and the customer was could hear engaged tone. (this means though the agent was available no customer calls are being routed to him.)

Root Cause

A defect in Pegasystems’ code or rules 


Apply HFIX-28747


Published September 23, 2016 - Updated October 9, 2016

Have a question? Get answers now.

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