المقدمة
يصف هذا المستند كيفية تكوين enableDelayQuickReinvite لمنع خادم التطبيق (AS) من إرسال إعادة الدعوة بسرعة كبيرة بعد ACK.
المتطلبات الأساسية
- معرفة بروتوكول بدء جلسة عمل أساسية (SIP)
- أساسي كمعرفة
- معرفة Basic BroadWorks BWCLI
المتطلبات
- يمكن إستخدام AS BWCLI ومستخدم مسؤول
- إمكانية مراجعة AS XSLogs
المكونات المستخدمة
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
معلومات أساسية
في بعض سيناريوهات الاتصال، يحتاج AS إلى بدء إعادة الاتصال، ومن أجل القيام بذلك، يرسل إعادة الدعوة إلى كلا النهايتين. ويحدث ذلك عندما تكون AS بحاجة إلى تشغيل إعادة اتصال بعد إنشاء جلسة عمل، على سبيل المثال لاستدعاءات مراكز الاتصال أو مجموعات الصيد أو تلك التي تتضمن ميزة "انقر إلى الطلب أو تسجيل المكالمات".
عندما تحتاج AS إلى إعادة توجيه الدعوة بعد إرسال ACK في نفس مربع الحوار، يرسل AS عادة إعادة توجيه الدعوة في نفس اللحظة مثل ACK، وهذا قد يتسبب في إستلام ACK و Re-Invite خارج الطلب بواسطة الجهاز البعيد.
عندما يحدث ذلك، يمكن للجهاز الذي يستقبل إعادة الدعوة قبل ACK المعلق رفض إعادة الدعوة، عادة مع 500 رمز خطأ (ولكن هذا يمكن أن يختلف، بناء على تنفيذ الجهاز عن بعد).
التكوين
هناك إثنان معلم يستعمل أن يشكل هذا سمة، وكلا إثنان يوجدان في ال BWCLI في AS_CLI/Interface/SIP>.
- enableDelayQuickReInvite هو المحول الرئيسي لتشغيل الميزة أو إيقاف تشغيلها. القيم المقبولة صحيحة وخاطئة.
- DelayQuickReInviteMillisseconds هي القيمة بالمللي ثانية (ms) للتأخير الذي تمت إضافته بعد ACK. نطاق القيمة هو من 100 مللي ثانية إلى 10000 مللي ثانية.
لتكوين هذه الميزة، افتح AS BWCLI، وسجل الدخول كمستخدم مسؤول، ثم انتقل إلى AS_CLI/Interface/SIP>:
AS_CLI> cd /Interface/SIP
AS_CLI/Interface/SIP>
قم أولا بتشغيل أمر get للتحقق من القيم الحالية لكل من المعلمتين. بشكل افتراضي enableDelayQuickReInvite معطل (خطأ) والقيمة الافتراضية ل delayQuickReInviteMillissec هي 1000 (1000 مللي ثانية أو 1 ثانية).
يتم حذف جزء من إخراج الأمر get للحصول على إمكانية قراءة محسنة.
AS_CLI/Interface/SIP> get
...
enableDelayQuickReInvite = false
delayQuickReInviteMilliseconds = 1000
...
ثم قم بتكوين المعلمة delayQuickReInviteMillissec. يمكنك قبول القيمة الافتراضية، أو إستخدام القيمة الأكثر ملاءمة لبيئة عملك. تتمثل التوصية في إستخدام أقل قيمة ممكنة، لذلك من المستحسن البدء بقيمة 100 مللي ثانية، وزيادتها فقط في حالة عدم كفاية للسماح بحل المشكلة.
AS_CLI/Interface/SIP> set delayQuickReInviteMilliseconds 100
...Done
بمجرد تكوين قيمة delayQuickReInviteMillisecseconds، يمكنك تمكين enableDelayQuickReInvite.
AS_CLI/Interface/SIP> set enableDelayQuickReInvite true
...Done
التحقق من الصحة
بمجرد انتهاء التكوين، قم بتشغيل سيناريو الاتصال مرة أخرى، للتأكد من أن AS يضيف التأخير بين ACK و re-INVITE. على سبيل المثال، إذا تم تكوين AS لإضافة 100 مللي ثانية، فيمكنك توقع أن يكون التأخير 100 مللي ثانية على الأقل، ولكن قد يكون أعلى ببضع مللي ثانية.
تكون 100 مللي ثانية كافية عادة لمنع إستلام ACK و Re-Invite خارج الطلب، ولكن يمكن أن تكون القيمة أعلى، استنادا إلى بيئة الشبكة وكيانات SIP المعنية في مسار الإشارات.
استكشاف الأخطاء وإصلاحها
إذا كان الجهاز لا يزال يستجيب مع رمز خطأ يبلغ 500، وتم تسليم ACK و Re-Invite بالترتيب الصحيح، يلزم إجراء مزيد من التحقيق في الجهاز.
أستخدم XSLogs على AS للتحقق من أن AS أضاف التأخير كما تم تكوينه، واستخدم التقاط الحزمة أو سجلات الجهاز للتأكد من أن التأخير كان كافيا لتسليم الرسائل بالترتيب الصحيح.
لاحظ أن هذا يعمل فقط عندما يرسل AS إعادة دعوة بعد أن يرسل ACK، ولكنه لا يعمل في حالة أن AS يستلم ACK وهذا يسبب أن تقوم AS بإرسال إعادة دعوة.