نظرة عامة على أتمتة المكالمات

يوفر Azure Communication Services Call Automation للمطورين القدرة على إنشاء مهام سير عمل المكالمات الذكية المستندة إلى الخادم وتسجيل المكالمات للقنوات الصوتية وشبكة الهاتف العامة (PSTN). تستخدم حزم SDK، المتوفرة في C#، وJava، وJavaScript، وPython، نموذج حدث الإجراء لمساعدتك في إنشاء تفاعلات مخصصة للعملاء. يمكن لتطبيقات الاتصال الخاصة بك الاستماع إلى أحداث المكالمات في الوقت الحقيقي وتنفيذ إجراءات مستوى التحكم (مثل الإجابة والنقل وتشغيل الصوت وبدء التسجيل وما إلى ذلك) لتوجيه المكالمات والتحكم فيها استنادا إلى منطق عملك.

حالات الاستخدام الشائعة

تتضمن بعض حالات الاستخدام الشائعة التي يمكن إنشاؤها باستخدام أتمتة المكالمات ما يلي:

  • يستدعي برنامج VoIP أو PSTN مهام سير عمل المعاملات مثل تذكيرات النقر إلى مكالمة والمواعيد لتحسين خدمة العملاء.
  • إنشاء مهام سير عمل تفاعلية للتفاعل للعملاء الذين يخدمون أنفسهم لحالات الاستخدام مثل حجوزات الطلبات والتحديثات، باستخدام إجراءات تشغيل (عنوان URL الصوتي، والنص إلى كلام وSSML) و Recognize (DTMF و Voice).
  • دمج تطبيقات الاتصال الخاصة بك مع مراكز الاتصال وشبكات الاتصالات الهاتفية الخاصة بك باستخدام التوجيه المباشر.
  • حماية هوية العميل من خلال إنشاء خدمات إخفاء الأرقام لتوصيل المشترين بالبائعين أو المستخدمين بالبائعين الشركاء على النظام الأساسي الخاص بك.
  • زيادة المشاركة من خلال إنشاء برامج تلقائية لتوعية العملاء للتسويق وخدمة العملاء.
  • قم بتحليل التسجيلات الصوتية غير الممزجة في عملية ما بعد المكالمة لأغراض ضمان الجودة.

يمكن استخدام Azure Communication Services Call Automation لإنشاء مهام سير عمل الاستدعاء لسيناريوهات خدمة العملاء، كما هو موضح في البنية عالية المستوى. يمكنك الرد على المكالمات الواردة أو إجراء مكالمات صادرة. تنفيذ إجراءات مثل تشغيل رسالة ترحيب، وتوصيل العميل بعامل مباشر على تطبيق عميل Azure Communication Services Calling SDK للرد على طلب المكالمة الواردة. مع دعم Azure Communication Services PSTN أو التوجيه المباشر، يمكنك بعد ذلك توصيل سير العمل هذا مرة أخرى بمركز الاتصال الخاص بك.

رسم تخطيطي لاستدعاء التدفق لسيناريو خدمة العملاء.

القدرات

تعرض القائمة التالية مجموعة الميزات المتوفرة حاليا في Azure Communication Services Call Automation SDKs.

منطقة الميزات الإمكانية .NET Java JavaScript Python
سيناريوهات ما قبل الاستدعاء الرد على مكالمة واحدة لواحد ✔️ ✔️ ✔️ ✔️
الرد على مكالمة جماعية ✔️ ✔️ ✔️ ✔️
إجراء مكالمة صادرة جديدة إلى نقطة نهاية واحدة أو أكثر ✔️ ✔️ ✔️ ✔️
إعادة توجيه* (إعادة توجيه) مكالمة إلى نقطة نهاية واحدة أو أكثر ✔️ ✔️ ✔️ ✔️
رفض مكالمة واردة ✔️ ✔️ ✔️ ✔️
سيناريوهات منتصف المكالمة إضافة نقطة نهاية واحدة أو أكثر إلى مكالمة موجودة ✔️ ✔️ ✔️ ✔️
إلغاء إضافة نقطة نهاية إلى مكالمة موجودة ✔️ ✔️ ✔️ ✔️
تشغيل الصوت من ملف صوتي ✔️ ✔️ ✔️ ✔️
تشغيل الصوت باستخدام تحويل النص إلى كلام ✔️ ✔️ ✔️ ✔️
التعرف على إدخال المستخدم من خلال DTMF ✔️ ✔️ ✔️ ✔️
التعرف على مدخلات صوت المستخدم ✔️ ✔️ ✔️ ✔️
بدء التعرف المستمر على DTMF ✔️ ✔️ ✔️ ✔️
إيقاف التعرف المستمر على DTMF ✔️ ✔️ ✔️ ✔️
إرسال DTMF ✔️ ✔️ ✔️ ✔️
كتم صوت المشارك ✔️ ✔️ ✔️ ✔️
إزالة نقطة نهاية واحدة أو أكثر من مكالمة موجودة ✔️ ✔️ ✔️ ✔️
النقل المكفوف* مكالمة 1:1 إلى نقطة نهاية أخرى ✔️ ✔️ ✔️ ✔️
التحويل المكفوف* مشارك من مكالمة جماعية إلى نقطة نهاية أخرى ✔️ ✔️ ✔️ ✔️
قطع المكالمة (إزالة ساق المكالمة) ✔️ ✔️ ✔️ ✔️
إنهاء مكالمة (إزالة جميع المشاركين وإنهاء المكالمة) ✔️ ✔️ ✔️ ✔️
إلغاء عمليات الوسائط ✔️ ✔️ ✔️ ✔️
مشاركة المعلومات المخصصة (عبر عناوين VOIP أو SIP) مع نقاط النهاية عند إضافتها إلى مكالمة أو تحويل مكالمة إليها ✔️ ✔️ ✔️ ✔️
سيناريوهات الاستعلام الحصول على حالة المكالمة ✔️ ✔️ ✔️ ✔️
الحصول على مشارك في مكالمة ✔️ ✔️ ✔️ ✔️
سرد جميع المشاركين في مكالمة ✔️ ✔️ ✔️ ✔️
تسجيل المكالمات بدء/إيقاف مؤقت/استئناف/إيقاف التسجيل ✔️ ✔️ ✔️ ✔️

*نقل مكالمة VoIP أو إعادة توجيهها إلى رقم هاتف غير معتمد حاليا.

بناء الأنظمة

تستخدم أتمتة المكالمات واجهة REST API لتلقي الطلبات وتقديم استجابات لجميع الإجراءات التي يتم تنفيذها داخل الخدمة. نظرا للطبيعة غير المتزامنة للاتصال، فإن معظم الإجراءات لها أحداث مقابلة يتم تشغيلها عند اكتمال الإجراء بنجاح أو فشله.

تستخدم Azure Communication Services Event Grid لتقديم حدث IncomingCall وHTTPS Webhooks لجميع عمليات الاستدعاء لإجراء منتصف المكالمة.

لقطة شاشة لتدفق المكالمات والإجراءات الواردة.

إجراءات المكالمات

إجراءات ما قبل الاستدعاء

يتم تنفيذ هذه الإجراءات قبل توصيل نقطة النهاية الوجهة المدرجة في إعلام الحدث IncomingCall. تتصل أحداث رد اتصال الويب بإجراء ما قبل المكالمة "الإجابة" فقط، وليس لإجراءات الرفض أو إعادة التوجيه.

الإجابة باستخدام حدث IncomingCall من Event Grid و Call Automation SDK، يمكن الرد على مكالمة من قبل التطبيق الخاص بك. يسمح هذا الإجراء لسيناريوهات IVR حيث يمكن للتطبيق الخاص بك الرد برمجيا على مكالمات PSTN الواردة. تتضمن السيناريوهات الأخرى الرد على مكالمة نيابة عن مستخدم.

رفض لرفض مكالمة يعني أن التطبيق الخاص بك يمكنه تلقي الحدث IncomingCall ومنع الاتصال بنقطة النهاية الوجهة.

إعادة التوجيه باستخدام حدث IncomingCall من Event Grid، يمكن إعادة توجيه مكالمة إلى نقطة نهاية واحدة أو أكثر لإنشاء سيناريو رنين واحد أو متزامن (حلقة sim). لا يرد إجراء إعادة التوجيه على المكالمة، بل تتم إعادة توجيه المكالمة ببساطة أو إعادة توجيهها إلى نقطة نهاية وجهة أخرى للرد عليها.

يمكن استخدام إجراء إنشاء مكالمة لإنشاء مكالمة لإجراء مكالمات صادرة لأرقام الهواتف ومستخدمي الاتصالات الآخرين. تتضمن حالات الاستخدام تطبيقك الذي يقوم بإجراء مكالمات صادرة لإعلام المستخدمين بشكل استباقي عن انقطاع الخدمة أو إعلامهم بتحديث الطلب.

إجراءات منتصف المكالمة

يمكن تنفيذ هذه الإجراءات على المكالمات التي يتم الرد عليها أو وضعها باستخدام حزم SDK لأتمتة المكالمات. يحتوي كل إجراء منتصف المكالمة على حدث رد اتصال ناجح أو فاشل على الويب.

إضافة/إزالة مشارك (مشاركات) يمكن إضافة مشارك واحد أو أكثر في طلب واحد حيث يكون كل مشارك تباينا لنقاط نهاية الوجهة المدعومة. يتم إرسال رد اتصال إخطار على الويب لكل مشارك تمت إضافته بنجاح إلى المكالمة.

تشغيل عندما يجيب تطبيقك على مكالمة أو يضع مكالمة صادرة، يمكنك تشغيل مطالبة صوتية للمتصل. يمكن تكرار هذا الصوت إذا لزم الأمر في سيناريوهات مثل تشغيل موسيقى الاحتجاز. لمعرفة المزيد، اعرض مفاهيمنا ودليلنا الإرشادي لتخصيص المطالبات الصوتية للمستخدمين الذين لديهم إجراء Play.

التعرف على الإدخال بعد تشغيل تطبيقك لمطالبة صوتية، يمكنك طلب إدخال المستخدم لدفع منطق العمل والتنقل في التطبيق الخاص بك. لمعرفة المزيد، اعرض مفاهيمنا ودليلنا الإرشادي لجمع مدخلات المستخدم.

التعرف المستمر على DTMF عندما يحتاج التطبيق الخاص بك إلى أن يكون قادرا على تلقي نغمات DTMF في أي وقت في المكالمة دون أن يحتاج التطبيق إلى تشغيل إجراء التعرف المحدد. يمكن أن يكون هذا مفيدا في السيناريوهات التي يكون فيها العامل قيد المكالمة ويحتاج المستخدم إلى إدخال نوع من المعرف أو رقم التعقب. لمعرفة المزيد حول كيفية استخدام هذا العرض دليلنا.

إرسال DTMF عندما يحتاج تطبيقك إلى إرسال نغمات DTMF إلى مشارك خارجي، قد يكون هذا لأغراض مثل الطلب إلى وكيل خارجي وتوفير رقم الملحق، أو شيء مثل التنقل في قائمة IVR خارجية.

كتم صوت التطبيق الخاص بك يمكن كتم صوت مستخدمين معينين استنادا إلى منطق عملك. سيحتاج المستخدم بعد ذلك إلى إلغاء كتم صوته يدويا إذا أراد التحدث.

التحويل عندما يجيب تطبيقك على مكالمة أو يضع مكالمة صادرة إلى نقطة نهاية، يمكن نقل هذه المكالمة إلى نقطة نهاية وجهة أخرى. يؤدي نقل مكالمة 1:1 إلى إزالة قدرة التطبيق الخاص بك على التحكم في المكالمة باستخدام حزم SDK لأتمتة المكالمات.

سجل تقرر وقت بدء/إيقاف مؤقت/استئناف/إيقاف التسجيل استنادا إلى منطق عمل التطبيق الخاص بك، أو يمكنك منح التحكم للمستخدم النهائي لتشغيل هذه الإجراءات. لمعرفة المزيد، اعرض مفاهيمنا وبدء التشغيل السريع.

قطع المكالمة عند استجابة التطبيق الخاص بك لمكالمة واحد إلى واحد، يؤدي إجراء قطع الاتصال إلى إزالة ساق المكالمة وإنهاء المكالمة بنقطة النهاية الأخرى. إذا كان هناك أكثر من اثنين من المشاركين في المكالمة (مكالمة جماعية)، فإن تنفيذ إجراء "تعليق" يزيل نقطة نهاية التطبيق الخاص بك من مكالمة المجموعة.

إنهاء ما إذا كان تطبيقك قد رد على مكالمة واحدة إلى واحدة أو مكالمة جماعية، أو قام بإجراء مكالمة صادرة مع مشارك واحد أو أكثر، فإن هذا الإجراء يزيل جميع المشاركين وينهي المكالمة. يتم تشغيل هذه العملية عن طريق تعيين forEveryOne الخاصية إلى true في إجراء استدعاء Hang-Up.

إلغاء عمليات الوسائط استنادا إلى منطق العمل قد يحتاج تطبيقك إلى إلغاء عمليات الوسائط الجارية والمصطفة في قائمة الانتظار. اعتمادا على عملية الوسائط التي تم إلغاؤها وتلك الموجودة في قائمة الانتظار، ستتلقى حدث إخطار على الويب يشير إلى أنه تم إلغاء الإجراء.

سيناريوهات الاستعلام

قائمة المشاركين ترجع قائمة بجميع المشاركين في مكالمة. يتم حذف روبوتات التسجيل والنسخ من هذه القائمة.

حدث

يوضح الجدول التالي الأحداث الحالية المنبعثة من Azure Communication Services. يصف الجدولان التاليان الأحداث المنبعثة من Event Grid ومن أتمتة المكالمات كأحداث webhook.

أحداث Event Grid

معظم الأحداث المرسلة بواسطة Event Grid هي غير محددة للنظام الأساسي بمعنى أنها تصدر بغض النظر عن SDK (الاتصال أو أتمتة المكالمات). بينما يمكنك إنشاء اشتراك لأي حدث، نوصي باستخدام الحدث IncomingCall لجميع حالات استخدام أتمتة المكالمات حيث تريد التحكم في المكالمة برمجيا. استخدم الأحداث الأخرى لأغراض إعداد التقارير/بيانات تتبع الاستخدام.

حدث ‏‏الوصف
IncomingCall إعلام مستخدم اتصال أو رقم هاتف بمكالمة
تم بدء المكالمة يتم إنشاء مكالمة (الواردة أو الصادرة)
تم الاتصال يتم إنهاء مكالمة وإزالة جميع المشاركين
تمت إضافة مشارك تمت إضافة مشارك إلى مكالمة
تمت إعادة تحريك المشاركين تمت إزالة مشارك من مكالمة
RecordingFileStatusUpdated يتوفر ملف تسجيل

اقرأ المزيد حول هذه الأحداث ومخطط الحمولة هنا

أحداث إخطار على الويب لأتمتة الاتصال

يتم إرسال أحداث أتمتة المكالمات إلى عنوان URI لرد اتصال خطاف الويب المحدد عند الرد على مكالمة صادرة جديدة أو إجراء مكالمة صادرة جديدة.

حدث ‏‏الوصف
تم الاتصال الاتصال مرحلة مكالمة التطبيق الخاص بك متصلة (واردة أو صادرة)
اتصال الاتصال تم قطع اتصال المحطة الخاصة بطلبك
تم تحويل المكالمة تم نقل مرحلة مكالمة التطبيق الخاص بك إلى نقطة نهاية أخرى
CallTransferFailed فشل نقل المحطة الخاصة باستدعاء التطبيق الخاص بك
AddParticipantSucceeded أضاف تطبيقك مشاركا
AddParticipantFailed تعذر على تطبيقك إضافة مشارك
CancelAddParticipantSucceeded إلغاء التطبيق الخاص بك إضافة مشارك
CancelAddParticipantFailed تعذر على تطبيقك إلغاء إضافة مشارك
RemoveParticipantSucceeded نجح تطبيقك في إزالة مشارك من المكالمة.
RemoveParticipantFailed تعذر على تطبيقك إزالة مشارك من المكالمة.
تم تحديث المشاركين تغيرت حالة أحد المشاركين أثناء اتصال المحطة التي يتصل بها تطبيقك بمكالمة
PlayCompleted نجح تطبيقك في تشغيل الملف الصوتي المقدم
PlayFailed فشل تطبيقك في تشغيل الصوت
PlayCanceled تم إلغاء إجراء التشغيل المطلوب
التعرف على الإكمال تم بنجاح إكمال التعرف على إدخال المستخدم
RecognizeCanceled تم إلغاء إجراء التعرف المطلوب
RecognizeFailed لم ينجح التعرف على إدخال المستخدم
لمعرفة المزيد حول التعرف على أحداث الإجراءات، اعرض دليلنا الإرشادي لجمع مدخلات المستخدم
تم تغيير حالة التسجيل تم تغيير حالة إجراء التسجيل من نشط إلى غير نشط أو العكس
ContinuousDtmfRecognitionToneReceived تم إكمال StartContinuousDtmfRecognition بنجاح وتم تلقي نغمة DTMF من المشارك
ContinuousDtmfRecognitionToneFailed اكتمل StartContinuousDtmfRecognition ولكن حدث خطأ أثناء معالجة نغمة DTMF من المشارك
تم تعيين ContinuousDtmfRecognitionStopped تم تنفيذ StopContinuousRecognition بنجاح
SendDtmfCompleted اكتمل SendDTMF بنجاح وأرسلت نغمات DTMF إلى المشارك المستهدف
SendDtmfFailed حدث خطأ أثناء إرسال نغمات DTMF

لفهم الأحداث التي يتم نشرها لإجراءات مختلفة، راجع هذا الدليل الذي يوفر نماذج التعليمات البرمجية والرسومات التخطيطية للتسلسل لمختلف تدفقات التحكم في المكالمات.

عند الاعتراف بأحداث رد الاتصال، من الأفضل الاستجابة باستخدام رموز حالة HTTP القياسية مثل 200 موافق. المعلومات التفصيلية غير ضرورية وأكثر ملاءمة لعمليات تصحيح الأخطاء.

لمعرفة كيفية تأمين تسليم حدث رد الاتصال، راجع هذا الدليل.

عملية رد الاتصال Uri

إنها معلمة اختيارية في بعض واجهات برمجة التطبيقات منتصف المكالمة التي تستخدم الأحداث كاستجابات غير متزامنة. بشكل افتراضي، يتم إرسال جميع الأحداث إلى Uri رد الاتصال الافتراضي الذي تم تعيينه بواسطة CreateCall / AnswerCall API عندما يقوم المستخدم بإنشاء مكالمة. باستخدام عملية رد الاتصال Uri، سيتم إرسال الأحداث المقابلة لطلب هذا الفرد (لمرة واحدة فقط) إلى Uri الجديد.

واجهة برمجة التطبيقات المدعومة الحدث المقابل
AddParticipant AddParticipantSucceed / AddParticipantFailed
RemoveParticipant RemoveParticipantSucceed / RemoveParticipantFailed
TransferCall CallTransferAccepted / CallTransferFailed
CancelAddParticipant CancelAddParticipantSucceeded/ CancelAddParticipantFailed
التشغيل PlayCompleted / PlayFailed / PlayCanceled
PlayToAll PlayCompleted / PlayFailed / PlayCanceled
Recognize RecognizeCompleted / RecognizeFailed / RecognizeCanceled
StopContinuousDTMFRecognition تم تعيين ContinuousDtmfRecognitionStopped
SendDTMF ContinuousDtmfRecognitionToneReceived / ContinuousDtmfRecognitionToneFailed

الخطوات التالية

فيما يلي بعض المقالات التي تهمك: