목차

소개

사전 요구 사항

요구 사항

사용되는 구성 요소

표기 규칙

배경 정보

문제 증상

Finesse CTI 메시징 및 Finesse 큐 통계 버퍼

Finesse 큐 통계 버퍼 오버런의 가능한 원인

CTI 메시지 지연으로 인한 Finess Queue Stats Buffer Overrun

관련 Finesse 추적

로그 분석

Queue Buffer Overrun Following Log Snippet을 WebServices Log에서 확인할 수 있습니다.

CTISVR 처리 지연 그림

해결 방법

소개

이 문서에서는 Finesse 에이전트 데스크톱 환경에서 관찰된 대기열 또는 직무 그룹 통계 업데이트 문제에 대한 문제 식별(특히 CTI(Computer-Telephony Integration) 서버와 Finesse 서버 간의 메시지 지연으로 인해 발생한 문제 식별 방법에 대해 설명합니다.이 문서에서는 로그 분석을 제공하고, 최적화되지 않은 지연되는 네트워크에서 이러한 통계 업데이트 메시지를 처리하는 Finesse 서버 기능을 개선하기 위해 해결 방법을 제시합니다.

사전 요구 사항

요구 사항

다음 주제에 대한 지식을 보유하고 있으면 유용합니다.

- Cisco Unified Contact Center Enterprise(UCCE) CTI Server(CTISVR)

- Cisco Finesse 서버

사용되는 구성 요소

이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.

- CTISVR이 설치된 UCCE 에이전트 주변 장치 게이트웨이

- Finesse 서버 클러스터

이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 이해해야 합니다.

표기 규칙

문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 규칙을 참조하십시오.

배경 정보

CTI 클라이언트로 CTISVR에 가입한 Finesse 서버는 CTIOS(Computer Telephony Integration Object Server) 및 CAD(Cisco Agent Desktop)가 제공할 수 있는 것과 유사한 에이전트 기능을 제공합니다.Finesse 상담원/수퍼바이저는 CTIOS 및 CAD 상담원이 직면한 몇 가지 문제를 경험할 수도 있습니다.

이러한 문제 중 하나는 Finesse 에이전트/수퍼바이저 데스크톱으로 업데이트되지 않는 대기열 또는 직무 그룹 실시간 통계입니다.CTIOS 및 CAD 환경에서 엔지니어는 일반적으로 설계 지침을 확인하고 상담원별 직무 그룹, 주변 장치별 총 직무 그룹 및 감독자별 팀 등과 같은 컨피그레이션 제한이 초과 서브스크립션되었는지 확인합니다.  또한 엔지니어는 CTISVR에서 동시 CTI 클라이언트 연결 수를 확인합니다. Cisco Unified Contact Center Enterprise Design Guide, Release 10.0(1) 참조

버전 10.5(x) 및 버전 11의 설계 가이드에서 관련 정보를 참조할 수도 있습니다.

Finesse 상담원/수퍼바이저에 대한 이러한 유형의 문제 해결 역시 앞서 언급한 설계 제한 확인부터 시작합니다.그러나 Finesse 에이전트는 Finesse 서버에서만 발견되는 추가 제한 사항의 영향을 받을 수 있습니다.

문제 증상

Queue 또는 Skillgroup stats not updating 문제는 일반적으로 다음 시나리오에서 찾을 수 있습니다.

- 현재 에이전트 상태는 Finesse 에이전트 데스크톱의 개별 기술/대기열 가젯에 반영되지 않습니다.그러나 상담원 PG(주변 장치 게이트웨이)에서 la 명령과 함께 opctest를 사용하여 상담원 상태를 확인하면 상담원 상태가 직무 그룹과 정확함을 나타냅니다.

- 상담원 수가 잠시 통화 중 상태에 있지만, Finesse 상담원 또는 수퍼바이저 데스크톱은 통화 시간 동안 기술/대기열에 0을 표시합니다.

- Finesse 서버를 다시 시작하면 시스템이 일시적으로 작동할 수 있지만 일반적으로 몇 분 또는 몇 시간 내에 동일한 문제 상황이 발생합니다.

Finesse CTI 메시징 및 Finesse 큐 통계 버퍼

Finesse 상담원 대기열 통계 또는 기술 통계 업데이트는 Finesse 서버에서 이러한 요청 쌍 및 응답 CTI 메시지 쌍을 교환하여 수행됩니다.

getQueryQueueStatisticsReq() 메시지 요청(Finesse의 경우) 및 CTISVR 응답의 결과로 QuerySkillGroupStatisticsConf 메시지)

기본적으로 Finesse는 지정된 10초 통계 새로 고침 간격 내에 751 직무 그룹 요청을 처리할 수 있습니다.처리되지 않은 요청은 나중에 처리할 메시지 대기열에서 버퍼링됩니다.Finesse는 기본적으로 이 메시지 버퍼 대기열로 초기화되어 5000 REQUEST 메시지를 보유합니다.

그러나 버퍼가 가득 차고 넘치면 이러한 큐 통계 요청 메시지 중 일부가 시간 초과되어 삭제됩니다.

Finesse 큐 통계 버퍼 오버런의 가능한 원인

1. 초과 가입 설계/구성예: 상담원별 기술, 주변 장치별 총 직무 그룹 및 감독관별 팀 수 등권장 구성 제한은 Cisco Unified Contact Center Enterprise 설계 가이드를 참조하십시오.초과 서브스크립션으로 인해 통계 업데이트에서 과도한 CTI 메시징이 발생할 수 있으므로 Finesse 큐 통계 요청 버퍼가 오버런됩니다.

2. 모든 이벤트 연결 및 모니터링되는 모드 연결을 포함하는 허용되는 최대 동시 CTI 클라이언트 연결을 초과합니다.CTISVR 리소스가 감소하여 CTI 메시지 처리 속도가 크게 저하됩니다.

3. PG 성능 등CPU, 메모리 및 디스크 I/O 코드..

4. Finesse 애플리케이션에 허용되는 CTI 메시징 지연(예: 62ms)을 지원하기 위한 네트워크 대역폭이 부족합니다.

권장 네트워크 대역폭을 할당하기 위해 여기 링크에서 현재 설계 사양과 함께 제공되는 Finesse 대역폭 계산기http://www.cisco.com/c/en/us/support/customer-collaboration/finesse/products-technical-reference-list.html

CTI 메시지 지연으로 인한 Finess Queue Stats Buffer Overrun

REQUEST 메시지 처리 속도 및 메시지 버퍼에 대한 이 Finesse 제한에 따라, 최대 평균 요청/응답 지연의 기본값은 평균 Finesse 구축의 경우 62ms입니다.평균 지연 시간이 벤치마크 62ms를 크게 초과할 경우(예:CTI 메시지 지연 시간 약 100ms그런 다음 버퍼링된 getQueryQueueStatisticsReq() CTI 메시지는 CTISVR로 전송될 수 없으며 해당 10초 새로 고침 간격 내에 QuerySkillGroupStatisticsConf 메시지로 신속하게 응답할 수 없습니다.나머지 시간 초과된 getQueryQueueStatisticsReq() 메시지는 큐 통계 버퍼에서 삭제됩니다.

관련 Finesse 추적

Queue Stats 메시지는 webservices finesse 로그에서 찾을 수 있습니다.자세한 대기열 통계 메시지를 표시하려면 DEBUG 추적 수준이 필요합니다.

웹 서비스에 대한 디버그 추적 수준을 설정하는 단계는 이 docwiki 링크를 참조하십시오.

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

로그 분석

Queue Buffer Overrun Following Log Snippet을 WebServices Log에서 확인할 수 있습니다.

10초 새로 고침 간격이 시작될 때 751개 대기열 통계 요청 업데이트 라운드의 시작을 확인합니다.

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

예를 들어, 이 라운드에 대해 Finesse가 처리한 329개의 QuerySkillGroupStatisticsConf 메시지만 있는 경우 다른 단어에서 버퍼에 대기된 메시지는 422개여야 합니다.10초마다 라운드 400개의 메시지를 대기시키는 경우 버퍼는 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 처리 지연 그림

- Finesse가 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

- Finesse가 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

Finesse가 일치하는 QuerySkillGroupStatisticsConf 메시지를 수신하는 데 100ms가 넘게 걸린 경우 평균 응답 시간입니다.Finesse는 버퍼 대기열 오버런 문제를 실행할 수 있습니다.

해결 방법

aws.properties에는 Finesse 서버 측에서 새로 고침 간격을 설정하는 속성이 있습니다.기본적으로 이 간격은 두 개의 대기열 통계 요청 라운드(이 구축에서 하나의 라운드는 751개의 대기열 통계 요청)에서 CTISVR로 이동합니다.Finesse는 기본적으로 10초마다 요청합니다.이 속성은 잠재적으로 더 높은 값으로 변경될 수 있으므로 Finesse가 더 많은 시간을 가질 수 있습니다(예:10초 대신 20초)로 대기열 통계 요청을 한 라운드 처리합니다.또한 벤치마크 CTI 스킬 통계 요청/응답 지연을 62ms에서 124ms로 효과적으로 확장합니다.

- 최종 OS 플랫폼에 대한 루트 액세스 획득

- 속성 파일 /opt/cisco/desktop/conf/webservices/aws.properties에 대한 VI 연결

- 이 속성 값을 10에서 20으로 수정했습니다.

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

참고:큐 통계의 새로 고침 간격(초)입니다.

- aws.properties 파일 저장

- Finesse Tomcat 서비스 다시 시작

- Finesse 클러스터 내의 모든 Finesse 노드에서 동일한 단계를 수행합니다.