Contenido

Introducción

prerrequisitos

Requisitos

Componentes Utilizados

Problema

Troubleshooting

Conclusión

Resolución

Introducción

Este documento proporciona la información sobre cómo al troubelshoot los retardos del estado del agente considerados en el escritorio del agente de la delicadeza.

Contribuido por Rohit duro, ingeniero de Cisco TAC.

Prerrequisitos

Requisitos

Cisco recomienda que tenga conocimiento sobre estos temas:

- Cisco Unified Contact Center Enterprise (UCCE)

- Delicadeza de Cisco

Componentes Utilizados

La información que contiene este documento se basa en estas versiones de software:

- Delicadeza 11.5

- UCCE 11.5

La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si su red está viva, asegúrese de que usted entienda el impacto potencial del comando any.

Problema

Cuando el agente recibe una llamada (entrante/saliente), el cambio de estado de listo --> reservó --> se retrasa el hablar.

Troubleshooting

Para resolver problemas este tipo de problema, usted puede tirar de estos registros del servidor y del cliente de la delicadeza:

- Registros de escritorio de WebServices de la delicadeza

- Registros del lado del cliente de la delicadeza

Registros del cliente de la delicadeza

Mensaje CTI recibido para el cambio del estado de agente:

0051203603: 10.106.81.82: Apr 14 2017 14:01:17.196 -0700: %CCBU_CTIMessageEventExecutor-0-6-DECODED_MESSAGE_FROM_CTI_SERVER: %[cti_message=CTIAgentStateEvent [skillGroupState=7 (BUSY_OTHER), stateDuration=0, skillGroupNumber=29808, skillGroupPriority=0, agentState=8 (RESERVED), eventReasonCode=0, numFltSkillGroups=0, CTIClientSignature=Finesse, agentID=1234, agentExtension=1234, agentInstrument=1234, agentID_Long=null, duration=null, nextAgentState=null, fltSkillGroupNumberList=[], fltSkillGroupIDList=[], fltSkillGroupPriorityList=[], fltSkillGroupStateList=[], MRDId=1, agentMode=1]CTIMessageBean [invokeID=null, cti_sequence_id=865941, msgID=30, timeTracker={"id":"AgentStateEvent","CTI_MSG_RECEIVED":1492203677196,"CTI_MSG_DISPATCH":1492203677196}, msgName=AgentStateEvent, deploymentType=CCE]][cti_response_time=0][dispatch_phase=DnD-CHECKPOINT-3B]: Decoded Message to Finesse from backend cti server

Sin embargo sólo después de 14 segundos, la delicadeza pone el agente en el estado reservado:

001345281: 10.106.81.82: Apr 14 2017 14:01:31.936 -0700: %CCBU_CoreImpl-worker187-6-XMPP_PUBLISH_ASYNCHRONOUS: %[NodeId=/finesse/api/User/1234][Payload=&lt;Update&gt;

&lt;data&gt;

&lt;user&gt;

&lt;dialogs&gt;/finesse/api/User/1234/Dialogs&lt;/dialogs&gt;

&lt;extension&gt;1234&lt;/extension&gt;

&lt;firstName&gt;Test&lt;/firstName&gt;

&lt;lastName&gt;Test&lt;/lastName&gt;

&lt;loginId&gt;1234&lt;/loginId&gt;

&lt;loginName&gt;Test&lt;/loginName&gt;

&lt;mediaType&gt;1&lt;/mediaType&gt;

&lt;pendingState&gt;&lt;/pendingState&gt;

&lt;roles&gt;

&lt;role&gt;Agent&lt;/role&gt;

&lt;/roles&gt;

&lt;settings&gt;

&lt;wrapUpOnIncoming&gt;OPTIONAL&lt;/wrapUpOnIncoming&gt;

&lt;/settings&gt;

&lt;state&gt;RESERVED&lt;/state&gt;

&lt;stateChangeTime&gt;2017-04-14T21:01:31.935Z&lt;/stateChangeTime&gt;

&lt;teamId&gt;5056&lt;/teamId&gt;

&lt;teamName&gt;Test&lt;/teamName&gt;

&lt;uri&gt;/finesse/api/User/1234&lt;/uri&gt;

&lt;/user&gt;

&lt;/data&gt;

&lt;event&gt;PUT&lt;/event&gt;

&lt;requestId&gt;ad6996dc-db0b-4f45-8e3a-0e975519f4db&lt;/requestId&gt;

&lt;source&gt;/finesse/api/User/1234&lt;/source&gt;

&lt;/Update&gt;]: Publishing XMPP Message Asynchronously

Ahora si usted ve lo que hacía eso el agente en aquel momento, usted puede ver que el agente intentó cambiar el estado no a los minutos apenas 1 del estado Ready (Listo) 14 segundos antes de la llegada de llamada en el escritorio y fue retrasado por la delicadeza.

2017-04-14T14:00:22.128 -07:00: 3ADF8F: finesse.cisco.com: Apr 14 2017 14:00:22.137 -0700: Header : _changeStateCallback(): User changed state to NOT_READY with a reason code of: Break

2017-04-14T14:00:22.129 -07:00: 3ADF8F: finesse.cisco.com: Apr 14 2017 14:00:22.138 -0700: Header : Agent selected or went NOT_READY -- Linda flag cleared.

2017-04-14T14:00:22.130 -07:00: 3ADF8F: finesse.cisco.com: Apr 14 2017 14:00:22.139 -0700: Header : [ClientServices] User: requestId='ad6996dc-db0b-4f45-8e3a-0e975519f4db', Making REST request: method=PUT, url='https://finesse.cisco.com:/finesse/api/User/1234'

2017-04-14T14:00:22.159 -07:00: 3ADF8F: finesse.cisco.com: Apr 14 2017 14:00:22.168 -0700: Header : [ClientServices] User: requestId='ad6996dc-db0b-4f45-8e3a-0e975519f4db', Returned with status=202, content='null'

2017-04-14T14:00:27.129 -07:00: 3ADF8F: finesse.cisco.com: Apr 14 2017 14:00:27.138 -0700: Header : _showOperationError(): Failed to lookup error message in resource bundle(errorBundle=null, error=TypeError: response is undefined).

2017-04-14T14:00:27.130 -07:00: 3ADF8F: finesse.cisco.com: Apr 14 2017 14:00:27.139 -0700: Header : _showOperationError(): Failed to get error message from response(error=TypeError: response is undefined).

2017-04-14T14:00:27.130 -07:00: 3ADF8F: finesse.cisco.com: Apr 14 2017 14:00:27.139 -0700: Header : _showOperationError(): Displayed generic error message.

Aquí agente intentado otra vez.

2017-04-14T14:00:39.093 -07:00: 3ADF8F: finesse.cisco.com: Apr 14 2017 14:00:39.102 -0700: Header : _changeStateCallback(): User changed state to NOT_READY with a reason code of: Training

2017-04-14T14:00:39.093 -07:00: 3ADF8F: finesse.cisco.com: Apr 14 2017 14:00:39.102 -0700: Header : Agent selected or went NOT_READY -- Linda flag cleared.

2017-04-14T14:00:39.095 -07:00: 3ADF8F: finesse.cisco.com: Apr 14 2017 14:00:39.104 -0700: Header : [ClientServices] User: requestId='eb6659c6-06f2-4f02-a244-95839c450b48', Making REST request: method=PUT, url='https://finesse.cisco.com:/finesse/api/User/1234'

2017-04-14T14:00:39.109 -07:00: 3ADF8F: finesse.cisco.com: Apr 14 2017 14:00:39.118 -0700: Header : [ClientServices] User: requestId='eb6659c6-06f2-4f02-a244-95839c450b48', Returned with status=202, content='null'

2017-04-14T14:00:39.120 -07:00: 3ADF8F: finesse.cisco.com: Apr 14 2017 14:00:39.128 -0700: Header : Client: 2017-04-14T21:00:39.115Z, Server: 2017-04-14T21:00:39.123Z, Drift: 8ms, Network Latency (round trip): 8ms

2017-04-14T14:00:44.093 -07:00: 3ADF8F: finesse.cisco.com: Apr 14 2017 14:00:44.101 -0700: Header : _showOperationError(): Failed to lookup error message in resource bundle(errorBundle=null, error=TypeError: response is undefined).

2017-04-14T14:00:44.094 -07:00: 3ADF8F: finesse.cisco.com: Apr 14 2017 14:00:44.102 -0700: Header : _showOperationError(): Failed to get error message from response(error=TypeError: response is undefined).

2017-04-14T14:00:44.094 -07:00: 3ADF8F: finesse.cisco.com: Apr 14 2017 14:00:44.102 -0700: Header : _showOperationError(): Displayed generic error message.

Ahora en los registros de escritorio de WebServices:

La delicadeza recibió la petición no lista del agente.

0051191445: 10.106.81.82: Apr 14 2017 14:00:22.148 -0700: %CCBU_http-apr-8445-exec-13-6-REQUEST_START: %[method_name=PUT][parameter_name={  }][resource_name=/User/1234][usr=1234]: Request start

0051191446: 10.106.81.82: Apr 14 2017 14:00:22.149 -0700: %CCBU_http-apr-8445-exec-13-6-API_REQUEST: %[REQUEST_URL=User/1234][agent_id=1234][requestId=ad6996dc-db0b-4f45-8e3a-0e975519f4db][request_method=user.PUT][request_parameters= state:NOT_READY]: Request from client to webservice api

0051191447: 10.106.81.82: Apr 14 2017 14:00:22.149 -0700: %CCBU_http-apr-8445-exec-13-7-API.REQUEST:  {Thrd=http-apr-8445-exec-13} Received handleRequest for [requestedObjectId=1234], [requestId=ad6996dc-db0b-4f45-8e3a-0e975519f4db]

0051191449: 10.106.81.82: Apr 14 2017 14:00:22.150 -0700: %CCBU_http-apr-8445-exec-13-7-DISPATCHER:  {Thrd=http-apr-8445-exec-13} queueing command SetAgentState for sequencer: [1234]

0051191450: 10.106.81.82: Apr 14 2017 14:00:22.150 -0700: %CCBU_http-apr-8445-exec-13-7-FinesseApiResponseFilter:  {Thrd=http-apr-8445-exec-13} FinesseApiResponseFilter : Added header Access-Control-Allow-Origin: null to the response of the REST API request=https://finesse.cisco.com/finesse/api/User/1234

Es otra vez el mismo conjunto de los eventos para la segunda petición no lista:

0051195056: 10.106.81.82: Apr 14 2017 14:00:39.110 -0700: %CCBU_http-apr-8445-exec-19-6-REQUEST_START: %[method_name=PUT][parameter_name={  }][resource_name=/User/1234][usr=1234]: Request start

0051195060: 10.106.81.82: Apr 14 2017 14:00:39.113 -0700: %CCBU_http-apr-8445-exec-19-7-DISPATCHER:  {Thrd=http-apr-8445-exec-19} queueing command SetAgentState for sequencer: [1234]

0051195061: 10.106.81.82: Apr 14 2017 14:00:39.113 -0700: %CCBU_http-apr-8445-exec-19-7-FinesseApiResponseFilter:  {Thrd=http-apr-8445-exec-19} FinesseApiResponseFilter : Added header Access-Control-Allow-Origin: null to the response of the REST API request=https://finesse.cisco.com/finesse/api/User/1234

0051195060: 10.106.81.82: Apr 14 2017 14:00:39.113 -0700: %CCBU_http-apr-8445-exec-19-7-DISPATCHER:  {Thrd=http-apr-8445-exec-19} queueing command SetAgentState for sequencer: [1234]

0051195061: 10.106.81.82: Apr 14 2017 14:00:39.113 -0700: %CCBU_http-apr-8445-exec-19-7-FinesseApiResponseFilter:  {Thrd=http-apr-8445-exec-19} FinesseApiResponseFilter : Added header Access-Control-Allow-Origin: null to the response of the REST API request=https://finesse.cisco.com/finesse/api/User/1234

Sólo después de 1 minuto 2 secs, la delicadeza comenzó a procesar la petición:

0051220500: 10.106.81.82: Apr 14 2017 14:01:24.585 -0700: %CCBU_CoreImpl-worker118-6-MESSAGE_TO_CTI_SERVER: %[cti_message=Invoke id :26553 , agentstate : 2, workmode : 0, reason code: 4, forceflag :1, agentcapacity: 0, agentext: 1234, agentid: 1234, supervisorid: null, ssoFlag=false][cti_message_name=SetAgentStateReq]: Message going to the backend cti server

0051223431: 10.128.224.141: Apr 14 2017 14:01:24.766 -0700: %CCBU_CoreImpl-worker118-7-DISPATCHER:  {Thrd=CoreImpl-worker118} completed command SetAgentState for sequencer: [1234]

0051227244: 10.106.81.82: Apr 14 2017 14:01:27.078 -0700: %CCBU_CoreImpl-worker130-6-MESSAGE_TO_CTI_SERVER: %[cti_message=Invoke id :26563 , agentstate : 2, workmode : 0, reason code: 4, forceflag :1, agentcapacity: 0, agentext: 1234, agentid: 1234, supervisorid: null, ssoFlag=false][cti_message_name=SetAgentStateReq]: Message going to the backend cti server

0051229958: 10.128.224.141: Apr 14 2017 14:01:27.274 -0700: %CCBU_CoreImpl-worker130-7-DISPATCHER:  {Thrd=CoreImpl-worker130} completed command SetAgentState for sequencer: [1234]

Ahora si el empuje más lejos en los registros de escritorio de WebServices, usted puede considerar que los eventos del sistema están recibidos con frecuencia con systemEventId=10 que indique (OUT_OF_SERVICE SYS_INSTRUMENT_ - un dispositivo de destino del agente Enterprise se ha quitado del servicio. SystemEventArg1 contiene el PeripheralID del periférico, y SystemEventText contiene el AgentInstrument que fue quitado del servicio.)

0051220500: 10.106.81.82: Apr 14 2017 14:01:24.585 -0700: %CCBU_CoreImpl-worker118-6-MESSAGE_TO_CTI_SERVER: %[cti_message=Invoke id :26553 , agentstate : 2, workmode : 0, reason code: 4, forceflag :1, agentcapacity: 0, agentext: 1234, agentid: 1234, supervisorid: null, ssoFlag=false][cti_message_name=SetAgentStateReq]: Message going to the backend cti server

0051223431: 10.128.224.141: Apr 14 2017 14:01:24.766 -0700: %CCBU_CoreImpl-worker118-7-DISPATCHER:  {Thrd=CoreImpl-worker118} completed command SetAgentState for sequencer: [1234]

0051227244: 10.106.81.82: Apr 14 2017 14:01:27.078 -0700: %CCBU_CoreImpl-worker130-6-MESSAGE_TO_CTI_SERVER: %[cti_message=Invoke id :26563 , agentstate : 2, workmode : 0, reason code: 4, forceflag :1, agentcapacity: 0, agentext: 1234, agentid: 1234, supervisorid: null, ssoFlag=false][cti_message_name=SetAgentStateReq]: Message going to the backend cti server

0051229958: 10.128.224.141: Apr 14 2017 14:01:27.274 -0700: %CCBU_CoreImpl-worker130-7-DISPATCHER:  {Thrd=CoreImpl-worker130} completed command SetAgentState for sequencer: [1234]

En la delicadeza los eventos del sistema son eventos críticos y se procesan que si no hay otros eventos en la cola de la ejecución.  El resto de los eventos pendientes serán sostenido debido a esta condición y dará lugar a la lentitud general del proceso del evento.

También la delicadeza está considerando aleatoriamente un retardo en el comando CLEAR_CONNECTION de cerca de un minuto, que están midiendo el tiempo hacia fuera (CF_REQUEST_TIMEOUT_REJECTION). Esto está para la misma extensión para la cual la delicadeza está consiguiendo un SystemEvent.

Aquí está el ejemplo específico qué sucedió en la delicadeza para una del caso:

El servicio web de la delicadeza recibió la petición y la envió al CTI Server ICM

0051049979: 10.106.81.82: Apr 14 2017 13:56:20.806 -0700: %CCBU_CoreImpl-worker146-6-MESSAGE_TO_CTI_SERVER: %[cti_message=Invoke id :26488 , callId: 54473438, extension: 8888, peripheralId: 5000, connectionDeviceIdType : 0, connectionDeviceId: 8888][cti_message_name=ClearConnectionReq]: Message going to the backend cti server

0051061608: 10.106.81.82: Apr 14 2017 13:57:21.758 -0700: %CCBU_CTIMessageEventExecutor-0-6-DECODED_MESSAGE_FROM_CTI_SERVER: %[cti_message=CTIControlFailureConf [failureCode=78, peripheralErrorCode=0, text=null]CTIMessageBean [invokeID=26488, cti_sequence_id=863946, msgID=35, timeTracker={"id":"ControlFailureConf","CTI_MSG_NOTIFIED":1492203441758,"CTI_MSG_RECEIVED":1492203441758}, msgName=ControlFailureConf, deploymentType=CCE]][cti_response_time=0][dispatch_phase=DnD-CHECKPOINT-3A]: Decoded Message to Finesse from backend cti server

El CTI Server PG recibió la petición

13:56:20:784 cg1A-ctisvr Trace: *** ClearConnectionRequest DefaultCallInstrument - callID:54473438.+9999(d) ... inst:"8888"

13:56:20:784 cg1A-ctisvr Trace: CSTAClearConnection:  InvokeID=0x2114a2fb Call(CID=54473438,Dev=8888,Type=Static)

13:56:20:784 cg1A-ctisvr Trace: PRIVATE_DATA: CompoundRequestType=Unknown CSTA Event Type SubjectDevice=8888

Al menos debido a una excepción JTAPI, la llamada no consiguió desconectada normalmente.

13:56:20:846 PG1A-jgw1 Trace: MsgClearConnection: CID: 54473438 ConnDevID: 8888/0 CompReqType: -1 InvID: 8285054.

13:56:35:862 PG1A-jgw1 Trace: Call to connection[54473438,8888].disconnect() encountered exception.  com.cisco.jtapi.PlatformExceptionImpl: Could not meet post conditions of disconnect().

La llamada consigue eventual borrada en el lado ICM.

14:08:05:647 PG1A-opc Trace: CSTA_CONNECTION_CLEARED (PID=5000):  DroppedConn=(CID=54473438,Dev=8888,Type=Static) ReleasingDev=(DEV)8888 localConnInfo(-1)=CS_NONE cause=-1

14:08:05:647 PG1A-opc Trace: CSTAConnectionClearedEvent_PD:: CorrData=102785 UniqueID=00000000003F32DE0309F16000000000

14:08:05:647 PG1A-opc Trace: Call:SetCallState (PID=5000) - CallID=54473438 CallObj=(0x6c33110) NewState=NONE OldState=CONNECTED.

14:08:05:647 PG1A-opc Trace: Cleared(PID=5000): CallObj=(0x6c33110)  SrcConn(CID=54473438,Dev=+13003001858,DevType=Dynamic) DestConn(CID=54473438,Dev=8888,DevType=Static)

14:08:05:647 PG1A-opc Trace: AgentStateUpdate (OPC Time=04/14 21:08:05) - Updating 2 Agent Records on Peripheral 5000

14:08:05:647 PG1A-opc Trace:  - PID=5000 AGSTID=7295 Periph#=8888 Ext=8888 SG#=29808 Dur=0 State=AS_NOT_READY CurrentLine=0 Reason=8 NetworkTID=0 NumLines=0 AgentObj=0x52f50f8

14:08:05:647 PG1A-opc Trace: SetAgentState: ASTID=7295 Periph#=8888 MRDomainID=1 SGSTID=5000 SG#=29808(0x7470) OldState=AS_BUSY_OTHER NewState=AS_NOT_READY Duration=0 CurLine=0 ReasonCode=8 AgentObj=0x52f50f8

14:08:05:647 PG1A-opc Trace:  - PID=5000 AGSTID=7295 Periph#=8888 Ext=8888 SG#=3957053 Dur=0 State=AS_NOT_READY CurrentLine=0 Reason=8 NetworkTID=0 NumLines=0 AgentObj=0x52f50f8

Conclusión

Razón por la que se retrasa todo el evento del estado de agente es porque cuando la delicadeza envía el “ClearConnectionReq” al CTI Server, CTI Server envía petición a Periheral gateway (PG) Open Peripheral Controller (OPC) servicio, que envía petición a CUCM vía PG Peripheral Interface Manager (JTapi Gateway)/PG PIM (JGW). El CTI Server espera la respuesta de CUCM (que falló eventual), la delicadeza comienza a conseguir el systemevents que toma la prioridad y por lo tanto el retardo para responder a la petición del estado de agente.

Resolución

La resolución de este problema es seguida por estos defectos que se reparen en la delicadeza 11.5(1) ES4

CSCve12017 para ICM (pg.cucm)

CSCve11977 para la delicadeza