目錄

簡介

必要條件

需求

採用元件

問題

疑難排解

解決方案

簡介

本文檔介紹如何在客戶語音門戶(CVP)禮貌回叫部署中對呼叫者在隊列中的呼叫丟棄進行故障排除。

必要條件

需求

思科建議您瞭解以下主題：

- CVP通話伺服器

- CVP語音可延伸標籤語言(VXML)伺服器

- CVP Call Studio應用程式

- VXML網關

採用元件

本檔案中的資訊是根據以下軟體版本：

- CVP 10.5(1)

- CVP通話工作室10.5(1)

本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除（預設）的組態來啟動。如果您的網路運作中，請確保您瞭解任何指令可能造成的影響。

問題

在CVP禮貌回叫部署中，在回叫原始呼叫者之後，當呼叫者在隊列中等待座席時，呼叫將會中斷。

疑難排解

步驟 1.從CVP VXML伺服器上的CallbackWait和CallbackQueue應用程式收集ActivityLogs。您可以在目錄中找到這些日誌：

C:\Cisco\CVP\VXMLServer\applications\CallBackWait\logs\ActivityLog\和C:\Cisco\CVP\VXMLServer\applications\CallBackQueue\logs\ActivityLog\。

步驟 2.在CallbackQueue ActivityLogs中查詢錯誤的調用。您可以搜尋error或warning，以查詢特定時間戳的錯誤呼叫。

片段CallbackQueue ActivityLogs:

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網關日誌中將此報告為回遷錯誤。

步驟 4.從VXML伺服器收集Tomcat日誌。您可以在C:\Cisco\CVP\VXMLServer\Tomcat\logs目錄中找到Tomcat日誌

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（無阻塞輸入/輸出）處存在空指標異常。

注意:NIO是用於密集輸入/輸出(I/O)操作的JAVA應用程式程式設計介面(API)集合。

步驟 5.檢查CVP VXML伺服器和CVP VXML網關之間的網路連線。在多數情況下，當報告此Tomcat錯誤時，VXML網關和CVP VXML伺服器位於不同的子網中。

解決方案

步驟 1. 確保將fetchtimeout配置為至少60秒。如果尚未配置fetchtimeout，請按照以下步驟操作。

- 將VoiceXML屬性fetchtimeout新增到根文檔。

- 在Unified Call Studio中，按一下右鍵所需的專案，然後選擇屬性。

- 在Call Studio上選擇 — 根文檔設定。

- 在VoiceXML屬性下輸入fetchtimeout，在值下輸入所需的超時。例如，60秒輸入60s

步驟 2.修改Tomcat server.xml檔案以包括useSendfile="false"。  您可以在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。