Contents

Introduction

Prerequisites

Requirements

Components Used

Conventions

背景信息

问题症状

精良CTI消息传送和精良队列Stats缓冲区

精良队列Stats缓冲区超出的可能的原因

Finess队列Stats缓冲区超出由于CTI消息延迟

相关精良跟踪

日志分析

当队列缓冲区超出跟随时日志片断可以从Webservices日志被观察

CTISVR处理延迟的例证

解决方法

Introduction

本文在精良代理桌面环境描述问题识别的故障排除方法在队列或技能组stats被观察的更新问题，特别地造成由消息延迟Computer-Telephony Integration (CTI)服务器和精良服务器之间。条款提供日志分析，并且推断以解决方法为了改进在处理这些Stats更新消息的精良服务器功能在不理想的被延迟的网络。

Prerequisites

Requirements

Cisco 建议您了解以下主题：

- Cisco Unified Contact Center Enterprise (UCCE) CTI服务器(CTISVR)

- Cisco精良服务器

Components Used

本文档中的信息基于以下软件和硬件版本：

- UCCE与安装的CTISVR的代理程序外围网关

- 精良服务器集群

The information in this document was created from the devices in a specific lab environment.All of the devices used in this document started with a cleared (default) configuration.如果您的网络实际，请保证您了解所有命令的潜在影响。

Conventions

关于文件规则的信息，请参见Cisco技术提示规则。

背景信息

预订CTISVR作为CTI客户端的精良服务器，提供类似于的代理程序功能计算机电话集成对象服务器(CTIOS)，并且Cisco代理桌面(CAD)能提供。精良代理程序/Supervisor能也遇到CTIOS和CAD代理程序面对的某些问题。

之一的这样问题是队列或技能组实时stats不更新对精良代理程序/Supervisor桌面。在CTIOS和CAD环境里，工程师通常检查设计指南并且验证配置限制例如技能组每个代理程序，每外围设备的总技能组和小组每个Supervisor等是否过度了预定。 工程师也会检查并发CTI客户端连接的数量在CTISVR的，是指Cisco Unified Contact Center Enterprise设计指南，版本10.0(1)

相关信息可能从版本10.5(x)和版本11设计指南也被参考。

排除故障在精良代理程序/Supervisor的此种问题从被提及的设计限制验证也开始。然而，精良代理程序可以由在精良服务器完全被找到的另外的限制影响。

问题症状

问题在这些情况下典型地找到不更新队列或技能组的stats ：

- 当前代理状态在各自的技能/队列小配件没有被反射在精良代理桌面上。然而，检查代理状态用使用opctest用la命令在代理程序外围网关(PG)，指示代理状态对技能组是正确的。

- 代理程序的编号有一阵子在通话状态，然而，精良代理程序或Supervisor桌面在技能/队列仍然显示0通话时间的。

- 精良服务器重新启动将允许系统临时地运作，但是同一个问题在几分钟内通常复出或几小时。

精良CTI消息传送和精良排队Stats缓冲区

精良代理程序队列stats或技能stats更新通过这些对交换被执行请求和回应在精良服务器的CTI消息。

getQueryQueueStatisticsReq() Message请求由精良和QuerySkillGroupStatisticsConf消息由于CTISVR回应。

默认情况下，精良能处理在选定的10个秒stats内的请求刷新间隔的751个技术组。请求在以后将被处理的消息队列没有被处理被缓冲。默认情况下精良初始化以此信息缓冲器队列存5000个REQUEST消息。

然而，如果缓冲区得填满和被淹没，其中一些队列stats请求消息被计时并且下降。

精良的可能的原因排队Stats缓冲区超出

1. 设计/配置超量预订。即每代理程序的技能，每外围设备的总技能组和小组每个Supervisor等是指Cisco Unified Contact Center Enterprise推荐的配置限额设计指南。超量预订可能导致额外的CTI在Stats更新的消息传送，并且超出精良队列Stat请求缓冲区。

2. 超出包括所有事件连接和监控模式连接的最大允许的并发CTI客户端连接。CTISVR导致在CTI消息处理速度的重大的减速的资源耗尽。

3. 即PG性能CPU，内存和磁盘I/O etcs。

4. 没有足够的网络带宽为了支持CTI消息传送延迟允许精良应用程序，即62ms。

精良带宽计算器在链路提供这里当前设计specs为了分配推荐的网络带宽。http://www.cisco.com/c/en/us/support/customer-collaboration/finesse/products-technical-reference-list.html

Finess队列Stats缓冲区超出由于CTI消息延迟

基于在Request信息处理速度和信息缓冲器的此精良限制， DEFAULT值最大平均的请求/响应延迟是平均的精良配置的62ms。如果平均延迟极大超出62ms的基准，即CTI在100ms附近的消息延迟。然后被缓冲的getQueryQueueStatisticsReq() CTI信息不可能传送到CTISVR，并且回应QuerySkillGroupStatisticsConf消息足够快速地在该10秒钟内请刷新间隔。并且依然是的被计时的getQueryQueueStatisticsReq()消息从队列Stats缓冲区被丢弃。

相关精良跟踪

队列Stats消息可以在webservices精良日志找到。它要求Debug trace级别显示详细的队列stats消息。

为了使步骤出现webservices的Debug trace级别，请参考此docwiki链路。

http://docwiki.cisco.com/wiki/Logging:_Enable_debug_level_logging

日志分析

当队列缓冲区超出跟随时日志片断可以从Webservices日志被观察

在10秒初寻找751个队列stat请求更新舍入的初期，刷新间隔：

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

即在10秒之后发生751个请求之间的这和下一轮，请用文本工具Notepad++过滤并且验证，如果那里匹配751个QuerySkillGroupStatisticsConf消息：

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

例如，如果只有329 QuerySkillGroupStatisticsConf已处理由此舍入的精良，在另一个词，那里必须在缓冲区排队的422个消息。明显地，如果围绕400个消息是将排队每10秒缓冲区在3分钟内能然后达到5000个消息其阈值。

搜索的轮询错误第一个出现时间在3分钟内发生，那是被超出的缓冲区的符号：

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

CTISVR处理延迟的例证

- 精良发送getQueryQueueStatisticsReq()请求到CTISVR -跟踪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收到了请求：

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 )

- CTISVR回应：

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

- 精良收到了CTISVR答复，并且形成了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

注意它接收100ms精良的秒钟为了收到配比的QuerySkillGroupStatisticsConf消息，如果这是平均响应时间。精良能遇到缓冲区队列超出问题。

解决方法

有在设置在精良服务器端的刷新间隔的aws.properties的一个属性。这基本上是在两个回合的间隔队列stats请求之间(一个来回是在此配置的751个队列stats请求)从精良到CTISVR。默认情况下精良请求它每10秒。此属性可能潜在更改到某事更高按意味着的值精良将有有点更多时间(即：而不是10sec的20sec)为了处理队列stats请求一个回合。它有效也扩大基准CTI技能stats请求/响应延迟从62ms到124ms。

- 对精良OS平台的获得的根访问权限

- VI对属性文件/opt/cisco/desktop/conf/webservices/aws.properties

- 修改了从10的此属性值到20

com.cisco.cc.webservices.reporting.core.queue_statistics_refresh_interval

Note:以秒钟刷新队列统计数据的间隔。

- 保存aws.properties文件

- 重新启动精良Tomcat服务

- 同样步骤将被执行在精良簇内的所有精良节点