المقدمة
يوضح هذا المستند كيفية أستكشاف أخطاء عمليات إسقاط المكالمات وإصلاحها أثناء وجود المتصل في قائمة الانتظار في نشر رد اتصال "بوابة صوت العميل" (CVP) المجاملة.
المتطلبات الأساسية
المتطلبات
توصي Cisco بأن تكون لديك معرفة بالمواضيع التالية:
- خادم اتصال CVP
- خادم لغة الترميز القابلة للتوسيع الصوتي (VXML) CVP
- تطبيقات CVP Call Studio
- بوابات VXML
المكونات المستخدمة
تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج التالية:
- CVP 10.5(1)
- Cvp Call Studio 10.5(1)
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
المشكلة
في نشر رد اتصال CVP المجازي، بعد إستدعاء المتصل الأصلي مرة أخرى، وأثناء انتظار المتصل في قائمة انتظار العميل الذي يتم إسقاط المكالمة.
استكشاف الأخطاء وإصلاحها
الخطوة 1. تجميع ActivityLog من تطبيقات CallWait وCallLbackQueue على خادم CVP VXML. يمكنك العثور على هذه السجلات على الأدلة:
C:\Cisco\CVP\VXMLServer\applications\CallBackWait\logs\ActivityLog\and C:\Cisco\CVP\VXMLServer\applications\CallBackQueue\logs\ActivityLog\.
الخطوة 2. البحث عن المكالمة غير الصحيحة في سجلات نشاط CallbackQueue. يمكنك البحث عن خطأ أو تحذير للعثور على إستدعاء سيئ للطابع الزمني المحدد.
سجلات نشاط قائمة انتظار التعليمة البرمجية Snippet 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. كما يمكنك أن ترى في ActivityLog، تم العثور على رسالة تحذير، تشير إلى أن الجلسة لها مهلة. يتم الإبلاغ عن هذا في سجلات عبارة VXML كخطأ إحضار شارة.
الخطوة 4. تجميع سجلات Tomcat من خادم VXML. يمكنك العثور على سجلات 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 (الإدخال/الإخراج غير المحظور).
ملاحظة: NIO هي مجموعة من واجهة برمجة تطبيقات Java تستخدم لعمليات الإدخال/الإخراج (I/O) المكثفة.
الخطوة 5. تحقق من اتصال الشبكة بين خادم CVP VXML بوابة VXML و CVP. في معظم السيناريوهات، عند الإبلاغ عن خطأ TOMCAT هذا، تكون عبارة VXML وخادم CVP VXML في شبكات فرعية مختلفة.
الحل
الخطوة 1. تأكد من تكوين getTimeout إلى 60 ثانية كحد أدنى. اتبع هذه الخطوات إذا لم تقم بتكوين fechtimeout.
- أضفت ال VoiceXML خاصية getTimeout إلى الجذر وثيقة.
- في Unified Call Studio، انقر بزر الماوس الأيمن فوق المشروع المطلوب واختر خصائص.
- حدد "أستوديو تحت الطلب" - إعدادات المستند الجذر.
- تحت خاصية VoiceXML أدخل fechtimeout، وتحت القيمة أدخل المهلة المطلوبة. على سبيل المثال، لمدة 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 للحصول على مزيد من التفاصيل.