簡介
本文檔介紹如何在客戶語音門戶(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。