Introducción
Este documento describe el método de solución de problemas para la identificación de problemas en la cola o los problemas de actualización de estadísticas del grupo de habilidades observados en el entorno de escritorio del agente Finesse, causados específicamente por demoras de mensajes entre los servidores de integración de telefonía y computadora (CTI) y los servidores Finesse. El artículo proporciona análisis de registro, y concluye con una solución alternativa para mejorar la capacidad del servidor Finesse en el manejo de estos mensajes de actualización de estadísticas en una red retrasada subóptima.
Prerequisites
Requirements
Cisco recomienda que tenga conocimiento sobre estos temas:
- Servidor CTI de Cisco Unified Contact Center Enterprise (UCCE) (CTISVR)
- servidor Cisco Finesse
Componentes Utilizados
La información que contiene este documento se basa en las siguientes versiones de software y hardware.
- Gateway periférica de agente de UCCE con CTISVR instalado
- Clúster de servidor Finesse
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 tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Convenciones
Consulte Convenciones de Consejos Técnicos de Cisco para obtener información sobre las convenciones del documento.
Antecedentes
Los servidores Finesse que se suscriben a CTISVR como clientes CTI, proporcionan funciones de agente que son similares a las que pueden ofrecer un servidor de objetos de integración de telefonía informática (CTIOS) y un escritorio de agente de Cisco (CAD). Los agentes/supervisores Finesse también pueden experimentar algunos de los problemas a los que se enfrentan los CTIOS y los agentes CAD.
Uno de estos problemas es que las estadísticas en tiempo real de la cola o del grupo de habilidades no se actualizan al escritorio del agente/supervisor de Finesse. En el entorno CTIOS y CAD, los ingenieros suelen comprobar las directrices de diseño y si los límites de configuración, como el grupo de habilidades por agente, el total de grupos de habilidades por periférico y equipos por supervisor, etc., se han suscrito en exceso. Los ingenieros también comprobarían el número de conexiones de cliente CTI simultáneas en CTISVR, consulte la
También se puede hacer referencia a la información pertinente en las guías de diseño para la versión 10.5(x) y la versión 11.
La resolución de este tipo de problemas en los agentes/supervisores de Finesse también comienza con las verificaciones de límite de diseño mencionadas. Sin embargo, los agentes Finesse pueden verse afectados por limitaciones adicionales que se encuentran exclusivamente en los servidores Finesse.
Indicios de problema
El problema de no actualización de estadísticas de cola o de grupo de habilidades se encuentra normalmente en estos escenarios:
- Los estados de agente actuales no se reflejan en el gadget habilidades/colas individuales del escritorio del agente Finesse. Sin embargo, si se comprueban los estados del agente con el uso de opctest con el comando la en la puerta de enlace periférica (PG) del agente, se indica que los estados del agente son correctos con los grupos de habilidades.
- Número de agentes en el estado HABLANDO durante un tiempo; sin embargo, los escritorios de agente o supervisor de Finesse siguen mostrando 0 en habilidades/colas para el tiempo de conversación.
- El reinicio del servidor Finesse permitiría que el sistema funcione temporalmente, pero normalmente el mismo problema resurgirá en minutos u horas.
Búfer de estadísticas de cola de mensajes y colas Finesse CTI
Las actualizaciones de estadísticas de cola o estadísticas de habilidades del agente Finesse se llevan a cabo a través de los intercambios de estos pares de mensajes CTI de solicitud y respuesta en los servidores Finesse.
solicitud de mensaje getQueryQueueStatisticsReq() por Finesse y el mensaje QuerySkillGroupStatisticsConf como resultado de respuestas CTISVR.
De forma predeterminada, Finesse puede procesar 751 solicitudes de grupos de habilidades en el intervalo de actualización de estadísticas de 10 segundos designado. Las solicitudes que no se procesan se almacenan en búfer en una cola de mensajes para procesarlas posteriormente. Finesse se inicializa de forma predeterminada con esta cola de búfer de mensajes para contener 5000 mensajes REQUEST.
Sin embargo, si el buffer se llena y se sobrecarga, algunos de estos mensajes de solicitud de estadísticas de la cola se agotan y se descartan.
Posibles causas del desbordamiento del búfer de estadísticas de la cola Finesse
1. Sobresuscripción de diseño/configuración. por ejemplo, habilidades por agente, grupos de habilidades totales por periférico y equipos por supervisor, etc. Consulte la para conocer los límites de configuración recomendados. La suscripción excesiva puede conducir a un exceso de mensajes CTI en las actualizaciones de estadísticas y, por lo tanto, excede el búfer de solicitud de estadísticas de cola Finesse.
2. Superación del número máximo permitido de conexiones de cliente CTI simultáneas, que incluye todas las conexiones de eventos y las conexiones de modo supervisado. Agotamiento de recursos CTISVR que provoca una ralentización significativa de la velocidad de procesamiento de mensajes CTI.
3. Rendimiento PG, por ejemplo, CPU, memoria y E/S de disco, etc.
4. Ancho de banda de red insuficiente para soportar los retrasos de mensajería CTI permitidos para la aplicación Finesse, es decir, 62 ms.
Calculadora de ancho de banda Finesse proporcionada en el enlace aquí con las especificaciones de diseño actuales para asignar el ancho de banda de red recomendado. http://www.cisco.com/c/en/us/support/customer-collaboration/finesse/products-technical-reference-list.html
Desbordamiento del búfer de estadísticas de la cola de precisión debido al retraso del mensaje CTI
Según esta limitación de Finesse en la velocidad de procesamiento de mensajes REQUEST y el búfer de mensajes, el valor predeterminado del retraso medio máximo de solicitud/respuesta es de 62 ms para implementaciones medias de Finesse. Si los retrasos medios superan significativamente el valor de referencia de 62ms, p. ej. Retraso del mensaje CTI de unos 100 ms. A continuación, los mensajes getQueryQueueStatisticsReq() CTI almacenados en el búfer nunca se pueden enviar a CTISVR y se les puede responder con los mensajes QuerySkillGroupStatisticsConf con la suficiente rapidez en ese intervalo de actualización de 10 segundos. Y los restantes mensajes getQueryQueueStatisticsReq() con tiempo de espera agotado se descartan del búfer de estadísticas de cola.
Seguimiento Finesse relevante
Los mensajes de estadísticas de cola se pueden encontrar en el registro webservices finesse. Requiere el nivel de seguimiento DEBUG para revelar mensajes detallados de estadísticas de cola.
Para conocer los pasos para activar el nivel de seguimiento DEBUG para webservices, consulte este enlace docwiki.
http://docwiki.cisco.com/wiki/Logging:_Enable_debug_level_logging
Análisis de registros
Cuando el desbordamiento del búfer de cola sigue a los fragmentos de registro se pueden observar desde el registro de Webservices
Busque el comienzo de una ronda de actualización de solicitud de estado de cola 751, al comienzo del intervalo de actualización de 10 segundos:
eg.
Sep 22 2014 14:34:59.878 -0700: %CCBU_pool-21-thread-1-6-QUEUE_STATISTICS_REQUEST: %[count=751]: Starting new round of querying active queue statistics
Entre esta y la siguiente ronda de 751 solicitudes que ocurre después de 10 segundos, filtre y verifique con una herramienta de texto, por ejemplo. Bloc de notas++, si hay mensajes 751 QuerySkillGroupStatisticsConf coincidentes:
eg
Sep 22 2014 14:34:59.888 -0700: %CCBU_CTIMessageEventExecutor-0-6-DECODED_MESSAGE_FROM_CTI_SERVER: %[cti_message=CTIQuerySkillGroupStatisticsConf[peripheralID=5000, skillGroupNumber=28353, routerCallsQNow=0, longestRouterCallQNow=0, agentsNotReady=0, agentsReady=0, agentsTalkingIn=0, agentsTalkingOut=0, agentsTalkingOther=0, agentsWorkNotReady=0, agentsWorkReady=0]CTIMessageBean [invokeID=112223, msgID=115, timeTracker={"id":"QuerySkillGroupStatisticsConf","CTI_MSG_NOTIFIED":1411536082977,"CTI_MSG_RECEIVED":1411536082976}, msgName=QuerySkillGroupStatisticsConf, deploymentType=CCE]][cti_response_time=1]: Decoded Message to Finesse from backend cti server
Por ejemplo, si solo hay 329 mensajes QuerySkillGroupStatisticsConf procesados por Finesse para esta ronda, en otras palabras, debe haber 422 mensajes en cola en el buffer. Obviamente, si los mensajes de alrededor de 400 deben ponerse en cola cada 10 segundos, el buffer puede alcanzar su umbral de 5000 mensajes en 3 minutos.
Busque la primera aparición de un error de sondeo que ocurra en 3 minutos, que es el signo de desbordamiento de búfer:
Sep 22 2014 14:37:29.883 -0700: %CCBU_pool-21-thread-1-3-QUEUE STATISTICS POLLING ERROR: %[ERROR_DESCRIPTION= maximum pool and queue capacity reached so discarding execution][error_message=Thread pool saturated, discarding execution ]: Error during queue statistics polling
Ilustración del retraso de procesamiento de CTISVR
- Finesse envía la solicitud getQueryQueueStatisticsReq() a CTISVR - rastreo invokeId=112223, queueId=28353:
Sep 23 2014 22:21:22.875 -0700: %CCBU_pool-19-thread-4-7-CTIWriter.getQueryQueueStatisticsReq(): {Thrd=pool-19-thread-4} params : invokeId=112223, queueId=28353
- CTISVR recibió la solicitud:
match InvokeID:0x1b65f with invoked=112223 in the Finesse request
and SkillGroupNumber:28353 with queueId in the Finesse request
22:21:22:921 cg1A-ctisvr SESSION 9: MsgType:QUERY_SKILL_GROUP_STATISTICS_REQ (InvokeID:0x1b65f PeripheralID:5000
22:21:22:921 cg1A-ctisvr SESSION 9: SkillGroupNumber:28353 SkillGroupID:N/A )
22:21:22:999 cg1A-ctisvr SESSION 9: MsgType:QUERY_SKILL_GROUP_STATISTICS_CONF (InvokeID:0x1b65f PeripheralID:5000
22:21:22:999 cg1A-ctisvr SESSION 9: SkillGroupNumber:28353 SkillGroupID:9431 AgentsLoggedOn:0 AgentsAvail:0 AgentsNotReady:0
22:21:22:999 cg1A-ctisvr SESSION 9: AgentsReady:0 AgentsTalkingIn:0 AgentsTalkingOut:0 AgentsTalkingOther:0
22:21:22:999 cg1A-ctisvr SESSION 9: AgentsWorkNotReady:0 AgentsWorkReady:0 AgentsBusyOther:0 AgentsReserved:0 AgentsHold:0
22:21:22:999 cg1A-ctisvr SESSION 9: AgentsICMAvailable:0 AgentsApplicationAvailable:0 AgentsTalkingAutoOut:0
22:21:22:999 cg1A-ctisvr SESSION 9: AgentsTalkingPreview:0 AgentsTalkingReservation:0 RouterCallsQNow:0
- Finesse recibió la respuesta CTISVR y creó el mensaje QuerySkillGroupStatisticsConf:
Sep 23 2014 22:21:22.977 -0700: %CCBU_CTIMessageEventExecutor-0-6-DECODED_MESSAGE_FROM_CTI_SERVER: %[cti_message=CTIQuerySkillGroupStatisticsConf[peripheralID=5000, skillGroupNumber=28353, routerCallsQNow=0, longestRouterCallQNow=0, agentsNotReady=0, agentsReady=0, agentsTalkingIn=0, agentsTalkingOut=0, agentsTalkingOther=0, agentsWorkNotReady=0, agentsWorkReady=0]CTIMessageBean [invokeID=112223, msgID=115, timeTracker={"id":"QuerySkillGroupStatisticsConf","CTI_MSG_NOTIFIED":1411536082977,"CTI_MSG_RECEIVED":1411536082976}, msgName=QuerySkillGroupStatisticsConf, deploymentType=CCE]][cti_response_time=1]: Decoded Message to Finesse from backend cti server
Observe que le tomó más de 100 ms segundos a Finesse para recibir el mensaje QuerySkillGroupStatisticsConf coincidente, si este es un tiempo promedio de respuesta. Finesse puede encontrarse con el problema de desbordamiento de la cola del búfer.
Solución Aternativa
Hay una propiedad en aws.properties que establece el intervalo de actualización en el lado del servidor Finesse. Este es básicamente el intervalo entre dos rondas de solicitudes de estado de cola (una ronda son solicitudes de estado de cola 751 en esta implementación) de Finesse a CTISVR. De forma predeterminada, Finesse lo solicita cada 10 segundos. Esta propiedad podría cambiarse potencialmente a algo más alto en valor, lo que significaría que Finesse tendrá un poco más de tiempo (por ejemplo: 20 segundos en lugar de 10 segundos) para procesar una ronda de solicitudes de estadísticas de cola. También amplía de forma eficaz el retraso de solicitud/respuesta de estadísticas de habilidades de CTI de referencia de 62 ms a 124 ms.
- Acceso raíz obtenido a la plataforma del sistema operativo Finesses
- VI al archivo de propiedad /opt/cisco/desktop/conf/webservices/aws.properties
- Se ha modificado el valor de esta propiedad de 10 a 20
com.cisco.cc.webservices.reporting.core.queue_statistics_refresh_interval
Nota: Intervalo de actualización para las estadísticas de cola en segundos.
- guardar archivo aws.properties
- restart Finesse Tomcat Service
- Los mismos pasos se llevarán a cabo en todos los nodos Finesse dentro del clúster Finesse