BroadNet
SIP / VoIPالوسائط

RTP وSRTP: تدفق الوسائط

آخر تحديث 3 دقائق للقراءةقائم على المعايير
إجابة مباشرة

RTP (بروتوكول النقل الآني، RFC 3550) يحمل الصوت أو الفيديو الفعلي بعد أن يتفاوض SIP على الجلسة، عاملًا فوق UDP بترويسة مضغوطة (رقم تسلسل، طابع زمني، SSRC). ويبلّغ RTCP عن الجودة إلى جانبه. ويضيف SRTP (RFC 3711) التشفير والمصادقة إلى RTP، بمفتاح عبر SDES في SDP أو DTLS-SRTP.

§01

RTP: حمل الوسائط

حالما يتفق SIP وSDP على الجلسة، تتدفّق الوسائط نفسها فوق RTP — دائمًا تقريبًا فوق UDP، لأن الصوت الآني يفضّل التسليم في الوقت على التسليم المضمون. وتحمل كل رزمة RTP قطعة من الصوت المرمَّز (إطار ترميز مثل 20 ms من G.711) خلف ترويسة بطول 12 بايت. وRTP تدفق منفصل عن إشارات SIP، على المنافذ التي تفاوض عليها SDP، ويتدفّق عادةً مباشرة بين الطرفين أو عبر مُرحّل وسائط بدل اتّباع مسار الإشارات.

§02

ترويسة RTP

تعطي ترويسة RTP بطول 12 بايت المستقبِل كل ما يحتاجه لإعادة بناء تدفق آني. يكشف رقم التسلسل الفقد وإعادة الترتيب. ويعكس الطابع الزمني لحظة أخذ العيّنة كي يشغّل المستقبِل الصوت بالإيقاع الصحيح ويزيل الارتعاش بمخزن ارتعاش. ويحدّد SSRC مصدر الوسائط فريدًا ضمن الجلسة. ويردّد نوع الحمولة الترميز المتفَق عليه في SDP. ويعلّم بتّ العلامة أحداثًا مثل الرزمة الأولى بعد فترة صمت.

حقول ترويسة RTP (12 بايت)
الحقلالحجمالغرض
V / P / X / CC1 بايتالإصدار، الحشو، الامتداد، علامات عدد CSRC
M (علامة) + PT1 بايتبت العلامة + نوع الحمولة (الـ codec من SDP)
رقم التسلسل2 بايتاكتشاف فقدان الحزم وإعادة ترتيبها
الطابع الزمني4 بايتلحظة أخذ العيّنة؛ تتحكم في التشغيل / مخزن الارتجاج (jitter buffer)
SSRC4 بايتمصدر المزامنة — يحدد التدفق
CSRC (0–15)0–60 بايتالمصادر المساهمة (من الخلاطات)
§03

RTCP: تغذية راجعة للجودة

يسافر RTP مع بروتوكول تحكم رفيق، RTCP، على المنفذ المجاور (الفردي). ولا يحمل RTCP وسائط؛ بل يرسل كل جانب دوريًا تقارير مرسِل وتقارير مستقبِل تصف صحة التدفق — الرزم المرسَلة والمفقودة، والفقد التراكمي، وارتعاش وقت الوصول البيني، ووقت الذهاب والإياب المشتقّ من طوابع التقارير الزمنية. وهذه المقاييس هي المادة الخام لتقديرات MOS ولتشخيص الصوت أحادي الاتجاه والارتعاش والفقد في مكالمة VoIP. ويحمل RTCP أيضًا وصف المصدر (CNAME) وBYE لتفكيك التدفق.

المقاييس الرئيسية التي يبلّغ عنها RTCP
المقياسما يخبرك به
فقدان الحزم (النسبة + التراكمي)ما مقدار الصوت الذي يتم حذفه
تذبذب زمن الوصول بين الحزم (Jitter)تفاوت توقيت الحزم — صعوبة في التشغيل
زمن الرحلة ذهابًا وإيابًازمن انتقال المسار (من الطوابع الزمنية في SR/RR)
أعلى تسلسل تم استلامهكشف التقدم والفقد لكل مصدر
§04

SRTP: تشفير الوسائط

RTP العادي غير مشفَّر، فيمكن لأي شخص على المسار التقاط الصوت وإعادة تشغيله. ويؤمّنه SRTP (RFC 3711): يشفّر حمولة RTP (افتراضيًا AES بنمط العدّاد) ويُلحِق وسم مصادقة (افتراضيًا HMAC-SHA1) يحمي السلامة ويوفّر حماية من إعادة التشغيل، مع إبقاء ترويسة RTP قابلة للقراءة كي تعمل الموجّهات ومخازن الارتعاش. ويظهر النقل في SDP كـ RTP/SAVP بدل RTP/AVP. ويحمي SRTP السرية والسلامة لكنه يعتمد كليًا على كيفية تبادل مفاتيحه.

§05

مفاتيح SRTP: SDES مقابل DTLS-SRTP

يحتاج SRTP مفتاحًا رئيسيًا في كل طرف، والطريقتان الشائعتان لتسليمه تختلفان حادًّا في الأمن. يضع SDES (RFC 4568) المفتاح في سطر a=crypto في SDP — بسيط، لكن آمن بقدر أمان إشارات SIP فقط، فيجب حمله فوق TLS وإلا انكشف المفتاح. أما DTLS-SRTP (RFC 5763/5764) فيجري مصافحة DTLS في مسار الوسائط لاشتقاق المفاتيح، فلا يظهر المفتاح في الإشارات؛ وهو النموذج الذي يفرضه WebRTC. اختر DTLS-SRTP حيث تدعمه النهايات، واحمِ SDES دائمًا بـ SIP فوق TLS.

طرق مفاتيح SRTP
الطريقةRFCأين يوجد المفتاحملاحظة
SDESRFC 4568a=crypto line في SDPيتطلب استخدام SIP عبر TLS ليكون آمنًا
DTLS-SRTPRFC 5763/5764مشتقة عبر مصافحة DTLS في مسار الوسائطالمفتاح لا يمر أبدًا في التشوير؛ يستخدمه WebRTC
MIKEYRFC 3830حمولة إدارة المفاتيحيُستخدم في بعض عمليات نشر IMS
التعليمات

الأسئلة المتكررة

ما الفرق بين SIP وRTP؟

SIP هو الإشارات التي تُعِدّ المكالمة وتعدّلها وتنهيها؛ وRTP نقل الوسائط الذي يحمل الصوت أو الفيديو الفعلي حالما تُنشأ المكالمة. يعملان كتدفقين منفصلين على منافذ منفصلة — يتفاوض SIP على الجلسة، ويسلّمها RTP.

لماذا يعمل RTP فوق UDP بدل TCP؟

الصوت الآني يقدّر التوقيت على الموثوقية. فإعادة إرسال TCP وحجب رأس الطابور يضيفان زمن استجابة وارتعاشًا يضرّان مكالمة حيّة أكثر من رزمة مفقودة عرضية. ويتيح RTP فوق UDP للمستقبِل إخفاء الفقد الصغير مع إبقاء التدفق في الوقت.

ماذا يفعل RTCP؟

RTCP قناة تحكم رفيقة لـ RTP. لا يحمل وسائط؛ بل يبلّغ دوريًا عن جودة التدفق — الفقد والارتعاش ووقت الذهاب والإياب عبر تقارير المرسِل والمستقبِل — ما يُستخدم لتقدير جودة المكالمة (MOS) وتشخيص مشكلات مثل الصوت أحادي الاتجاه.

ما هو SRTP؟

SRTP (RFC 3711) هو الملف الآمن من RTP. يشفّر حمولة الوسائط (عادةً AES بنمط العدّاد) ويصادق كل رزمة (عادةً HMAC-SHA1) مع حماية من إعادة التشغيل، مع إبقاء ترويسة RTP صريحة. وفي SDP يظهر كنقل RTP/SAVP.

ما الفرق بين SDES وDTLS-SRTP؟

كلاهما يمفتح SRTP. يحمل SDES المفتاح في سطر a=crypto في SDP، فهو آمن فقط إن كانت إشارات SIP نفسها محميّة بـ TLS. ويشتقّ DTLS-SRTP المفاتيح عبر مصافحة DTLS في مسار الوسائط، فلا يلمس المفتاح الإشارات — النهج الذي يتطلّبه WebRTC.

مراجع

مواصفات المصدر

تستند هذه الصفحة إلى المعايير المنشورة. يفتح في علامة تبويب جديدة.

BNتتم صيانته بواسطة فريق الهندسة BroadNet·خدمة الرسائل عالية الجودة منذ عام 2003
ضعه على السلك

قم بالبناء باستخدام ربط SMPP حقيقي وواجهة برمجة تطبيقات REST.

اطلب الوصول التجريبي باستخدام مفاتيح اختبار حقيقية: أرسل أولاً إلى رقمك الذي تم التحقق منه، ثم انتقل إلى الإنتاج عبر أكثر من 200 دولة بمجرد الموافقة على معرّف المُرسِل ومساراته.