はじめに
このドキュメントでは、Customer Voice Portal(CVP)Courtesy Callback展開で発信者がキューに入っている間のコールドロップをトラブルシューティングする方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- CVP コール サーバ
- CVP Voice Extensible Markup Language(VXML)サーバ
- CVP Call Studioアプリケーション
- VXMLゲートウェイ
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアのバージョンに基づいています。
- CVP 10.5(1)
- CVP Call Studio 10.5(1)
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
問題
CVP Courtesy Callback展開では、最初の発信者がコールバックされた後、発信者がエージェントのキューで待っている間にコールがドロップされます。
トラブルシュート
ステップ 1:CVP VXMLサーバでCallbackWaitおよびCallbackQueueアプリケーションからActivityLogsを収集します。ディレクトリには次のログがあります。
C:\Cisco\CVP\VXMLServer\applications\CallBackWait\logs\ActivityLog\and C:\Cisco\CVP\VXMLServer\applications\CallBackQueue\logs\ActivityLog\.
ステップ 2:CallbackQueue ActivityLogsで不正なコールを見つけます。特定のタイムスタンプに対する不正なコールを見つけるには、errorまたはwarnigを検索します。
スニペットCallbackQueueアクティビティログ:
10.85.137.68.1469202885038.5788.CallbackQueue_custom,07/22/2016 11:59:24.656,Queue1,element,warning,A session has timed out after 3 minutes. This is most likely caused by a start of call class or action element at the top of the callflow not completing before the voice browser's fetch timeout occurred. To resolve it ensure this class executes in a timely manner or run it in the background. Session timeouts may also occur under high load or if there are issues with a load balancer or voice browser.
10.85.137.68.1469202885038.5788.CallbackQueue_custom,07/22/2016 11:59:24.656,Queue1,custom,Callback_Leave_Queue,ELEMENT_ENTRY
10.85.137.68.1469202885038.5788.CallbackQueue_custom,07/22/2016 11:59:24.656,Queue1,custom,Callback_Leave_Queue,ELEMENT_EXIT
10.85.137.68.1469202885038.5788.CallbackQueue_custom,07/22/2016 11:59:24.656,,end,how,app_session_complete
10.85.137.68.1469202885038.5788.CallbackQueue_custom,07/22/2016 11:59:24.656,,end,result,timeout
ステップ 3:ActivityLogsで確認できるように、セッションにタイムアウトがあることを示す警告メッセージが見つかります。このエラーは、VXMLゲートウェイログにbadfetchエラーとして報告されます。
ステップ 4:VXMLサーバからTomcatログを収集します。TomcatログはディレクトリC:\Cisco\CVP\VXMLServer\Tomcat\logsにあります。
java.lang.NullPointerException
at org.apache.coyote.http11.InternalNioOutputBuffer.flushBuffer(InternalNioOutputBuffer.java:240)
at org.apache.coyote.http11.InternalNioOutputBuffer.endRequest(InternalNioOutputBuffer.java:128)
at org.apache.coyote.http11.AbstractHttp11Processor.endRequest(AbstractHttp11Processor.java:1586)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1022)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1600)
Tomcatサーバのログで確認できるように、NIO(Non-blocking Input/Output)にはヌルポインタ例外があります。
注:NIOは、集中的な入出力(I/O)操作に使用されるJAVA Application Programming Interface(API)の集まりです。
ステップ 5:CVP VXML ServerとCVP VXML Gatewayの間のネットワーク接続を確認します。ほとんどのシナリオでは、このTomcatエラーが報告されると、VXMLゲートウェイとCVP VXMLサーバが異なるサブネットにあります。
解決方法
ステップ 1: fetchtimeoutが最低60秒に設定されていることを確認します。fetchtimeoutを設定していない場合は、次の手順を実行します。
- VoiceXMLプロパティfetchtimeoutをルートドキュメントに追加します。
- Unified Call Studioで目的のプロジェクトを右クリックし、Propertiesを選択します。
- Call StudioでRoot Doc Settingsを選択します。
- VoiceXML Propertyにfetchtimeoutと入力し、Valueに目的のタイムアウトを入力します。たとえば、60秒間の場合は60秒と入力します。
ステップ 2:useSendfile="false"を含むようにTomcat server.xmlファイルを変更します。 このファイルはC:\Cisco\CVP\VXMLServer\Tomcat\conf\ディレクトリにあります。
次に例を示します。
<Connector port="7000" useSendfile="false" redirectPort="7443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxHttpHeaderSize="8192" executor="tomcatThreadPool" acceptCount="1500"/>
<!-- A "Connector" using the shared thread pool-->
<!-- <Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> -->
<!-- Define a SSL HTTP/1.1 Connector on port 8443 This connector uses the JSSE configuration, when using APR, the connector should be using the OpenSSL style configuration described in the APR documentation -->
注:これはTomcatの問題であり、CVP製品に起因するものではありません。詳細は、CSCus07896を参照してください。
ステップ 3:異なるサブネットが使用される場合のパケット遅延に対処するには、WindowsのレジストリキーTcpAckFrequencyを1に変更することを推奨します。
注:この推奨事項は、異なるサブネットを使用するCVPソリューションにネットワークの問題がある場合にそれを解決することです。詳細は、CSCuq07550を参照してください。