نظرة عامة على أتمتة المكالمات
يوفر Azure Communication Services Call Automation للمطورين القدرة على إنشاء مهام سير عمل المكالمات الذكية المستندة إلى الخادم وتسجيل المكالمات للقنوات الصوتية وشبكة الهاتف العامة (PSTN). تستخدم حزم SDK، المتوفرة في C#، وJava، وJavaScript، وPython، نموذج حدث الإجراء لمساعدتك في إنشاء تفاعلات مخصصة للعملاء. يمكن لتطبيقات الاتصال الخاصة بك الاستماع إلى أحداث المكالمات في الوقت الحقيقي وتنفيذ إجراءات مستوى التحكم (مثل الإجابة والنقل وتشغيل الصوت وبدء التسجيل وما إلى ذلك) لتوجيه المكالمات والتحكم فيها استنادا إلى منطق عملك.
حالات الاستخدام الشائعة
بعض حالات الاستخدام الشائعة التي يمكنك إنشائها باستخدام أتمتة المكالمات:
- يستدعي برنامج VoIP أو PSTN مهام سير عمل المعاملات مثل تذكيرات النقر إلى مكالمة والمواعيد لتحسين خدمة العملاء.
- إنشاء مهام سير عمل تفاعلية للتفاعل مع العملاء الذين يخدمون أنفسهم لحالات الاستخدام مثل حجوزات الطلبات والتحديثات، باستخدام إجراءات Play (Audio URL وText-to-Speech و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
إعلام الحدث. تتصل answer
أحداث رد الاتصال بربط الويب فقط بإجراء ما قبل المكالمة، وليس للإجراءات reject
أو redirect
.
الإجابة - باستخدام حدث IncomingCall من Event Grid و Call Automation SDK، يمكن للتطبيق الرد على مكالمة. استخدم هذا الإجراء في سيناريوهات IVR حيث يمكن للتطبيق الخاص بك الرد برمجيا على مكالمات PSTN الواردة. تتضمن السيناريوهات الأخرى الرد على مكالمة نيابة عن مستخدم.
رفض – لرفض مكالمة يعني أن التطبيق الخاص بك يمكنه تلقي IncomingCall
الحدث ومنع الاتصال بنقطة نهاية الوجهة.
إعادة التوجيه - باستخدام IncomingCall
الحدث من Event Grid، يمكنك إعادة توجيه مكالمة إلى نقطة نهاية أخرى. لا يرد إجراء إعادة التوجيه على المكالمة. تتم إعادة توجيه المكالمة أو إعادة توجيهها إلى نقطة نهاية وجهة أخرى للرد عليها.
إنشاء مكالمة - استخدم إجراء إنشاء مكالمة لإجراء مكالمات صادرة لأرقام الهواتف ومستخدمي الاتصالات الآخرين. تتضمن حالات الاستخدام تطبيقك الذي يقوم بإجراء مكالمات صادرة لإعلام المستخدمين بشكل استباقي عن انقطاع الخدمة أو إعلامهم بتحديث الطلب.
الاتصال بالمكالمة - استخدم إجراء الاتصال بالمكالمة للاتصال بمكالمة مستمرة واتخاذ إجراءات مكالمة عليها. يمكنك أيضا استخدام هذا الإجراء لتوصيل مكالمة الغرف وإدارتها برمجيا، مثل إجراء مكالمات PSTN للغرفة باستخدام خدمتك.
إجراءات منتصف المكالمة
يمكن لتطبيقك تنفيذ هذه الإجراءات على المكالمات التي يتم الرد عليها أو وضعها باستخدام حزم SDK لأتمتة المكالمات. يحتوي كل إجراء منتصف المكالمة على حدث رد اتصال ناجح أو فاشل على الويب.
إضافة/إزالة مشارك (مشاركين) - يمكنك إضافة مشارك واحد أو أكثر في طلب واحد مع كون كل مشارك عبارة عن تباين لنقاط نهاية الوجهة المدعومة. يتم إرسال رد اتصال إخطار على الويب لكل مشارك تمت إضافته بنجاح إلى المكالمة.
تشغيل - عندما يجيب تطبيقك على مكالمة أو يضع مكالمة صادرة، يمكنك تشغيل مطالبة صوتية للمتصل. يمكن تكرار هذا الصوت إذا لزم الأمر في سيناريوهات مثل تشغيل موسيقى الاحتجاز. لمعرفة المزيد، راجع تشغيل الصوت في المكالمة وتخصيص المطالبات الصوتية للمستخدمين الذين لديهم إجراء تشغيل.
التعرف على الإدخال - بعد تشغيل تطبيقك لمطالبة صوتية، يمكنك طلب إدخال المستخدم لدفع منطق العمل والتنقل في التطبيق الخاص بك. لمعرفة المزيد، راجع تجميع إدخال المستخدم ودليل الكيفية جمع إدخال المستخدم باستخدام إجراء التعرف.
التعرف المستمر على 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 |
إعلام بمكالمة إلى مستخدم اتصال أو رقم هاتف. |
CallStarted |
إنشاء مكالمة (واردة أو صادرة). |
CallEnded |
إنهاء مكالمة وإزالة جميع المشاركين. |
ParticipantAdded |
تمت إضافة مشارك إلى مكالمة. |
ParticipantRemoved |
إزالة مشارك من مكالمة. |
RecordingFileStatusUpdated |
يتوفر ملف تسجيل. |
اقرأ المزيد حول هذه الأحداث ومخطط البيانات الأساسية في Azure Communication Services - أحداث مكالمات الصوت والفيديو
أحداث إخطار على الويب لأتمتة الاتصال
يتم إرسال أحداث أتمتة المكالمات إلى عنوان URI لرد اتصال خطاف الويب المحدد عند الرد على مكالمة صادرة جديدة أو إجراء مكالمة صادرة جديدة.
حدث | الوصف |
---|---|
CallConnected |
تم بدء المكالمة بنجاح (عند استخدام Answer أو Create إجراء) أو اتصال التطبيق الخاص بك بنجاح بمكالمة مستمرة (عند استخدام Connect الإجراء). |
CallDisconnected |
تم قطع اتصال التطبيق الخاص بك من المكالمة. |
CreateCallFailed |
فشل التطبيق الخاص بك في إنشاء المكالمة. |
AnswerFailed |
فشل تطبيقك في الرد على المكالمة. |
ConnectFailed |
فشل تطبيقك في الاتصال بمكالمة (لإجراء Connect المكالمة فقط). |
CallTransferAccepted |
تم إكمال إجراء النقل بنجاح ويتم توصيل المنقول إليه بالمشارك المستهدف. |
CallTransferFailed |
فشل إجراء النقل. |
AddParticipantSucceeded |
نجح تطبيقك في إضافة مشارك إلى المكالمة. |
AddParticipantFailed |
تعذر على تطبيقك إضافة مشارك إلى المكالمة (بسبب خطأ أو لم يقبل المشارك الدعوة) |
CancelAddParticipantSucceeded |
قام AddParticipant تطبيقك بإلغاء طلب بنجاح (لم تتم إضافة المشارك إلى المكالمة). |
CancelAddParticipantFailed |
تعذر على تطبيقك إلغاء طلب AddParticipant (قد يكون ذلك بسبب معالجة الطلب بالفعل). |
RemoveParticipantSucceeded |
نجح تطبيقك في إزالة مشارك من المكالمة. |
RemoveParticipantFailed |
تعذر على تطبيقك إزالة مشارك من المكالمة. |
ParticipantsUpdated |
تغيرت حالة أحد المشاركين أثناء اتصال تطبيقك بمكالمة. |
PlayCompleted |
نجح تطبيقك في تشغيل الملف الصوتي المقدم. |
PlayFailed |
فشل تطبيقك في تشغيل الصوت. |
PlayCanceled |
تم إلغاء إجراء التشغيل المطلوب. |
RecognizeCompleted |
اكتمل التعرف على إدخال المستخدم بنجاح. |
RecognizeCanceled |
تم إلغاء الإجراء المطلوب Recognize . |
RecognizeFailed |
لم ينجح التعرف على إدخال المستخدم. لمزيد من المعلومات حول التعرف على أحداث الإجراءات، راجع دليل الكيفية لجمع إدخال المستخدم. |
RecordingStateChanged |
تغيرت حالة إجراء التسجيل من نشط إلى غير نشط أو العكس. |
ContinuousDtmfRecognitionToneReceived |
StartContinuousDtmfRecognition اكتمل بنجاح وتم تلقي نغمة DTMF من المشارك. |
ContinuousDtmfRecognitionToneFailed |
StartContinuousDtmfRecognition مكتمل ولكن حدث خطأ أثناء معالجة نغمة DTMF من المشارك. |
ContinuousDtmfRecognitionStopped |
تم StopContinuousRecognition التنفيذ بنجاح. |
SendDtmfCompleted |
SendDTMF تم إكماله بنجاح وأرسل نغمات DTMF إلى المشارك المستهدف. |
SendDtmfFailed |
حدث خطأ أثناء إرسال نغمات DTMF. |
لفهم الأحداث التي يتم نشرها لإجراءات مختلفة، راجع إجراءات التحكم في المكالمات. توفر المقالة نماذج التعليمات البرمجية والرسومات التخطيطية للتسلسل لتدفقات التحكم في المكالمات المختلفة.
كأفضل ممارسة عند الاعتراف بأحداث رد الاتصال، قم بالاستجابة باستخدام رموز حالة HTTP القياسية مثل 200 OK. المعلومات التفصيلية غير ضرورية وأكثر ملاءمة لعمليات تصحيح الأخطاء.
لمعرفة كيفية تأمين تسليم حدث رد الاتصال، راجع كيفية تأمين نقطة نهاية خطاف الويب.
عملية رد الاتصال URI
عملية رد الاتصال URI هي معلمة اختيارية في بعض واجهات برمجة التطبيقات منتصف المكالمة التي تستخدم الأحداث كاستجابات غير متزامنة. بشكل افتراضي، يتم إرسال جميع الأحداث إلى عنوان URI الافتراضي لرد الاتصال الذي تم تعيينه بواسطة CreateCall
/ AnswerCall
أحداث واجهة برمجة التطبيقات عندما يقوم المستخدم بإنشاء مكالمة. باستخدام عملية رد الاتصال URI، ترسل واجهة برمجة التطبيقات الأحداث المقابلة لهذا الطلب الفردي (لمرة واحدة فقط) إلى URI الجديد.
واجهة برمجة التطبيقات المدعومة | الحدث المقابل |
---|---|
AddParticipant |
AddParticipantSucceed / AddParticipantFailed |
RemoveParticipant |
RemoveParticipantSucceed / RemoveParticipantFailed |
TransferCall |
CallTransferAccepted / CallTransferFailed |
CancelAddParticipant |
CancelAddParticipantSucceeded / CancelAddParticipantFailed |
Play |
PlayCompleted / PlayFailed / PlayCanceled |
PlayToAll |
PlayCompleted / PlayFailed / PlayCanceled |
Recognize |
RecognizeCompleted / RecognizeFailed / RecognizeCanceled |
StopContinuousDTMFRecognition |
ContinuousDtmfRecognitionStopped |
SendDTMF |
ContinuousDtmfRecognitionToneReceived / ContinuousDtmfRecognitionToneFailed |
Hold |
HoldFailed |
StartMediaStreaming |
MediaStreamingStarted / MediaStreamingFailed |
StopMediaStreaming |
MediaStreamingStopped / MediaStreamingFailed |
StartTranscription |
TranscriptionStarted / TranscriptionFailed |
UpdateTranscription |
TranscriptionUpdated / TranscriptionFailed |
StopTranscription |
TranscriptionStopped / TranscriptionFailed |
الخطوات التالية
المقالات ذات الصلة
- فهم كيفية تحصيل رسوم من المورد الخاص بك لحالات استخدام الاستدعاء المختلفة مع الأمثلة.
- راجع التشغيل السريع لإجراء مكالمة صادرة.
- تعرف على سجلات الاستخدام والتشغيل المنشورة بواسطة أتمتة المكالمات.