はじめに
このドキュメントでは、特にコンピュータテレフォニーインテグレーション(CTI)サーバとFinesseサーバ間のメッセージ遅延によって引き起こされる、Finesseエージェントデスクトップ環境で見られる、キューまたはスキルグループの統計更新の問題を特定するためのトラブルシューティング方法について説明します。この記事ではログ分析を提供し、最終的には、最適ではない遅延ネットワークでこれらのStats Updateメッセージを処理する際のFinesseサーバ機能を改善するための回避策を説明しています。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- Cisco Unified Contact Center Enterprise(UCCE)CTIサーバ(CTISVR)
- Cisco Finesseサーバ
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
- CTISVRがインストールされたUCCEエージェントペリフェラルゲートウェイ(PG)
- Finesseサーバクラスタ
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
表記法
ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。
背景説明
CTIクライアントとしてCTISVRに登録するFinesseサーバは、コンピュータテレフォニーインテグレーション(CTIOS)オブジェクトサーバ(CTIOS)およびCisco Agent Desktop(CAD)が提供する機能に似たエージェント機能を提供します。Finesseエージェント/スーパーバイザは、CTIOSおよびCADエージェントが直面する問題の一部も経験することがあります。
このような問題の1つは、キューまたはスキルグループのリアルタイム統計情報がFinesseエージェント/スーパーバイザデスクトップに更新されないことです。CTIOSおよびCAD環境では、エンジニアは通常、設計ガイドラインを確認し、エージェントごとのスキルグループ、ペリフェラルごとのスキルグループの合計、スーパーバイザごとのチームなどの設定制限が加入超過になっていないかどうかを確認します。 エンジニアは、CTISVR上の同時CTIクライアント接続数も確認します。『』を参照してください。
バージョン10.5(x)およびバージョン11の設計ガイドから関連情報を参照することもできます。
Finesseエージェント/スーパーバイザでのこのタイプの問題のトラブルシューティングも、前述の設計制限の検証から始まります。ただし、Finesseエージェントは、Finesseサーバだけに見られる追加の制限の影響を受ける可能性があります。
問題の症状
問題を更新しないキューまたはスキルグループの統計情報は、通常、次のシナリオで見られます。
- 現在のエージェントの状態は、Finesseエージェントデスクトップの個々のスキル/キューガジェットには反映されません。ただし、エージェントペリフェラルゲートウェイ(PG)でopctest with laコマンドを使用してエージェントの状態をチェックすると、スキルグループに関してエージェントの状態が正しいことがわかります。
- エージェントの数がしばらく通話中状態ですが、通話時間のスキル/キューにおいてFinesseエージェントまたはスーパーバイザデスクトップの表示が0のままです。
- Finesseサーバを再起動すると、システムが一時的に動作できるようになりますが、通常は同じ問題が数分または数時間以内に再発します。
Finesse CTIメッセージングおよびFinesseキュー統計情報バッファ
Finesseエージェントキュー統計情報またはスキル統計情報の更新は、要求と応答のCTIメッセージのペアをFinesseサーバで交換することで実行されます。
FinesseによるgetQueryQueueStatisticsReq()メッセージ要求と、CTISVR応答の結果としてのQuerySkillGroupStatisticsConf メッセージ。
デフォルトでは、Finesseは指定された10秒の統計リフレッシュ間隔内に751個のスキルグループ要求を処理できます。処理されない要求は、後で処理できるようにメッセージキューにバッファされます。デフォルトでは、Finesseはこのメッセージバッファキューで5000 REQUESTメッセージを保持するように初期化されます。
ただし、バッファがいっぱいになって過負荷になると、これらのキュー統計要求メッセージの一部がタイムアウトしてドロップされます。
Finesseキュー統計情報バッファオーバーランの考えられる原因
1. エージェントあたりのスキル、ペリフェラルあたりのスキルグループの合計、スーパーバイザあたりのチーム数など、加入超過の設計/設定推奨される設定制限については、『』を参照してください。加入超過は、統計情報の更新時に過剰なCTIメッセージングを引き起こし、その結果、Finesseキューの統計要求バッファをオーバーランさせる可能性があります。
2. 許可されている同時CTIクライアント接続の最大数を超えています。これには、すべてのイベント接続と監視モード接続が含まれます。CTISVRリソースの枯渇により、CTIメッセージの処理速度が大幅に低下します。
3. PGのパフォーマンス(例:CPU、メモリ、ディスクI/Oなど
4. Finesseアプリケーションで許可されるCTIメッセージング遅延(62ミリ秒)をサポートするのに十分なネットワーク帯域幅がありません。
推奨ネットワーク帯域幅を割り当てるために、このリンクにあるFinesse帯域幅計算ツールと現在の設計仕様を参照してください。http://www.cisco.com/c/en/us/support/customer-collaboration/finesse/products-technical-reference-list.html
CTIメッセージ遅延によるFinessキュー統計情報バッファオーバーラン
REQUESTメッセージの処理速度とメッセージバッファに対するこのFinesseの制限に基づき、平均Finesse導入環境での最大平均要求/応答遅延のデフォルト値は62ミリ秒です。平均遅延が62ミリ秒のベンチマークを大幅に超える場合CTIメッセージ遅延は約100ミリ秒です。その場合、バッファされたgetQueryQueueStatisticsReq() CTIメッセージはCTISVRに送信されず、その10秒のリフレッシュ間隔内にQuerySkillGroupStatisticsConfメッセージで十分な速さで応答されます。タイムアウトになった残りのgetQueryQueueStatisticsReq()メッセージは、キュー統計バッファからドロップされます。
関連するFinesseトレース
キュー統計メッセージは、webservices finesseログにあります。詳細なキュー統計メッセージを表示するには、DEBUGトレースレベルが必要です。
WebサービスのDEBUGトレースレベルを上げる手順については、このdocwikiリンクを参照してください。
http://docwiki.cisco.com/wiki/Logging:_Enable_debug_level_logging
ログ分析
ログスニペットに続いてキューバッファオーバーランが発生する場合は、Webサービスログから確認できます
751 queue stat request updateのラウンドの始まりを、10秒のリフレッシュ間隔の始まりで探します。
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件のリクエストのラウンドの間に、テキストツール(例)を使用してフィルタリングと検証を行います。メモ帳++で、一致する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によって処理されるQuerySkillGroupStatisticsConf メッセージが329個しかない場合、バッファには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処理遅延の図
- FinesseがgetQueryQueueStatisticsReq()要求をCTISVR - tracking 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
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が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メッセージを受信するまでに100ミリ秒かかったことに注意してください。Finesseでバッファキューオーバーランの問題が発生する可能性があります。
回避策
aws.propertiesには、Finesseサーバ側の更新間隔を設定するプロパティがあります。これは基本的に、FinesseからCTISVRまでの2回のキュー統計要求(この展開では1回は751個のキュー統計要求)の間の間隔です。Finesseはデフォルトで10秒ごとに要求します。このプロパティの値を高く設定すると、Finesseが1回のキュー統計要求を処理するために少し時間がかかる可能性があります(例:10秒ではなく20秒)。また、ベンチマークCTIスキル統計の要求/応答遅延を62ミリ秒から124ミリ秒に効果的に拡張します。
- Finesses 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ノードで同じ手順を実行します