SIP - The Offer/Answer Model نموذج العرض / الإجابة

 SIP - The Offer/Answer Model نموذج العرض / الإجابة

SIP - The Offer/Answer Model نموذج العرض / الإجابة

يتم إعطاء استخدام SDP مع SIP في SDP offer answer RFC 3264. نوع نص الرسالة الافتراضي في SIP هو application / sdp .

  • يسرد الطرف المتصل إمكانيات الوسائط التي يرغب في تلقيها في SDP ، عادةً إما في INVITE أو في ACK.

  • يسرد الطرف الذي تم الاتصال به قدراته الإعلامية في استجابة 200 OK على INVITE.

يتضمن استخدام SIP النموذجي لـ SDP الحقول التالية: الإصدار والأصل والموضوع والوقت والاتصال وواحد أو أكثر من الوسائط والسمة.

  • لا يتم استخدام حقول الموضوع والوقت بواسطة SIP ولكن يتم تضمينها من أجل التوافق.

  • في معيار SDP ، يعد حقل الموضوع حقلاً مطلوبًا ويجب أن يحتوي على حرف واحد على الأقل ، يُقترح أن يكون s = - إذا لم يكن هناك موضوع.

  • عادةً ما يتم تعيين حقل الوقت على t = 00. يستخدم SIP الاتصال والوسائط وحقول السمات لإعداد الجلسات بين UAs.

  • حقل الأصل له استخدام محدود مع SIP.

  • عادة ما يتم الاحتفاظ بمعرف الجلسة ثابتًا طوال جلسة SIP.

  • يتم زيادة الإصدار في كل مرة يتم فيها تغيير SDP. إذا لم يتغير SDP المرسل عن الذي تم إرساله مسبقًا ، فسيتم الاحتفاظ بالإصدار كما هو.

  • نظرًا لأن نوع جلسة الوسائط وبرنامج الترميز المراد استخدامهما جزء من مفاوضات الاتصال ، يمكن لـ SIP استخدام SDP لتحديد أنواع وسائط بديلة متعددة وقبول أنواع الوسائط هذه أو رفضها بشكل انتقائي.

توصي مواصفات العرض / الإجابة ، RFC 3264 ، باستخدام سمة تحتوي على = rtpmap: لكل حقل وسائط. يتم رفض تدفق الوسائط عن طريق تعيين رقم المنفذ على صفر لحقل الوسائط المقابل في استجابة SDP.

مثال

في المثال التالي ، يريد المتصل Tesla إعداد مكالمة صوتية ومرئية باستخدام برنامجي ترميز صوتي محتملين وبرنامج ترميز فيديو في SDP المنقول في INVITE الأولي -

v = 0 
o = John 0844526 2890844526 IN IP4 172.22.1.102  
s = - 
c = IN IP4 172.22.1.102 
t = 0 0 
m = audio 6000 RTP/AVP 97 98 
a = rtpmap:97 AMR/16000/1 
a = rtpmap:98 AMR-WB/8000/1 
m = video 49172 RTP/AVP 32 
a = rtpmap:32 MPV/90000 

تتم الإشارة إلى برامج الترميز بواسطة أرقام ملف تعريف RTP / AVP 97 ، 98.

يرد الطرف المتصل به Marry على المكالمة ويختار الترميز الثاني لحقل الوسائط الأول ويرفض حقل الوسائط الثاني ويريد فقط جلسة AMR.

v = 0 
o = Marry 2890844526 2890844526 IN IP4 172.22.1.110 
s = - 
c = IN IP4 200.201.202.203 
t = 0 0 
m = audio 60000 RTP/AVP 8 
a = rtpmap:97 AMR/16000 
m = video 0 RTP/AVP 32 

إذا كانت هذه المكالمة الصوتية فقط غير مقبولة ، فسيقوم توم بإرسال ACK ثم BYE لإلغاء المكالمة. وإلا ، سيتم إنشاء جلسة الصوت وتبادل حزم RTP.

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

تم تلخيص قواعد العرض / الإجابة في الأقسام التالية.

قواعد تكوين العرض

يجب أن يتضمن عرض SDP جميع حقول SDP المطلوبة (وهذا يشمل v = و o = و s = و c = و t =). هذه حقول إلزامية في SDP.

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

قواعد لتوليد الجواب

يجب إنشاء إجابة SDP على العرض وفقًا للقواعد التالية -

  • يجب أن تحتوي الإجابة على نفس عدد سطور = م بنفس ترتيب الإجابة.

  • يمكن رفض تدفقات الوسائط الفردية عن طريق تعيين رقم المنفذ على 0.

  • يتم قبول التدفقات عن طريق إرسال رقم منفذ غير صفري.

  • يجب أن تكون الحمولات المدرجة لكل نوع وسائط مجموعة فرعية من الحمولات المدرجة في العرض.

  • بالنسبة للحمولات الديناميكية ، لا يلزم استخدام نفس رقم الحمولة الديناميكية في كل اتجاه. عادة ، يتم تحديد حمولة واحدة فقط.

قواعد تعديل الجلسة

يمكن لأي من الطرفين بدء تبادل عرض / إجابة آخر لتعديل الجلسة. عند تعديل الجلسة ، يجب اتباع القواعد التالية -

  • يجب أن يكون رقم إصدار سطر الأصل ( o = ) إما هو نفسه رقم الإصدار الأخير الذي تم إرساله ، مما يشير إلى أن SDP هذا مطابق للتبادل السابق ، أو قد يتم زيادته بواحد ، مما يشير إلى SDP الجديد الذي يجب تحليله.

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

  • يمكن إضافة تدفقات وسائط إضافية إلى نهاية قائمة الخط m = .

  • يمكن حذف دفق الوسائط الحالي عن طريق تعيين رقم المنفذ على 0. يجب أن يظل خط الوسائط هذا في SDP وجميع عمليات تبادل العرض / الإجابة المستقبلية لهذه الجلسة.

تعليق المكالمة

يمكن لأحد الأطراف في المكالمة وضع الطرف الآخر في الانتظار مؤقتًا. يتم ذلك عن طريق إرسال INVITE مع SDP مطابق لتلك الخاصة بـ INVITE الأصلي ولكن مع وجود سمة الإرسال فقط .

يتم تنشيط المكالمة مرة أخرى عن طريق إرسال دعوة أخرى مع وجود سمة sendrecv . يوضح الرسم التوضيحي التالي تدفق المكالمات في تعليق المكالمة.