أساسيات تدفق المكالمات

يقدم القسم أدناه نظرة عامة حول تدفقات المكالمات في Azure Communication Services. يعتمد تدفق الإشارات والوسائط على أنواع المكالمات التي يجريها المستخدمون. تتضمن أمثلة أنواع المكالمات VoIP واحد لواحد و PSTN واحد لواحد والمكالمات الجماعية التي تحتوي على مجموعة من المشاركين المتصلين عبر VoIP وPSTN. قم بمراجعة أنواع المكالمات.

معلومات حول بروتوكولات التشوير والوسائط

عند إنشاء مكالمة نظير إلى نظير أو مجموعة، يتم استخدام بروتوكولين خلف الكواليس - HTTPS (REST) للإشارات وSRTP للوسائط.

تتم معالجة الإشارات بين SDKs أو بين SDKs ووحدات تحكم الإشارات لخدمات الاتصالات باستخدام HTTPS REST (TLS). تستخدم Azure Communication Services TLS 1.2. بالنسبة لحركة مرور الوسائط في الوقت الفعلي (RTP)، يفضل بروتوكول مخطط بيانات المستخدم (UDP). إذا تم منع استخدام UDP بواسطة جدار الحماية الخاص بك، فستستخدم SDK بروتوكول التحكم في الإرسال (TCP) للوسائط.

دعونا نراجع بروتوكولات الإشارات والوسائط في سيناريوهات مختلفة.

حالات تدفق المكالمات

الحالة 1: VoIP حيث يكون الاتصال المباشر بين جهازين ممكنًا

في المكالمات عبر نقل الصوت عبر بروتوكول الإنترنت أو مكالمات الفيديو، تفضل حركة المرور المسار الأكثر مباشرة. "المسار المباشر" يعني أنه إذا تمكنت مجموعتا SDK من الوصول إلى بعضهما البعض مباشرةً، فسيقومان بإنشاء اتصال مباشر. عادًة ما يكون هذا ممكنًا عندما تكون مجموعتا SDK في نفس الشبكة الفرعية (على سبيل المثال، في شبكة فرعية 192.168.1.0/24) أو اثنتين عندما يعيش كل جهاز في شبكات فرعية يمكنها رؤية بعضها البعض (SDKs في الشبكة الفرعية 10.10.0.0/16 و192.168.1.0/24 يمكن أن تتواصل مع بعضها البعض).

Diagram showing a Direct VOIP call between users and Communication Services.

الحالة 2: نقل الصوت عبر بروتوكول الإنترنت حيث لا يكون الاتصال المباشر بين الأجهزة ممكنًا، ولكن حيث يكون الاتصال بين أجهزة NAT ممكنًا

إذا كان جهازان موجودان في شبكتين فرعيتين لا يمكنهما الوصول إلى بعضهما البعض (على سبيل المثال، تعمل Alice من مقهى ويعمل Bob من مكتبه المنزلي) ولكن الاتصال بين أجهزة NAT ممكن، فإن حزم SDK من جانب العميل ستنشئ الاتصال عبر أجهزة NAT.

بالنسبة إلى أليس، سيكون NAT للمقهى وبالنسبة لبوب سيكون NAT للمكتب المنزلي. سيرسل جهاز أليس العنوان الخارجي لـ NAT الخاص بها وسيقوم بوب بالشيء نفسه. تتعلم مجموعات تطوير البرامج (SDK) العناوين الخارجية من خدمة STUN (أدوات اجتياز الجلسة لـ NAT) التي توفرها خدمات اتصالات Azure مجانًا. المنطق الذي يعالج تأكيد الاتصال بين أليس وبوب مضمن ضمن SDKs المقدمة من Azure Communication Services. (لا تحتاج إلى أي تكوين إضافي)

Diagram showing a VOIP call which utilizes a STUN connection.

الحالة 3: نقل الصوت عبر بروتوكول الإنترنت حيث لا يكون الاتصال المباشر ولا اتصال NAT ممكنًا

إذا كان أحد جهازي العميل أو كلاهما يعمل خلف NAT متماثل، فستكون هناك حاجة إلى خدمة سحابية منفصلة لترحيل الوسائط بين مجموعتي SDK. تُسمَّى هذه الخدمة TURN(اجتياز استخدام المرحلات حول NAT) ويتم توفيرها أيضًا بواسطة خدمات الاتصالات. تستخدم SDK للاتصال بخدمات الاتصال خدمات TURN تلقائيًّا بناءً على ظروف الشبكة المكتشفة. يتم تضمين رسوم TURN في سعر المكالمة.

Diagram showing a VOIP call which utilizes a TURN connection.

الحالة 4: مكالمات جماعية مع PSTN

تستخدم كل من الإشارات والوسائط لمكالمات PSTN مورد الاتصالات الهاتفية لـ Azure Communication Services. هذا المورد مترابط مع شركات النقل الأخرى.

تتدفق حركة مرور وسائط PSTN عبر مكون يسمى معالج الوسائط.

Diagram showing a PSTN Group Call with Communication Services.

إشعار

لأولئك الذين هم على دراية بمعالجة الوسائط، فإن معالج الوسائط الخاص بنا هو أيضًا وكيل مستخدم Back to Back ، كما هو محدد في RFC 3261 SIP: بروتوكول بدء الجلسة، مما يعني أنه يمكنه ترجمة برامج الترميز عند التعامل مع المكالمات بين شبكات Microsoft وشبكات الجوال. وحدة التحكم في إشارات خدمات الاتصال في Azure هي تطبيق Microsoft لوكيل SIP لكل RFC نفسه.

بالنسبة للمكالمات الجماعية، تتدفق الوسائط والإشارات دائمًا عبر الواجهة الخلفية لـ Azure Communication Services. يتم خلط الصوت و/ أو الفيديو من جميع المشاركين في مكون معالج الوسائط. يرسل جميع أعضاء مكالمة جماعية دفق الصوت و/ أو الفيديو إلى معالج الوسائط، الذي يقوم بإرجاع تدفقات الوسائط المختلطة.

بروتوكول الوقت الحقيقي الافتراضي (RTP) للمكالمات الجماعية هو بروتوكول مخطط بيانات المستخدم (UDP).

إشعار

يمكن أن يعمل معالج الوسائط كوحدة تحكم متعددة النقاط (MCU) أو وحدة إعادة توجيه انتقائية (SFU)

Diagram showing UDP media process flow within Communication Services.

إذا لم تتمكن SDK من استخدام UDP للوسائط بسبب قيود جدار الحماية، فسيتم إجراء محاولة لاستخدام بروتوكول التحكم في الإرسال (TCP). لاحظ أن مكون Media Processor يتطلب UDP، لذلك عند حدوث ذلك، ستتم إضافة خدمة Communication Services TURN إلى استدعاء المجموعة لترجمة TCP إلى UDP. يتم تضمين رسوم TURN في سعر المكالمة.

Diagram showing TCP media process flow within Communication Services.

الحالة 5: خدمات الاتصالات SDK وMicrosoft Teams في اجتماع Teams المجدول

تتدفق الإشارات من خلال جهاز التحكم في الإشارات. تتدفق الوسائط عبر معالج الوسائط. تتم مشاركة وحدة التحكم في الإشارات ومعالج الوسائط بين خدمات الاتصالات وMicrosoft Teams.

Diagram showing Communication Services SDK and Teams Client in a scheduled Teams meeting.

الحالة 6: الوسائط المبكرة

يشير إلى الوسائط (على سبيل المثال، الصوت والفيديو) التي يتم تبادلها قبل قبول جلسة معينة من قبل المستخدم المسمى. إذا كان هناك تدفق وسائط مبكر، يجب أن تزلزل SBC إلى نقطة النهاية الأولى التي تبدأ في دفق الوسائط؛ يمكن أن يبدأ تدفق الوسائط قبل ترشيح المرشحين. يجب أن يكون لدى SBC دعم لإرسال DTMF خلال هذه المرحلة لتمكين سيناريوهات البريد الصوتي/IVR. وينبغي أن تستخدم اللجنة المسار الأعلى أولوية الذي تلقت على أساسه فحوصات إذا لم تكتمل الترشيحات.

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

قد تكون المستندات التالية مفيدة لك: