简介
本文档介绍如何在客户语音门户(CVP)礼貌回叫部署中呼叫方排队时排除呼叫丢弃故障。
先决条件
要求
Cisco 建议您了解以下主题:
- 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\and C:\Cisco\CVP\VXMLServer\applications\CallBackQueue\logs\ActivityLog\.
步骤2.在CallbackQueue ActivityLogs中查找错误呼叫。您可以搜索error或warning以查找特定时间戳的错误呼叫。
片段回调队列活动日志:
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日志。您可以在目录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 - Root Doc Settings。
- 在VoiceXML Property下输入fetchtimeout,在Value下输入所需的超时。例如,在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。