يزود هذا وثيقة معلومة حول ال cisco Unity Express (CUE) نظام. وعلى وجه الخصوص، يقدم هذا المستند تمهيد لإنشاء تطبيق الرد التلقائي المخصص في المنتج.
للحصول على مزيد من التفاصيل حول Cisco Unity Express، ارجع إلى دليل محرر البرامج النصية Cisco Unity Express. مخصص هذا المستند للمسؤولين الذين يحتاجون إلى دليل أساسي للبدء في إستخدام محرر Cisco Unity Express والاحتفاظ بالنصوص التفاعلية داخل منتج Cisco Unity Express.
ملاحظة: لا يتوفر دعم البرنامج النصي المخصص من خلال دعم Cisco الفني العادي. للأسئلة والتعليقات والمساعدة باستخدام نص تنفيذي مخصص، قم بإرسال بريد إلكتروني إلى ask-cue-editor@external.cisco.com.
يحتاج القارئ إلى أن يكون على دراية بإدارة Cisco Unity Express وتكوينها من خلال واجهة سطر الأوامر (CLI) أو واجهة المستخدم الرسومية (GUI).
يتوفر محرر البرنامج النصي Cisco Unity Express (CUEEditor2.1.1.exe) وعينة البرنامج النصي التي يستخدمها هذا المستند (CUE-AA-S6-AASample.zip) من مركز تنزيل برامج Cisco Unity Express 2.1.1.
تستند المعلومات الواردة في هذا المستند إلى الإصدار 2.1.1 من Cisco Unity Express. يحتوي المثال على خطوات تتوفر فقط في Cisco Unity Express 2.1.1. ومع ذلك، فإن الكثير من المبادئ هي نفسها بالنسبة للإصدارات السابقة. يتم توضيح الخطوات المحددة ل 2.1.1 بشكل صريح في هذا المستند.
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك مباشرة، فتأكد من فهمك للتأثير المحتمل لأي أمر.
للحصول على مزيد من المعلومات حول اصطلاحات المستندات، ارجع إلى اصطلاحات تلميحات Cisco التقنية.
يتم شحن المنتج Cisco Unity Express الأساسي مع قطعة بريد صوتي ونشرة رد تلقائي أساسية (في Cisco Unity Express 2.1.1 والإصدارات الأحدث، يوجد نصان تنفيذيان للرد التلقائي). يجد العديد من العملاء أن الرد التلقائي القياسي محدود للغاية. يحتوي Cisco Unity Express على محرر برامج نصية تتيح إنشاء برامج نصية مخصصة. يمكن تحميل هذه البرامج النصية المخصصة في Cisco Unity Express واستبدال (أو العمل بالإضافة إلى) الرد التلقائي العادي.
تحذير: البرنامج النصي للمثال الظاهر هنا هو لأغراض التوضيح. يمكن تعديله بأية طريقة. الهدف من هذه الورقة هو توضيح عملية تصميم وتنفيذ برنامج نصي مخصص. لا يقصد منه توفير نص تنفيذي للإنتاج تم إتمامه. على أي حال، إذا أخترت إستخدام هذا البرنامج النصي، على الأقل، قم بتسجيل كل من المطالبات. يمكنك الاستماع إلى الملفات الصوتية المرفقة لسماع كيف تبدو. ولكن أستخدم الإدارة عبر نظام إدارة التليفون (AVT)/التحية.
ملاحظة: في الوقت الحالي، لا يمكن الحصول على نسخة من البرامج النصية الفعلية للنظام التي يستخدمها Cisco Unity Express. تحتوي هذه البرامج النصية على خطوات لا يدعمها محرر البرامج النصية العادية. نصوص النظام النصية كما هو الحال في Cisco Unity Express 2.1.1 هي aa.aef و voiceBrowser.aef و setmwi.aef و promptMgmt.aef و checkaltgreet.aef و xfermailbox.aef و abasic.aef.
محرر النصوص التفاعلية هو أداة تتيح لك إنشاء نصوص تفاعلية على جهاز كمبيوتر مستقل عن Cisco Unity Express. وبمجرد إنشائها، يتم تحميل البرامج النصية وتكوينها على Cisco Unity Express.
تشرح هذه القائمة بعض المصطلحات الأساسية لمساعدتك على فهم المفاهيم الواردة في هذا المستند.
الخطوة — اللبنة الأساسية لإنشاء البرامج النصية. كل خطوة هي أهم وحدة تنفيذية، مثل جملة "إذا"، "غوتو"، وهكذا.
البرنامج النصي- خطوة أو أكثر يتم تنفيذها بالتسلسل. النص التنفيذي هو ملف بامتداد .aef.
متغير- تلك متغيرات في نص تنفيذي. يمكن أن تكون المتغيرات من أنواع مختلفة، مثل عدد صحيح، منطقي، سلسلة، وهكذا.
المعلمة—هذه خاصية لمتغير حتى يتم تعريض المتغير للمسؤول من خلال واجهة الويب Cisco Unity Express. على سبيل المثال، إذا كان لديك متغير OperatorExtension تريد تعيين القيمة 1000 بشكل افتراضي، فإنه يحتاج أحيانا إلى التغيير إلى 2000. في هذه الحالة، يتم عرض المتغير من خلال واجهة الويب حتى لا يكون من الضروري تحميل البرنامج النصي بالكامل في Cisco Unity Express مرة أخرى في كل مرة تكون فيها القيمة بحاجة إلى التغيير.
رسالة حث—a .wav مبرد أن يستطيع كنت شغلت. يتم تحميلها يدويا إلى نظام Cisco Unity Express أو تسجيلها من خلال الإدارة عبر نظام الهاتف (AVT) (قبل الإصدار 2.1.1 كان AVT يسمى نظام إدارة التحيات (GMS). يتم وضع جميع مطالبات المستخدم التي يتم تحميلها في نفس الدليل. يكونون مرئيين في واجهة المستخدم الرسومية من خلال البريد الصوتي > عنصر قائمة المطالبات أو في واجهة سطر الأوامر من خلال الأمر show ccn commands.
في البرنامج النصي، يتم تحديد مطالبات المستخدم على أنها p[<promptName>]. يتم تسجيل مطالبات النظام مسبقا ويمكن إستخدامها. يتم تحديدها ك SP[<promptName>]. يسرد الملحق 1 مطالبات النظام المتوفرة.
التطبيق- هذا هو النص البرمجي مع ملء كافة المطالبات والمعلمات. يتم شحن Cisco Unity Express بشكل افتراضي باستخدام البريد الصوتي ونظام AVT وتطبيق الرد التلقائي البسيط الذي تم تكوينه بالكامل عند تشغيل معالج التهيئة في نهاية التثبيت.
المشغل— يعلم المشغل Cisco Unity Express أنه يجب تنفيذ تطبيق معين. على سبيل المثال، عند الطلب 1000، يقوم نظام الهاتف (Cisco CallManager أو Cisco CallManager Express) بتوجيه المكالمة إلى Cisco Unity Express. عندما يرى Cisco Unity Express أنه يتم وضع مكالمة على الرقم 1000، فإنه يبحث عن مشغل لذلك الامتداد. وبعد ذلك يبدأ التطبيق المعني. وبكلمات أخرى، يعرف ما إذا كان الاتصال ب 1000 يحتاج إلى الذهاب إلى البريد الصوتي، الرد التلقائي، أو شيء آخر. يمكن أن يكون لديك عدة مشغلات لنفس التطبيق. هناك عدد من المشغلات التي تتم إضافتها بشكل افتراضي، مثل المشغلات إلى البريد الصوتي، AVT، والرد التلقائي المعلب.
عندما تفهم المصطلحات، فإنها تجعل أداة إدارة الويب Cisco Unity Express أسهل للفهم.
من صفحة الويب الخاصة ب Cisco Unity Express، يشير خيار الرد التلقائي ضمن فئة البريد الصوتي إلى التطبيقات كما هي معرفة في المصطلحات. يحتوي كل مدخل على الرقم المرتبط بالتطبيق، والبرنامج النصي الذي يشير إليه، وأي معلمات مرتبطة بالبرنامج النصي، وما إذا كان التطبيق متاحا أم لا، وعدد المنافذ المقترنة.
لا تحتوي معالجة المكالمات حاليا إلا على الأرقام المقترنة للبريد الصوتي والرد التلقائي المدمج ونظام AVT. في Cisco Unity Express 2.1 والإصدارات الأحدث، تحت الإدارة > أرقام إستدعاء الواردة هناك عرض إضافي لجميع المشغلات، لكل من JTAPI (ل Cisco CallManager) و SIP (لوضع Cisco CallManager Express أو SRST). حاليا، الطريقة الوحيدة لمعرفة ما إذا هناك يتعدد مشغلات يشكل أن نقطة إلى ال نفسه تطبيق هو مع العرض ccn زناد أمر يصدر في ال CLI.
يشير خيار المطالبات إلى ملفات الصوت (.wav) الموجودة على النظام.
يشير تحديد النصوص التنفيذية إلى ملفات .aef التي يمكنك تخزينها على النظام. حاليا، يمكنك تحميل ما يصل إلى أربعة برامج نصية بالإضافة إلى البرامج النصية للنظام.
من ال CLI، هذا معلومة يتوفر بسهولة يستعمل العرض ccn أمر. يمثل هذا المخرج أجزاء من كل مخرجات أمر:
cue-3745-44a> show ccn application Name: customaa Description: customaa Script: customaa.aef ID number: 4 Enabled: yes Maximum number of sessions: 8 OperatorExtension: 205 MainMenu: MainMenu.wav ClosedGreeting: ClosedGreeting.wav InvalidExt: InvalidExt.wav MaxRetries: 3 MaxExtension: 205 SorryGoodbye: SorryGoodbye.wav EnterExtension: EnterExtension.wav namePrompt: namePrompt.wav MinExtension: 200 ... cue-3745-44a> show ccn prompts Name: MainMenu.wav Language: de_DE Last Modified Date: Wed Dec 22 03:34:57 GMT+00:00 2004 Length in Bytes: 121978 Name: EnterExtension.wav Language: de_DE Last Modified Date: Wed Dec 22 03:34:26 GMT+00:00 2004 Length in Bytes: 21338 Name: SorryGoodbye.wav Language: de_DE Last Modified Date: Wed Dec 22 03:34:02 GMT+00:00 2004 Length in Bytes: 17658 Name: ClosedGreeting.wav Language: de_DE Last Modified Date: Wed Dec 22 03:33:00 GMT+00:00 2004 Length in Bytes: 86138 Name: InvalidExt.wav Language: de_DE Last Modified Date: Wed Dec 22 03:47:07 GMT+00:00 2004 Length in Bytes: 29818 Name: namePrompt.wav Language: de_DE Last Modified Date: Wed Dec 22 03:40:28 GMT+00:00 2004 Length in Bytes: 22618 ... cue-3745-44a> show ccn trigger Name: 18955 Type: SIP Application: customaa Locale: systemDefault Idle Timeout: 10000 Enabled: yes Maximum number of sessions: 8 ...
يعرض إخراج تطبيق CCN اسم التطبيق، النص التنفيذي الذي يشير إليه، ما إذا كان ممكنا أم لا وعدد الاستدعاءات المتزامنة التي يمكن أن يعالجها، مع كل معلمات البرنامج النصي مع قيمها.
يسرد الأمر show ccn جميع الأوامر ولغتها وحجمها وتاريخ تعديلها.
تعطي معلومات show ccn trigger الرقم ("Name") وكذلك التطبيق الذي يستدعيه، الحالة (enabled/disabled)، وعدد جلسات العمل.
أستخدم محرر البرامج النصية (العملاء المسجلون فقط) لإنشاء برنامج نصي جديد. يجب تثبيته على جهاز كمبيوتر منفصل.
يوجد في نفس الموقع العديد من البرامج النصية النموذجية. تساعد هذه النصوص التنفيذية على تعلم كيفية القيام بعمليات معينة في نص تنفيذي. توصي Cisco بتثبيت المحرر وتنزيل بعض النماذج النصية حتى تصبح على دراية بطريقة عمل المحرر.
بمجرد أن يتم تشغيل محرر النصوص، يمكنك فتح نص تنفيذي كما هو موضح في هذا الرسم:
تحتوي لوحة الألوان على مجلدات مع كل خطوة، مصنفة بناء على وظيفتها الرئيسية. من هناك، اسحب الخطوات إلى لوحة التصميم لإنشاء نص تنفيذي. في لوحة المتغيرات، يمكنك إنشاء وتحرير متغيرات. بعد سحب خطوة إلى لوحة التصميم، يمكنك النقر بزر الماوس الأيمن على خطوة، وتحديد خصائص، وتخصيص الخطوة والمتغيرات المعينة للخطوة. قبل تحميل برنامج نصي إلى Cisco Unity Express، يلزمك دائما التحقق من صحته أولا من خلال خيار أدوات > التحقق من الصحة. يظهر أي إخراج خطأ بعد ذلك في جزء تصحيح الأخطاء.
أحد أكثر الأشياء المفيدة التي يجب تذكرها عند إستخدام المحرر هو وظيفة "المساعدة". يمكنك إما الوصول إليها مباشرة من خلال قائمة التعليمات على شريط الأدوات، أو عندما تحدد خاصية خطوة معينة.
يمكنك إستخدام قائمة التعليمات لتعرفي نفسك على بعض الخطوات. في محرر النص التنفيذي، اسحب بضع خطوات من اللوحة إلى لوحة التصميم وانقر بزر الماوس الأيمن على واحد وحدد خصائص. ثم انقر فوق الزر تعليمات واحصل على تعليمات حول هذه الخطوة المحددة.
تصف هذه الوثيقة إنشاء نموذج لبرنامج نصي. يناقش المستند أيضا بعض المشاكل الشائعة التي يحاول الأشخاص حلها عند إنشاء رد تلقائي مخصص. الهدف هنا هو إنشاء نص تنفيذي يستجيب للمكالمة، ويتحقق مما إذا كانت هناك تحية بديلة طارئة وإذا كان الوقت الحالي هو ساعات العمل العادية أم لا. إذا كان مغلقا، قم بتشغيل ترحيب مخصص وأرسل المكالمة إلى المشغل. إذا كان مفتوحا، فقم بتشغيل قائمة تسمح للمتصل بالطلب 1 للطلب بواسطة الاسم أو 2 للطلب بواسطة الملحق أو 0 للمشغل. يجب أن يقوم خيار الطلب بواسطة الملحق بنقل المكالمة إلى نطاق محدد فقط، وليس أي رقم يمكنك إدخاله.
تحذير: المثال الذي يستخدمه هذا المستند هو للتوضيح فقط. في حين أنك حر في إستخدام أي أجزاء تحب، إلا أنه على الأرجح لا يتوافق تماما مع حالة شركتك. ولا سيما في مجالات معالجة الأخطاء، فإن هذا البرنامج النصي لا يستخدم كثيرا.
ملاحظة: بالإضافة إلى البرامج النصية النموذجية على www.cisco.com، يحتوي القرص المضغوط الخاص ب Cisco Unity Express على برنامج نصي مماثل للبرنامج المستخدم هنا، ويدعى aa_sample1.aef. وهو مماثل جدا للحاجب التلقائي للشحن العادي (قبل 2،1). إذا كنت تخطط لاستخدام النص التنفيذي المعلب كنقطة بداية، أستخدم هذا النص التنفيذي بدلا من ملف aef الذي يتم العثور عليه عندما تقوم بتثبيت بعض الإصدارات من محرر البرنامج النصي.
يدعم Cisco Unity Express حاليا التكامل مع Cisco CallManager أو Cisco CallManager Express. بالرغم من أن النص لا يتغير، إلا أن طريقة الدمج قد تؤدي إلى بعض الفروق الطفيفة. عندما تقوم بتنفيذ خطوة إعادة توجيه، والتي تقوم بنقل المكالمة منطقيا من Cisco Unity Express إلى ملحق خارجي، فإن طريقة التكامل هذه تكون حرجة. عند دمجه مع Cisco CallManager Express، وهو نفس الأمر لتكامل Cisco CallManager الموجود حاليا في وضع SRST، يتم إرسال الإشارات من خلال SIP في شكل رسالة BYE/Also. ما يعنيه هذا هو أن إعادة التوجيه تعلق المكالمة إلى Cisco Unity Express وتخطر موجه Cisco CallManager Express/SRST لتوصيل المتصل بالملحق المحدد في الجزء "أيضا:" من رسالة BYE. إذا كان هذا الملحق غير صالح أو يتعذر الوصول إليه بشكل آخر، يمكن إسقاط المتصل. وذلك نظرا لأنه لا توجد طريقة لاستعادة Cisco Unity Express ذلك الاتصال وإعلامه بفشل النقل. إنه نقل حقيقي أعمى. إذا تم إعادة توجيه الاستدعاء إلى ملحق غير مسجل أو مشغول أو غير مستجيب، سيتم تطبيق قواعد إعادة توجيه المكالمات العادية التي تنطبق على رقم الدليل هذا. لم يعد Cisco Unity Express جزءا من المكالمة. هذا يعني أيضا أنه عندما تتم كتابة خطوات إعادة التوجيه، حاليا لا توجد فائدة كبيرة عندما تقوم بإضافة رمز للتعامل مع عمليات إعادة التوجيه المشغولة/غير الصالحة/غير الناجحة، نظرا لأن إعادة التوجيه نفسها تكافئ عدم الاتصال. لا توجد حالة فشل ممكنة.
بالنسبة لعمليات تكامل Cisco CallManager، تتصل Cisco Unity Express من خلال واجهة برمجة التطبيقات الهاتفية لجافا (JTAPI). يتيح هذا حدوث خطوات إعادة توجيه مشغولة/غير صالحة/غير ناجحة. لذلك، قم بإضافة شفرة إلى البرنامج النصي لمعالجة تلك الحالات. عندما تصبح جميع Cisco CallManager غير قابلة للوصول ويدخل النظام في وضع SRST، يستخدم هذا إرسال إشارات SIP التي تمت مناقشتها سابقا في هذا المستند. لذلك، تنطبق جميع القيود الموضحة في هذا المستند.
قبل البدء باستخدام برنامج نصي للإنتاج، من الضروري تعيين تدفق المكالمات الكامل. على سبيل المثال، لنفترض أن كل الملحقات تقع في النطاق 200-299 (النقطة المهمة هي أن جميعها تبدأ ب 2). على سبيل المثال، لديك شيء مثل هذا الإجراء:
أجب على المكالمة.
تحقق مما إذا كان هناك ترحيب بديل. إذا كان هناك، قم بلعبها.
تحقق ما إذا كان هذا عطلة أم لا. إذا كان الأمر كذلك، فقم بتشغيل التحية أثناء العطلات ثم انتقل إلى القائمة الرئيسية.
تحقق مما إذا كان ذلك أثناء ساعات العمل أو بعدها وقم بتشغيل التحية المقابلة (المفتوحة/المغلقة). انتقل إلى القائمة الرئيسية.
يجب أن تعرض القائمة الرئيسية رسالة حث وتسمح للمستخدمين بإدخال ملحق في أي وقت إذا كانوا يعرفونه. يسمح لهم بإدخال 1 إذا كانوا يريدون البحث عن مستخدم في الدليل، أو 0 إذا كانوا يريدون الوصول إلى المشغل. بما أن جميع ملحقات المستخدم الصحيحة تبدأ ب 2، فأدخل فرعين إلى قسم ملحق الطلب عن طريق الطلب.
يقوم الطلب حسب الاسم بالبحث عن المستخدمين ونقلهم إليهم. يتم تحويل المستخدم إلى المشغل إذا تم إدخال صفر.
يحاول خيار الطلب عن طريق الملحق على الفور جمع رقمين إضافيين. إذا تم إدخال عدد أقل، فإنه يرجع إلى القائمة الرئيسية. إذا تم تجميع إثنين، فإنه يحاول البحث عن المستخدم. يتم تحويل المستخدم إلى هذا الملحق إذا خرج المستخدم، وإلا سيذهب المستخدم إلى القائمة الرئيسية.
يقوم التحويل إلى وظيفة المشغل بتحويل الاستدعاء. إذا فشل لسبب ما، فإنه يرجع إلى القائمة الرئيسية.
حدث خطأ إضافي في معالجة التسلسل للعديد من المشاكل (مثل عمليات النقل غير الناجحة المتعددة) الذي يخبر المستخدم بالمحاولة مرة أخرى لاحقا ويتم تعليقه.
يمكن القيام بالكثير لمعالجة الأخطاء. لتنفيذ حقيقي، من المحتمل أن يساعد في تخطيط تدفق المكالمات الكامل (وهذا يتضمن معالجة الأخطاء وكل تفاعل أو إختيار من قبل المستخدم) في مخطط انسيابي.
أدخل البرنامج النصي في محرر البرنامج النصي.
تبدأ كافة البرامج النصية بخطوة بداية. أول شيء يجب فعله هو قبول المكالمة. بعد ذلك، قم بتشغيل رسالة حث (DP[500]) وهي توقف لمدة 0.5 ثانية. في بعض الحالات، لا يحدث توصيل الصوت إلى شبكة الهاتف المحولة العامة (PSTN) بسرعة. العب التحية قبل و"حقيقة" لتجنب أي قطع يذكر للالتحية. التالي هو خطوة GoTo على الاستثناء. ما يفعله هذا هو البحث عن أي إستثناء من النوع "UndefinedPromptException" في وقت تنفيذ البرنامج النصي. يحدث هذا الاستثناء الخاص عندما تحاول الخطوة تشغيل مطالبة غير موجودة. لا يحدث هذا إلا إذا كانت الخطوة التي تعرض المطالبة قد تم تعيين الخاصية "متابعة في أخطاء المطالبة" إلى "لا". في حالة تعيينها إلى "نعم"، لا يتم تشغيل أية مطالبة ولا يتم طرح أي إستثناء. يضمن إستخدام خطوة GoTo هذه على الاستثناء أنه في حالة مسح موجه هام يمكن إدارته من قبل المسؤول (مثل القائمة الرئيسية)، يمكنك تفريعه إلى قسم حيث يمكنك تفريعه إلى تسمية "عذرا" لإعلام المستخدم بالمحاولة مرة أخرى لاحقا. بعد ذلك، اتصل بالتدفق الفرعي، checkAltGreet.aef. هذا هو نظام نصي، وهو دائما موجود. إنه يتحقق من وجود ملف AltGreeting.wav. إذا كان موجودا، فهو يلعب به. إذا لم يكن كذلك، فإن التدفق الفرعي يرجع. وهذا سهل لأنك تستطيع إستعماله بالاشتراك مع ال GMS (الذي يدعى الآن نظام AVT) من أجل تشغيل تحية طارئة من نوع ما قبل الرسالة العادية. لمزيد من المعلومات حول هذه الميزة، ارجع إلى تكوين نظام إدارة الترحيب وترحيبه البديل للطوارئ ل Unity Express واستخدامه. لا توجد طريقة لمعرفة ما إذا كان الترحيب البديل يؤدي بالفعل (أو يتحقق من وجود ملف في المستودع المحلي). ليس من الضروري إستخدام هذا في بداية النص. استنادا إلى التطبيق الخاص بك، يمكنك إستخدام وظيفة الترحيب البديل للطوارئ لتسجيل مطالبات العطلات، على سبيل المثال. بدلا من دعوة هذا التدفق، اتصل به فقط إذا كان عطلة. وهذا يساعد مسؤولي الموقع على تسجيل رسائل الترحيب الخاصة بالعطلات من خلال واجهة المستخدم الهاتفية دون الحاجة إلى الوصول إلى النظام من خلال متصفح أو واجهة سطر الأوامر (CLI) (لإعادة تسمية المطالبات أو تخصيصها لمتغيرات البرامج النصية).
حدد أي مطالبة الفتح سيتم تشغيلها. إذا كان يوم عطلة، قم بلعب تحية العيد. إذا كان أثناء ساعات العمل (وهي قابلة للتكوين من خلال الجداول في مسؤول الويب من Cisco Unity Express)، فقم بتشغيل التحية الافتتاحية (والتي يمكن أن تكون شيء بسيط مثل "شكرا لاستدعاء Cisco Systems")، وإلا قم بتشغيل التحية المغلقة. بغض النظر عن أي واحدة تلعبها، عليك أيضا الذهاب مباشرة إلى القائمة الرئيسية.
ملاحظة: والخطوتان "هي عطلة" و "ساعات العمل" محددتان ل 2-1-1 وما بعده. بالنسبة لإصدارات سابقة من Cisco Unity Express، يكون الخيار الوحيد هو إستخدام خطوة "الوقت من اليوم". لا يسمح لك هذا الأمر بإجراء تحيات مختلفة استنادا إلى اليوم أو التاريخ. إنه مبني على الوقت فقط.
أدخل قسم القائمة الرئيسية. نظرا لأن الكثير من معالجة الخطأ يقوم لاحقا بإرسال المتصل مرة أخرى إلى القائمة الرئيسية، تتم إضافة عداد. تتم مقارنة العداد "محاولات" بالعداد "MaxRetries"، وهو متغير آخر قابل للتكوين بواسطة المستخدم (3 بشكل افتراضي). إذا تم الوصول إلى هذا العداد، فاعتذر وقم بنقل المتصل إلى المشغل ("عذرا، توجد مشاكل لديك. الرجاء الانتظار لعامل تشغيل.).
تعرض خطوة القائمة رسالة حث أساسية ("إذا كنت تعرف ملحق حجزك، فالرجاء الاتصال به في أي وقت. من أجل الضغط بالاسم 1، من أجل المشغل اضغط 0، لتكرار هذه الخيارات، اضغط 9.). في هذه الحالة، نظرا لأنك تقوم بتشغيل المطالبة المسجلة الخاصة بك، فإنك تقوم بتغيير المعلمة Maximum Retry في هذه الخطوة إلى 0. هذا يتم في كل مكان لديك خيار للقيام بذلك. السبب هو أنه إذا كان غير 0، فيمكنك سماع مطالبة النظام "هل مازلت هناك؟" في كل مرة يتم فيها الوصول إلى مؤقت انتهاء الصلاحية ويتم تفريعه إلى فرع المهلة. ويجري الوصول إلى الفرع الفاشل عندما يضغط شخص ما أي شيء غير 1، 2، 9، أو 0. في هذه الحالة، تقوم بتشغيل مطالبة "الملحق الذي تم إدخاله غير صالح" وتسقط من الخطوة التي تقوم فيها بزيادة عداد المحاولات والعودة إلى القائمة الرئيسية.
ملاحظة: لضمان توقف الصوت بمجرد إدخال رقم في خطوات الوسائط (مثل القائمة أو مطالبة التشغيل)، يجب عليك التحقق من حقل Barge في علامة التبويب "مطالبة" الخاصة بالخطوة. يتم إستخدام الحقل القابل للانقطاع (على علامة التبويب "عام") لانقطاعات الخطوات الأخرى التي لا تنطبق حاليا على Cisco Unity Express.
تمت إضافة قسم معالجة خطأ واحد. يقوم قسم "Sorry" بتشغيل رسالة ("يتعذر علينا نقل المكالمة في هذا الوقت. يرجى المحاولة مرة أخرى لاحقا. وداعا.). تم قطع الاتصال بعد ذلك.
يمكنك دائما إستخدام ترحيب النظام بدلا من هذه المتغيرات المخصصة. تحتوي مطالبات النظام دائما على تدوين SP[] بينما تستخدم مطالبات المستخدم تدوين P[]. لا يمكنك تعيين مطالبة نظام إلى متغير موجه عندما تقوم بتعريفه (في جزء المتغير نظرا لأن تلك قيم المستخدم حسب التعريف). بمجرد تعريفها، في النص التنفيذي، يمكنك تعيين موجه النظام لمتغير من خلال خطوة المجموعة (أو أي من خطوات إنشاء المطالبة).
تتمثل إحدى طرق إجراء "الطلب حسب الاسم" في تنزيل العينة (S4_DialByName) من Cisco.com، وتحميلها كبرنامج نصي منفصل في Cisco Unity Express ثم إضافة خطوة Call Subflow لاستحضارها. وفي هذه الحالة توضع الخطوة مباشرة في النص وتناقش بالتفصيل. تتيح لك خطوة NameToUser فقط تكوين أحد مطالبها ("قم بتسمية اسم العائلة للشخص الذي تريد الاتصال به، متبوعا بالاسم الأول للرسالة Q Press 7، وللرسالة Z Press 9"). لا يمكن التخلص من جميع مطالبات النظام. ولتصغيرها، تحتاج أولا إلى تعطيل المفتاح "إلغاء الأمر" (الافتراضي *). إذا كان موجودا، يضيف النظام رسالة "للبدء من جديد، اضغط النجمة" في نهاية الرسالة المسجلة. ثانيا، قم بتغيير الحد الأقصى للمحاولات إلى صفر، بحيث لا يمكن حدوث رسائل "يرجى المحاولة مرة أخرى" و"هل مازلت موجودا". تتبع دائما عدد المحاولات التي تحتوي على متغير عداد منفصل تقوم بإضافته. لا تزال هناك مطالبة نظام واحدة لا يمكن إزالتها. إنها المطالبة بتطابقات متعددة ("تم العثور على أكثر من اسم. حدد من التالي...). تنتهي خطوة الاسم إلى المستخدم دائما بنجاح أو مهلة أو غير ناجح أو عامل التشغيل (إذا تم تحديده في خصائص الخطوة). باستثناء فرع Successful و Operator، يمكنك سحب خطوة القائمة. هذا يعني زيادة عداد المحاولات والعودة إلى القائمة الرئيسية. استنادا إلى الحالة، يمكنك الحصول على عداد إعادة محاولة منفصل وإضافة خطوة للعودة إلى تسمية DialByName بحيث يكرر الإجراء المحدد بالفعل.
ملاحظة: هناك عيب واحد في الإصدار 2.1.1 يتطلب الاعتبار وهو معرف تصحيح الأخطاء من Cisco CSCeg81385 (للعملاء المسجلين فقط). عندما يتم تعيين الحد الأقصى لعمليات إعادة المحاولة على الخطوة NameToUser على صفر أو واحد، يجب إستخدام حرف إنهاء. بدون حرف الإنهاء، لا يتم الانتقال إلى فرع "ناجح" لهذه الخطوة. بدلا من ذلك يذهب دائما إلى "المهلة"، حتى إذا كان هناك تطابق.
إذا لم يقم المستخدم بإدخال ملحق يمكن تعيينه إلى اسم، يتحقق الفرع غير الناجح من عداد جديد (SpellByNameAttempts) مقابل MaxRetries. بافتراض أن الحد الأقصى نفسه لعدد محاولات إدخال القائمة الرئيسية يجب تطبيقه على الدالة 'إملائية بالاسم'. يمكنك إضافة متغير مستقل إذا كانت تلك تحتاج أن تكون مختلفة.
تعني خطوة NameToUser الناجحة إدخال رقم واحد على الأقل وتحديد الاسم الأخير لمستخدم واحد على النحو المحدد في Cisco Unity Express (يتم الوصول إلى فرع المهلة فقط إذا لم يتم إدخال أية أرقام على الإطلاق). للتأكد من أن الملحق فريد، تحقق من أنه يمكنك تعيين الملحق مرة أخرى إلى المستخدم. يمكن تحقيق ذلك من خلال خطوة ExtensionToUser. تتم إضافة هذه الخطوة في Cisco Unity Express 2.1.1. سابقا، لم تكن هناك طريقة، إذا أعطيت امتدادا، للتأكد من أنها تخطط لمستخدم حقيقي في نظام البريد الصوتي. أفضل ما يمكنك فعله هو إعداد بعض المتغيرات للمقارنة معها، مثل إضافة خطوة "If (TransferExt < MinExtension)" || (TransferExt > MaxExtension)... أو شيء مشابه.
هنا ترى النص التنفيذي بعد أن تقوم بتعيين الامتداد مرة أخرى إلى المستخدم. إذا لم تقم بتشغيل مطالبة بأن الملحق غير صالح. عادة لا يوجد تمديد لسبب ما. في حالة Cisco CallManager Express، قد يعني ذلك أنك ستعلق المكالمة إذا حاولت نقل المكالمة. قد يتسبب ذلك في حدوث إرتباك طفيف نظرا لأن المتصل قام بالفعل بتحديد مستخدم. ومع ذلك، من الواضح أن هذه بالفعل حالة خطأ تريد أن تعرف عنها على أي حال. إذا نجح تعيين الملحق لمستخدم، فتحقق أولا لمعرفة ما إذا كان لديهم اسم مسجل (يتم ملء متغير SpokenName عندما تقوم بالبحث عن ذلك المستخدم). ثم قم بتعيين متغير المطالبة إلى الاتصال بالإضافة إلى SpokenName. وإلا، فقم بتعيينه على ملحق الاتصال بالإضافة إلى الملحق الذي تمت كتابته للمستخدم. يمكنك أيضا توضيح الاسم (تشغيل S[name] في نافذة مطالبة). لا يوجد اسم مسجل للتشغيل. أي كتابة إملائية للنظام، مثل كتابة اسم أو ملحق بطريقة الإملاء، يتم دائما بصوت النظام ولا يمكن تخصيصها. تقوم خطوة التأكيد الضمني بتشغيل المطالبة التي قمت بإنشائها. إذا لم يقم المستخدم بكتابة أي شيء، فإنه يمضي قدما ويدخل فرع "نعم" ويعيد توجيه المكالمة. إذا كانت هناك مشكلة، في حالة تكامل Cisco CallManager، فإنه يقوم بتشغيل التحية ويتم إرسال المتصل مرة أخرى إلى القائمة الرئيسية. إذا قام المتصل بإدخال شيء ما، فقم بإنشاء مطالبة أخرى. تبدأ هذه المرة المطالبة إما بالاسم الذي تم تحميله، أو بإصدار مكتوب لاسم المستخدم (إنشاء خطوة مطالبة شرطية). اتبع هذا الإجراء بوقفة سريعة ودعوة "إذا كان هذا اسم الشخص الذي تتصل به، اضغط على 1". الآن يمكن للمستخدم إما الضغط على 1 للإجابة ب "نعم" أو "2" أو "انتظر". إما أن يرسلها النظام مرة أخرى إلى قسم "إملائية بالاسم" أو إلى المشغل. وهذا يتوقف على عدد المرات التي مروا خلالها بالنظام.
يحتوي قسم الطلب حسب الملحق بالفعل على الرقم الأول ("2" في هذا المثال) الذي تم تجميعه. قم بتعيين متغير البادئةDigit على 2. يمكنك تغيير هذا بسهولة، بناءا على الرقم البادئة (أو إذا كان هناك أكثر من رقم بادئة ممكن). لا يمكن أن يكون أي رقم بادئ مثل خيار آخر في القائمة (مثل 1، والذي تستخدمه للطلب بالاسم في هذا المثال). كما تجمع سلسلة get digit عددا ثابتا من الأرقام (إثنتان في هذه الحالة). لذلك، يجب تحديد العدد الإجمالي للأرقام. إذا بدأت الملحقات الصحيحة ب 2 أو 3، فيمكنك إضافة خطوة "تعيين البادئةDigit = "3" إلى الخيار 3 من خطوة القائمة متبوعة بخطوة Goto DialByExtension.
ونظرا لوجود ملحقات مكونة من ثلاثة أرقام في هذه البيئة، فإن معلمة طول إدخال خطوة "الحصول على سلسلة أرقام" هي 2. لا يوجد حرف إنهاء ولا مفتاح إلغاء. الحد الأقصى لعدد مرات إعادة المحاولة هو 0. إذا لم يقم المستخدم بإدخال ملحق صالح، فإن البرنامج النصي يزيد عدد المحاولات ويعود إلى القائمة الرئيسية. لا تقوم الخطوة بتشغيل أي صوت (المطالبة p[]) نظرا لأن المستخدم موجود بالفعل في منتصف أرقام الطلب.
عند تجميع رقمين بنجاح، قم بترجيح البادئةDigit ("2" في هذه الحالة) التي تم طلبها بالفعل (والتي تتيح لك إمكانية التفرع من خطوة القائمة). TransferExt الذي ينتج بعد ذلك ينتقل إلى خطوة "ملحق إلى المستخدم"، والتي تتحقق مما إذا كان هذا المستخدم صالحا. إذا كان كذلك، فقم بإنشاء مطالبة باستخدام الملحق الذي تم إخطاره. في خطوة التأكيد الضمني تقوم بتشغيل المطالبة "ملحق الاستدعاء" التي يتبعها الملحق. ابحث عن المستخدم وقم بتشغيل الاسم الذي تم التحدث به، كما فعلت في DialByName. غير أنه ليس من الضروري في هذه الحالة. إذا لم يتم طلب أي رقم، افترض أن هذا هو الملحق الذي يريد المتصل الوصول إليه، ثم أعد توجيه المكالمة. وإلا قم بالدورة مرة أخرى إلى القائمة الرئيسية. الغرض من خطوة مطالبة التشغيل DP[250] هو إزالة أي إدخال آخر، لأن خطوة الحصول على سلسلة رقم لا تحتوي على أي حرف إنهاء مكون. الفكرة هي أنك تريد أن يعمل هذا إذا طلب أحد التمديد "200" أو "200#". إذا تم إدخال # أثناء تشغيل خطوة التأكيد الضمني، فإنها تنتقل إلى الجزء "لا" من تلك الخطوة. وفي بعض الحالات، قد لا يكون من الضروري إتخاذ خطوة تأكيد ضمني على الإطلاق، بل إعادة توجيه المكالمة على الفور. لأغراض توضيحية، يتم ترك هذه الخطوات في.
تشغيل مطالبة "تحويل المكالمة" ثم إعادة توجيهها إلى ملحق عامل التشغيل الذي تم تكوينه. إذا فشل لسبب ما، لديك عداد منفصل والذي تقوم بزيادته والعودة إلى القائمة الرئيسية. السبب في ذلك هو أنك تريد أن يكون لديك طريقة ما لإعطاء المشغل بعض الوقت للخروج من الهاتف أو إعادة التسجيل بحيث يمكنك محاولة النقل إليهم بنجاح مرة أخرى. بعد عدد من المحاولات (التي تم ترميزها بشكل ثابت عند 3 في هذا المثال)، يمكنك التفرع إلى تسمية "Sorry"، والتي تقوم بإسقاط المكالمة.
هناك العديد من الأماكن حيث يمكن أن تفشل البرامج النصية. أحد أكثر المناطق شيوعا في النص البرمجي ذو التصميم الجيد هو عندما تكون مطالبات المستخدم مفقودة. عند محاولة النظام تشغيل مطالبة غير موجودة، يمكن حدوث عدد من الأشياء. أولا، إذا كانت الخطوة التي تقوم بتشغيل المطالبة قد تم تعيين "متابعة في أخطاء المطالبة" إلى "نعم". ينتقل إلى الخطوة التالية ولا يقوم بتشغيل المطالبة. إذا تم تعيين "متابعة في أخطاء المطالبة" إلى "لا"، يتم إنشاء إستثناء. وفي معظم الأحيان، يكون هذا هو "UndefinedPromptException"، مما يعني أن المطالبة غير موجودة أو لم يتم تكوينها أبدا. عندما تكون لديك خطوة "انتقال إلى الاستثناء"، فإنها يمكن أن تسمح لك بلمس هذا الاستثناء والانضمام إلى قسم من التعليمات البرمجية الذي يمكن أن يقوم بتشغيل رسالة نظام، أو شكل آخر من الصوت بدلا من ذلك. بما أن خطوة الانتقال إلى الاستثناء في حالة التشغيل تنطبق على كل الصوت الذي يعرض في البرنامج النصي بأكمله ( لا يمكنك تعريف خطوة On Exception Goto منفصلة لكل موجه أوامر تقوم بتشغيله)، فإن أفضل طريقة لمعالجة هذا الإجراء هي تعيين متغير رمز خطأ قبل تشغيل نافذة المطالبة مباشرة. بهذه الطريقة، يمكنك التفرع في مكان ما، إتخاذ إجراء بناء على رمز الخطأ هذا، ومن ثم ربما التفرع مرة أخرى.
على سبيل المثال، يمكنك تعديل النص التنفيذي بهذا:
لقد أضفت تسمية "Maxretries". يستخدم هذا للعودة إلى نفس المكان. تعيين متغير ErrorCode إلى Maxretries. في خطوة "مطالبة التشغيل"، تأكد من تعيين "متابعة أخطاء المطالبة" على No. قم الآن بإضافة مقطع يمكنه معالجة هذا الأمر. راجع ما إذا كان ErrorCode يطابق "MaxRetries"، ثم قم بتعيين متغير SorryProblems (الذي حاولت تشغيله سابقا) على رسالة النظام Sorry التي تواجه مشكلة. الرجاء البقاء على الخط والبعض الآخر سيكون معك قريبا. ثم انتقل إلى تسمية Maxretry حتى تتمكن من اللعب.
تتمثل الخطوة الأخيرة في تغيير رسالة On Exception Goto للبحث عن خطأ UndefinedPromptException:
يمكن أن تكون هذه الخطوة أي مكان في النص. لكنه يوضع عادة في البداية أو على مقربة منها. هناك عدد من الخطوات التي يمكنها تشغيل المطالبات.. يتم سرد مطالبات النظام في أسفل هذا المستند.
يمكن إستخدام هذه الطريقة بدلا من إستدعاء التدفق الفرعي checkAltGreet.aef. يجب تشغيل ملف AltGreeting.wav. إذا كان هناك خطأ، فعليك معالجته. الفائدة هي أنك تعرف متى يلعب أو لا يلعب.
وعلى الرغم من أن هذه الاستثناءات أقل شيوعا، إلا أنها الاستثناءات الفورية الأخرى:
UndefinedPromptException
PromptException
UndefinedPromptGenerator
InvalidPromptArgumentException
UnsupportedPromptExpression
لا يمكن حاليا إعادة توجيه المكالمة مباشرة إلى مربع البريد الصوتي. يجب إرسالها إلى رقم يقوم بإعادة التوجيه إلى البريد الصوتي. يمكن أن يكون هذا رقما وهميا في Cisco CallManager Express (أو حتى في Cisco CallManager) تم تكوينه لإعادة توجيه المكالمات الكل المعين على رقم دليل البريد الصوتي. أستخدم إعدادات الرقم Cisco Unity Express number/E.164 number لمطابقة هذا الرقم مع مشترك أو مجموعة. يشرح نقل المتصل مباشرة إلى علبة بريد Unity Express كيفية القيام بذلك.
يجب أن تقوم بإنشاء كل المتغيرات المستخدمة في نص تنفيذي قبل أن تتمكن من إستخدامها. إذا أستخدمت واحد ثم قمت بحذفه فيما بعد، حدد أدوات > تدقيق في محرر النص التنفيذي لتجد ذلك. لهذا النموذج النصي، تلك هي المتغيرات المستخدمة. لاحظ الاسم والنوع والقيمة (وهي قيمة المتغير في البداية) والسمة. تعني سمة المعلمة تعرض المتغير للمسؤول من خلال صفحة الويب. يحتاج أي شيء تريد أن يقوم مسؤول Cisco Unity Express بتخصيصه إلى وجود سمة المعلمة.
إذا كنت لا ترغب في تسجيل كافة المطالبات المخصصة، يمكنك تحرير كل واحدة وإلغاء تحديد سمة المعلمة بحيث لا يتم كشفها عبر صفحة الويب. للتأكد من أن النظام لا يزال يعمل، قم بإضافة عدة خطوات تعيين إلى بداية البرنامج النصي. على سبيل المثال، ضع "الاتصال" على "SP[AA/AACalling]". ليست جميع المطالبات الموضحة هنا تحتوي على برامج نصية للنظام مطابقة. في معظم الحالات، من المنطقي أن تسجلها بنفسك. إذا لم تتغير المطالبات، فيمكنك تسجيلها مرة واحدة، فتأكد من وجودها على نظام Cisco Unity Express باسم ملف محدد، ثم قم بإزالة سمة المعلمة من المتغير. بهذه الطريقة، يقوم موجه الأمر بتشغيل اسم ملف ثابت. ولكن المتغير لا يتم كشفه عبر واجهة الويب حيث يستطيع المسؤول تغييره دون قصد.
عادة، تكون الخطوة الأولى لإضافة تطبيق جديد ونص نصي إلى Cisco Unity Express هي تحميل المطالبات. وهذا مهم لأنه يجب أن تكون المطالبات موجودة على النظام لكي تتمكن من تكوينها في معلمات البرنامج النصي. وإلا، فسيتعين عليك ترك المعلمات فارغة وتحميل المطالبات ثم العودة وتحرير معلمات البرنامج النصي. للحصول على معلومات إضافية حول كيفية تسجيل المطالبات وتحميلها، ارجع إلى الإدارة عبر نظام إدارة المكالمات الهاتفية (AVT)/التحيات.
بمجرد حفظ البرنامج النصي الخاص بك واستعدادك لتجربته، تحتاج أولا إلى تحميله إلى Cisco Unity Express. أسهل طريقة هي إستخدام واجهة المستخدم الرسومية، لأن ذلك لا يتطلب خادم FTP لتحميل ملفات البرنامج النصي منه.
أكمل الخطوات التالية:
قم بتسجيل الدخول إلى واجهة المستخدم الرسومية Cisco Unity Express مع حساب له حقوق إدارية.
حدد البريد الصوتي > الرد التلقائي.
انقر فوق إضافة (Add).
بجوار "البرنامج النصي للحاضر التلقائي المحدد"، انقر فوق الزر تحميل.
انقر على إستعراض.
ابحث عن ملف البرنامج النصي، وحدده واضغط على موافق.
إذا كنت تريد تغيير اسم الملف الوجهة، قم بذلك. وإلا اضغط على التحميل.
أدخل اسم التطبيق. يمكن أن يكون هذا أي شيء في حالة أقل ويتم إستخدامه للإشارة إلى التطبيق المرتبط بملف البرنامج النصي هذا.
انقر فوق Next (التالي).
تعرض الصفحة الآن كل المتغيرات الخاصة بالبرنامج النصي والتي تم وضع علامة عليها كمعلمات. هذا يعني أنه يمكن تكوينها في هذه الصفحة. إذا لم تكن قد قمت بتحميل ملفات المطالبة بعد، فيمكنك الانتقال عبر هذا أولا ثم ملء المعلومات لاحقا.
انقر فوق التالي عند الانتهاء من إدخال معلمات البرنامج النصي.
تأكد من وضع علامة على التطبيق على أنه ممكن، قم بتكوين الحد الأقصى لعدد المكالمات المتزامنة (الافتراضي هو الحد الأقصى للعدد المسموح به بواسطة الترخيص) وأدخل رقم إستدعاء.
هذا هو الرقم الذي تم استدعاؤه والذي يجب إستدعاء هذا التطبيق المعين له (المشغل). يمكن أن يكون هذا رقم الرد التلقائي الرئيسي، أو رقم مؤقت. يمكنك أيضا تخطي هذا وملء الملف لاحقا. بدون رقم إستدعاء، لا يمكنك إختبار أو تشغيل برنامج نصي.
ملاحظة: بالنسبة لعمليات تكامل Cisco CallManager مع دعم SRST، يلزمك إدخال أرقام مكالمات متعددة. قبل Cisco Unity Express 2.1.1، كان يجب إدخال هذه المعلومات من خلال CLI (واجهة سطر الأوامر). في Cisco Unity Express 2.1، يمكن إدخال أرقام المكالمات المتعددة (المشغلات) من شاشة الإدارة > أرقام الاستدعاء.
طقطقة إنجاز.
بمجرد تحميل البرنامج النصي وتكوين التطبيق، يجب عليك التأكد من إمكانية توجيه المكالمات إلى التطبيق. وهذا يعني أنه يجب تكوين Cisco CallManager Express أو Cisco CallManager. باستخدام CallManager Express، يتضمن هذا تكوين نظير طلب يشير إلى Cisco Unity Express الذي يطابق النمط (رقم المشغل أو رقم الاستدعاء) الذي تم تكوينه في Cisco Unity Express. في Cisco CallManager، يجب إضافة نقطة توجيه CTI بهذا الرقم. لا تنس أنه يجب عليك إرفاق نقطة مسار CTI هذه بمستخدم JTAPI الذي يقوم Cisco Unity Express بتسجيل الدخول عليه. قد يتطلب هذا التكوين إعادة تمهيد Cisco Unity Express. بمجرد إضافة نقطة المسار والاقتران بالمستخدم، يمكنك تغيير النص التنفيذي بالقدر الذي تريده دون الحاجة إلى إعادة التمهيد.
عندما تقوم بتحديث نص تنفيذي، إذا لم تتم إضافة معلمات متغيرة أو تغييرها، يمكنك الانتقال إلى محرر Cisco Unity Express، انقر البريد الصوتي > البرامج النصية، وقم بتحميل، وحدد النص التنفيذي. ويتم الكتابة فوق هذا الخيار مع كافة المعلمات المكونة الأخرى التي تبقى كما هي.
عندما تقوم بإنشاء موجهات، فإن أسهل شيء للقيام بذلك هو إستخدام نظام AVT. أسماء الملفات التي تسجلها لها أختام التاريخ/الوقت مضمنة. غير أنه في Cisco Unit Express 2.1.1 والإصدارات الأحدث، من الممكن إستخدام أمر إعادة تسمية CLI CCN. في السابق، كان عليك تنزيل المطالبة، وإعادة تحميلها باسم جديد، ثم حذف ملف .wav الأصلي. على سبيل المثال:
cue-3745-44a> show ccn prompts ... Name: UserPrompt_01032005170038.wav Language: en_US Last Modified Date: Mon Jan 03 17:00:38 EST 2005 Length in Bytes: 35098 cue-3745-44a> ccn rename prompt UserPrompt_01032005170038.wav MyPrompt.wav language en_US Warning! Any existing ccn applications that use this prompt will stop working until they are manually updated with the new prompt name. Continue? (y/n) y cue-3745-44a>
عندما تقوم باستكشاف أخطاء برنامج نصي وإصلاحها، تحتاج إلى إستدعاء سيناريوهات مختلفة واختبارها، كل من إدخال المستخدم العادي، بالإضافة إلى المهلة وحالات الخطأ المتوقعة.
قبل أن تقوم بتحميل نص تنفيذي، قم بالوصول دائما إلى إدخال أدوات > التحقق من الصحة في محرر البرنامج النصي وتأكد من حصولك على رسالة "نجاح التحقق من الصحة". إذا لم تكن كذلك، يتم عرض جميع الأخطاء في جزء تصحيح الأخطاء. يمكنك النقر المزدوج عليهم وتظهر لك أين توجد حالة الخطأ في النص التنفيذي.
في معظم الحالات، تكون المسارات الافتراضية أكثر من كافية لحل المشاكل. لتبسيط هذا، أترك المسارات الافتراضية على إمكانية التصفية واستخدامها لعرض ما تحتاج إليه.
قبل أي إختبار، قم بإصدار الأمر clear trace. يعمل هذا على مسح مخزن الذاكرة المؤقت لرسائل التتبع حتى يتضمن مقدار المعلومات التي تمت تصفيتها البيانات فقط بعد إصدار الأمر.
لتنفيذ البرنامج النصي، يعد تنفيذ_STEP هو العنصر الأكثر أهمية الذي سيتم التصفية عليه. يعرض هذا كل الخطوات عند تشغيلها. على سبيل المثال:
cue-3745-44a> clear trace cue-3745-44a> /*** NOW THE TEST CALL IS MADE ***/ cue-3745-44a> show trace buffer long | include EXECUTING_STEP 3119 12/28 17:05:33.955 ACCN APMG 0 EXECUTING_STEP:Executing a step: Application=App[name=customaa,type=Cisco Script Application,id=4, desc=customaa,enabled=true,max=8,valid=true,optional= [cfgVars=[Lcom.cisco.wfapi.util.WFNameValuePair;@14efaa66,script=customaa21.aef]], Task id=17,000,000,007,Step id=0,Step Class=com.cisco.wfframework.steps.core. StepStart,Step Description=Start ...
في هذا المثال يتم إزالة بعض المعلومات المكررة في المنتصف ويتم حصد بداية ختم التاريخ/الوقت. معظم الوقت، أهم المعلومات هي نهاية كل خط.
ملاحظة: يخفض العديد من هذه الخطوط من النواتج إلى خطين ثان وثالث لأسباب مكانية.
5:33.956 Step id=529,Step Class=com.cisco.wfframework.steps.core.StepComment, Step Description=/* Assumptions: User extensions ... */ 5:33.957 Step id=3,Step Class=com.cisco.wf.steps.ivr.AcceptStep,Step Description=Accept (contact: --Triggering Contact--) 5:33.977 Step id=129,Step Class=com.cisco.wf.steps.ivr.OutputStep,Step Description=Play Prompt (contact: --Triggering Contact--, prompt: DP[500]) 5:34.461 Step id=2,190,Step Class=com.cisco.wfframework.steps.core .StepOnExceptionGoto,Step Description=On Exception(UndefinedPromptException) Goto Error 5:34.463 Step id=1,649,Step Class=com.cisco.wfframework.steps.core .StepComment,Step Description=/* Check for Alternate Greeting. ... */ 5:34.464 Step id=1,650,Step Class=com.cisco.wfframework.steps.core .StepCallSubflow,Step Description=Call Subflow -- checkAltGreet.aef 5:34.467 Step id=0,Step Class=com.cisco.wfframework.steps.core.StepStart, Step Description=Start 5:34.468 Step id=78,Step Class=com.cisco.wf.steps.ivr.GetContactInfoStep, Step Description=Get Contact Info (contact: --Triggering Contact--) 5:34.469 Step id=79,Step Class=com.cisco.wfframework.steps.core .StepCreateHost,Step Description=aType = new com.cisco .aesop.AltGreetType(language) 5:34.473 Step id=56,Step Class=com.cisco.wfframework.steps.core .StepHost,Step Description=pExist = aType.isEnabled() 5:34.477 Step id=5,Step Class=com.cisco.wfframework.steps.core .StepIf,Step Description=If ( pExist == true 5:34.478 Step id=3,Step Class=com.cisco.wfframework.steps.core .StepEnd,Step Description=End 5:34.480 Step id=510,Step Class=com.cisco.wf.steps.ivr.HolidayStep, Step Description=Is Holiday (Date: --Current Date--) 5:34.487 Step id=512,Step Class=com.cisco.wf.steps.ivr.BusinessHoursStep, Step Description=Business Hours (date: --Current Date--, time: --Current Time--, schedule: BusinessSchedule) 5:34.527 Step id=1,659,Step Class=com.cisco.wfframework.steps.core .StepLabel,Step Description=Office Open: 5:34.529 Step id=1,660,Step Class=com.cisco.wf.steps.ivr.OutputStep, Step Description=Play Prompt (contact: --Triggering Contact--, prompt: OpenGreeting) 5:35.722 Step id=1,669,Step Class=com.cisco.wfframework.steps.core .StepLabel,Step Description=Main Menu: 5:35.723 Step id=732,Step Class=com.cisco.wfframework.steps.core .StepIf,Step Description=If ( attempts >= MaxRetries ) Then 5:35.724 Step id=2,195,Step Class=com.cisco.wfframework.steps.core .StepAssign,Step Description=Set ErrorCode = "mainmenu" 5:35.726 Step id=2,259,Step Class=com.cisco.wf.steps.ivr.MenuStep, Step Description=Menu (contact: --Triggering Contact--, prompt: MainMenu) 5:35.730 Step id=2,294,Step Class=com.cisco.wf.steps.ivr.ParseInputStep, Step Description=Get Digit String(contact: --Triggering Contact--, result digit string: TransferExt) 5:36.197 Step id=2,295,Step Class=com.cisco.wfframework.steps.core .StepAssign,Step Description=Set TransferExt = "2" + TransferExt 5:36.198 Step id=2,296,Step Class=com.cisco.wf.steps.ivr.ExtensionToAddressStep, Step Description=Extension To User (Extension: TransferExt, result user:user) 5:36.214 Step id=2,297,Step Class=com.cisco.prompt.steps.CreateGeneratedPromptStep, Step Description=Create Generated Prompt( telephone.number type, store in prompt ) 5:36.229 Step id=2,298,Step Class=com.cisco.wf.steps.ivr.ImplicitConfirmStep, Step Description=Implicit Confirmation (contact: --Triggering Contact--) 5:41.971 Step id=2,301,Step Class=com.cisco.wf.steps.ivr.RedirectStep, Step Description=Call Redirect (contact: --Triggering Contact--, extension: TransferExt)
الآن يمكنكم رؤية كل خطوة وهي تنفذ. لا يمكنك رؤية كيفية تقييم التعبيرات، ولا يمكنك رؤية أي إدخال مستخدم. إذا كان النص المعروض أمامك، يمكنك تتبع أين يتفرع النص التنفيذي، مع معرفة الأرقام التي أدخلتها (في هذه الحالة، يقوم المستخدم بالدخول، ثم يقوم بحرف امتداد، ويتم نقله).
أستخدم عامل تصفية لعرض الأرقام.
cue-3745-44a> show trace buffer long | include "process digit" 3119 12/28 17:05:35.728 ACCN CMTS 0 process digit 2 tag=2 3119 12/28 17:05:35.943 ACCN CMTS 0 process digit 0 3119 12/28 17:05:36.195 ACCN CMTS 0 process digit 1
من هذا المخرج ترى أن الملحق 201 مطلوب.
إذا كانت إصدارات CUE ومحرر البرنامج النصي ل CUE مختلفة، وأنت تحاول تحميل برنامج نصي AA عبر GUI أو CLI، فإن التحميل يفشل مع رسالة الخطأ تحميل failed. إذا كان كلا الإصدارين مختلفين، فأنت بحاجة لإعادة إنشاء النص التنفيذي باستخدام محرر CUE الخاص بالإصدار الذي هو نفسه CUE الخاص بك. أو، قم بترقية CUE إلى إصدار محرر البرنامج النصي ل CUE وقم بتشغيل البرنامج النصي.
يوضح هذا الجدول مطالبات النظام التي يمكنك إستخدامها.
ملاحظة: لا يمكنك إعادة إستخدام جميع المطالبات التي تسمعها في تطبيق البريد الصوتي Cisco Unity Express في برنامج نصي مخصص. تتوفر بعض المطالبات فقط عبر برنامج نصي للبريد الصوتي والذي لا يمكنك تخصيصه عبر Cisco Unity Express Script Editor.
المطالبة الخاصة بالنظام | صوت مسجل |
---|---|
SP[AA/AAWelcome] | "مرحبا بكم في الحضور الآلي" |
SP[AA/AamAinMenu] | "لإدخال رقم هاتف الشخص الذي تحاول الوصول إليه اضغط على 1، لإدخال اسم الشخص الذي تحاول الوصول إليه اضغط على 2، لتحويله إلى المشغل اضغط 0" |
SP[AA/AAEnterExtn] | "الرجاء إدخال رقم الهاتف والضغط على مفتاح #" |
SP[AA/AACallingExtn] | "تمديد الاتصال" |
SP[AA/AAPhoneReach] | "رقم الهاتف الذي تحاول الوصول إليه" |
SP[AA/AAOutServicePhone] | "الآن خارج الخدمة" |
SP[AA/AnAmeDial] | "تهجئة الاسم الأخير للشخص الذي تريد الاتصال به يتبعه الاسم الأول. من أجل الحرف Q، اضغط على الرقم 7، من أجل Z 9 |
SP[المصادقة والتفويض والمحاسبة] | "الاتصال" |
SP[AA/AASorry] | "عذرا لأنك تواجه مشكلة. الرجاء البقاء على الخط، وسيكون البعض معك قريبا. |
SP[AA/AAWant2Call] | "إذا كان هذا هو اسم الشخص الذي تتصل به، اضغط على 1 للبدء من جديد، اضغط *" |
SP[AA/STILL_THERE] | "هل مازلت هناك؟ " |
لإعادة ضبط النظام (Cisco Unity Express 2.1.x والإصدارات الأقدم) على المسارات الافتراضية من خلال واجهة سطر الأوامر (CLI)، قم أولا بتعطيل جميع المسارات باستخدام الأمر no trace all، ثم الصق هذا في واجهة سطر الأوامر:
trace ccn engine dbug trace ccn libldap dbug trace ccn subsystemappl dbug trace ccn managerappl dbug trace ccn managerchannel dbug trace ccn subsystemjtapi dbug trace ccn subsystemsip dbug trace ccn stacksip dbug trace ccn subsystemhttp dbug trace ccn vbrowsercore dbug trace ccn subsystemcmt dbug trace ccn libmedia dbug trace ccn managercontact dbug trace ccn stepcall dbug trace ccn stepmedia dbug trace config-ccn sip-subsystem debug trace config-ccn jtapi-subsystem debug trace config-ccn sip-trigger debug trace config-ccn jtapi-trigger debug trace config-ccn http-trigger debug trace config-ccn group debug trace config-ccn application debug trace config-ccn script debug trace config-ccn prompt debug trace config-ccn miscellaneous debug trace voicemail database query trace voicemail database results trace voicemail database transaction trace voicemail database connection trace voicemail database execute trace voicemail mailbox login trace voicemail mailbox logout trace voicemail mailbox send trace voicemail mailbox save trace voicemail mailbox receive trace voicemail mailbox delete trace voicemail message create trace voicemail message dec trace voicemail message delete trace voicemail message get trace voicemail message inc trace webinterface initwizard inittrace ccn engine dbug trace ccn libldap dbug trace ccn subsystemappl dbug trace ccn managerappl dbug trace ccn managerchannel dbug trace ccn subsystemjtapi dbug trace ccn subsystemsip dbug trace ccn stacksip dbug trace ccn subsystemhttp dbug trace ccn vbrowsercore dbug trace ccn subsystemcmt dbug trace ccn libmedia dbug trace ccn managercontact dbug trace ccn stepcall dbug trace ccn stepmedia dbug trace config-ccn sip-subsystem debug trace config-ccn jtapi-subsystem debug trace config-ccn sip-trigger debug trace config-ccn jtapi-trigger debug trace config-ccn http-trigger debug trace config-ccn group debug trace config-ccn application debug trace config-ccn script debug trace config-ccn prompt debug trace config-ccn miscellaneous debug trace voicemail database query trace voicemail database results trace voicemail database transaction trace voicemail database connection trace voicemail database execute trace voicemail mailbox login trace voicemail mailbox logout trace voicemail mailbox send trace voicemail mailbox save trace voicemail mailbox receive trace voicemail mailbox delete trace voicemail message create trace voicemail message dec trace voicemail message delete trace voicemail message get trace voicemail message inc trace webinterface initwizard init