‏إظهار الرسائل ذات التسميات SIP signalling protocol بروتوكول الإشارات. إظهار كافة الرسائل
‏إظهار الرسائل ذات التسميات SIP signalling protocol بروتوكول الإشارات. إظهار كافة الرسائل

SIP - Session Description Protocol بروتوكول وصف الجلسة

 SIP - Session Description Protocol بروتوكول وصف الجلسة

SIP - Session Description Protocol بروتوكول وصف الجلسة

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

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

  • يتم تضمين SDP بشكل عام في الجزء الأساسي من بروتوكول بدء الجلسة المعروف باسم SIP.

  • يتم تعريف SDP في RFC 2327. تتكون رسالة SDP من سلسلة من الأسطر ، تسمى الحقول ، يتم اختصار أسمائها بحرف صغير واحد ، وهي بالترتيب المطلوب لتبسيط التحليل.

الغرض من SDP

الغرض من SDP هو نقل المعلومات حول تدفقات الوسائط في جلسات الوسائط المتعددة لمساعدة المشاركين على الانضمام أو جمع معلومات عن جلسة معينة.

  • SDP هو وصف نصي قصير منظم.

  • ينقل اسم الجلسة والغرض منها والوسائط والبروتوكولات وتنسيقات الترميز والتوقيت ومعلومات النقل.

  • يتحقق مشارك مؤقت من هذه المعلومات ويقرر ما إذا كان سينضم إلى جلسة وكيف ومتى ينضم إلى الجلسة إذا قرر ذلك.

  • يحتوي التنسيق على إدخالات على شكل <type> = <value> ، حيث يحدد <type> معلمة جلسة فريدة وتوفر <value> قيمة محددة لهذه المعلمة.

  • الشكل العام لرسالة SDP هو -

    x = معلمة 1 معلمة 2 ... معلمة N

  • يبدأ السطر بحرف صغير واحد ، على سبيل المثال ، x. لا توجد مسافات بين الحرف و = ، وهناك مسافة واحدة بالضبط بين كل معلمة. يحتوي كل حقل على عدد محدد من المعلمات.

معلمات وصف الجلسة

وصف الجلسة (* تشير إلى اختياري)

  • v = (إصدار البروتوكول)
  • o = (المالك / المنشئ ومعرف الجلسة)
  • ق = (اسم الجلسة)
  • أنا = * (معلومات الجلسة)
  • u = * (URI للوصف)
  • البريد = * (عنوان البريد الإلكتروني)
  • ع = * (رقم الهاتف)
  • c = * (معلومات الاتصال - غير مطلوبة إذا تم تضمينها في جميع الوسائط)
  • ب = * (معلومات النطاق الترددي)
  • z = * (تعديلات المنطقة الزمنية)
  • k = * (مفتاح التشفير)
  • أ = * (صفر أو أكثر من سطور سمات الجلسة)

إصدار البروتوكول

يحتوي الحقل v = على رقم إصدار SDP. لأن الإصدار الحالي من SDP هو 0 ، فإن رسالة SDP الصالحة ستبدأ دائمًا بـ v = 0.

الأصل

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

  • يحتوي الحقل على -

    o = <اسم المستخدم> <رقم الجلسة> <الإصدار> <نوع الشبكة> <نوع العنوان>

  • و اسم المستخدم يحتوي على المعلمة تسجيل الدخول المنشئ أو المضيف.

  • في الدورة معرف المعلمة بروتوكول وقت الشبكة (NTP) زمني أو رقم عشوائي استخدامها لضمان التفرد.

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

  • و من نوع الشبكة هو دائما في الإنترنت. معلمة نوع العنوان هي إما IP4 أو IP6 لعنوان IPv4 أو IPv6 إما في شكل عشري منقط أو اسم مضيف مؤهل بالكامل.

اسم الجلسة والمعلومات

يحتوي الحقل s = على اسم للجلسة. يمكن أن يحتوي على أي عدد غير صفري من الأحرف. يحتوي الحقل الاختياري = i على معلومات حول الجلسة. يمكن أن تحتوي على أي عدد من الأحرف.

URI

يحتوي الحقل u = الاختياري على مؤشر موارد موحد (URI) مع مزيد من المعلومات حول الجلسة

عنوان البريد الإلكتروني ورقم الهاتف

يحتوي الحقل الاختياري e = على عنوان بريد إلكتروني لمضيف الجلسة. يحتوي الحقل الاختياري p = على رقم هاتف.

بيانات الاتصال

يحتوي الحقل c = على معلومات حول اتصال الوسائط.

  • يحتوي الحقل على -

    ج = <نوع الشبكة> <عنوان - نوع> <اتصال - عنوان>

  • في شبكة من نوع يعرف المعلمة كما في للإنترنت.

  • و من نوع عنوان يعرف بأنه IP4 لعناوين IPv4 و IP6 لعناوين IPv6.

  • و عنوان الاتصال هو عنوان IP أو المضيف الذي سيتم إرسال الحزم وسائل الإعلام، والتي يمكن أن تكون إما الإرسال المتعدد أو الإرسال.

  • إذا كان الإرسال المتعدد ، فإن حقل عنوان الاتصال يحتوي على -

    عنوان الاتصال = عنوان الإرسال المتعدد الأساسي / ttl / عدد العناوين

  • حيث ttl هي قيمة وقت البقاء ، ويشير عدد العناوين إلى عدد عناوين الإرسال المتعدد المتجاورة المضمنة بدءًا من عنوان الإرسال المتعدد الأساسي.

عرض النطاق

يحتوي الحقل الاختياري ب = على معلومات حول النطاق الترددي المطلوب. إنه من الشكل -

ب = المعدل: عرض النطاق - القيمة

الوقت وتكرار مرات ومناطق زمنية

يحتوي الحقل t = على وقت بدء الجلسة ووقت إيقافها.

ر = وقت بدء وقت التوقف

يحتوي الحقل الاختياري r = على معلومات حول أوقات التكرار التي يمكن تحديدها إما في NTP أو في أيام ( د ) أو ساعات ( ح ) أو دقائق ( م ).

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

إعلانات إعلامية

يحتوي الحقل الاختياري m = على معلومات حول نوع جلسة الوسائط. يحتوي الحقل على -

م = قائمة تنسيق نقل منفذ الوسائط

  • معلمة الوسائط هي إما صوت أو فيديو أو نص أو تطبيق أو رسالة أو صورة أو عنصر تحكم. تحتوي معلمة المنفذ على رقم المنفذ.

  • تحتوي معلمة النقل على بروتوكول النقل أو ملف تعريف RTP المستخدم.

  • تحتوي قائمة التنسيق على مزيد من المعلومات حول الوسائط. عادة ، يحتوي على أنواع حمولة الوسائط المحددة في ملفات تعريف RTP الصوتية والفيديو.

Example:
m = audio 49430 RTP/AVP 0 6 8 99

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

السمات

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

يمكن أن تكون السمات في SDP إما

  • مستوى الجلسة ، أو
  • مستوى الوسائط.

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

مستوى الوسائط يعني أنه مدرج بعد سطر وسائط. في هذه الحالة ، تنطبق السمة على دفق الوسائط هذا فقط.

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

مثال SDP

فيما يلي مثال لوصف الجلسة ، مأخوذ من RFC 2327 -

v = 0
o = mhandley2890844526 2890842807 IN IP4 126.16.64.4
s = SDP Seminar
i = A Seminar on the session description protocol
u = http://www.cs.ucl.ac.uk/staff/M.Handley/sdp.03.ps
e = mjh@isi.edu(Mark Handley)
c = IN IP4 224.2.17.12/127
t = 2873397496 2873404696
a = recvonly
m = audio 49170 RTP/AVP 0
m = video 51372 RTP/AVP 31
m = application 32416udp wb
a = orient:portrait





SIP - Headers العناوين

 SIP - Headers العناوين

SIP - Headers العناوين

الرأس هو أحد مكونات رسالة SIP التي تنقل معلومات حول الرسالة. وهي منظمة كسلسلة من حقول الرأس.

تتبع حقول رأس SIP في معظم الحالات نفس القواعد مثل حقول رأس HTTP. يتم تعريف حقول الرأس على أنها Header: field ، حيث يتم استخدام Header لتمثيل اسم حقل الرأس ، والحقل هو مجموعة الرموز المميزة التي تحتوي على المعلومات. يتكون كل حقل من اسم حقل متبوعًا بنقطتين (":") وقيمة الحقل (على سبيل المثال ، اسم الحقل: قيمة الحقل ).

رؤوس SIP - شكل مضغوط

العديد من حقول رأس SIP الشائعة لها نموذج مضغوط حيث يتم الإشارة إلى اسم حقل الرأس بحرف صغير واحد. بعض الأمثلة معطاة أدناه -

العنوان الرأس الاختصار
ToT
ViaV
Call-IDI
ContactM
FromF
SubjectS
Content-LengthI


تنسيق رأس SIP

تُظهر الصورة التالية بنية رأس SIP النموذجي.

تنسيق رأس SIP

يتم تصنيف الرؤوس على النحو التالي اعتمادًا على استخدامها في SIP -









SIP - Response Codes رموز الاستجابة

 SIP - Response Codes رموز الاستجابة

SIP - Response Codes رموز الاستجابة

SIP - Response Codes رموز الاستجابة

استجابة SIP هي رسالة تم إنشاؤها بواسطة خادم وكيل المستخدم (UAS) أو خادم SIP للرد على طلب تم إنشاؤه بواسطة العميل. يمكن أن يكون إقرارًا رسميًا لمنع إعادة إرسال الطلبات من قبل UAC.

  • قد تحتوي الاستجابة على بعض حقول الرأس الإضافية للمعلومات التي تحتاجها UAC.

  • يحتوي SIP على ستة ردود.

  • تم استعارة 1xx إلى 5xx من HTTP وتم تقديم 6xx في SIP.

  • يعتبر 1xx بمثابة استجابة مؤقتة والباقي ردود نهائية .

S. لا.الوظيفة والوصف
11xx: ردود مؤقتة / إعلامية

تُستخدم الردود المعلوماتية للإشارة إلى تقدم المكالمة . عادة ما تكون الردود نهاية إلى نهاية (باستثناء 100 محاولة).

22xx: استجابات النجاح

هذه الفئة من الردود مخصصة للإشارة إلى أنه تم قبول الطلب.

33xx: إعادة توجيه الردود

بشكل عام ، يتم إرسال ردود الفئة هذه بواسطة خوادم إعادة التوجيه استجابةً لـ INVITE. تُعرف أيضًا بإعادة توجيه استجابات الفصل.

44xx: استجابات فشل العميل

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

55xx: استجابة فشل الخادم

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

66xx: فشل عالمي في الاستجابة

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





SIP - Messaging المراسلة

 SIP - Messaging المراسلة

SIP - Messaging المراسلة

رسائل SIP نوعان - طلبات و الردود .

  • يحتوي السطر الافتتاحي للطلب على طريقة تحدد الطلب ، و Request-URI الذي يحدد مكان إرسال الطلب.

  • وبالمثل ، يحتوي السطر الافتتاحي للرد على رمز استجابة.

طرق الطلب

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

طلبات SIP التي تُعرف باسم METHODS تجعل رسالة SIP قابلة للتطبيق.

  • يمكن اعتبار "الطرق" طلبات SIP ، لأنها تطلب إجراءً محددًا يتم اتخاذه بواسطة وكيل مستخدم أو خادم آخر.

  • يتم تمييز الطرق إلى نوعين -

    • الطرق الأساسية

    • طرق التمديد

الطرق الأساسية

هناك ست طرق أساسية كما هو موضح أدناه.

يدعو

يُستخدم INVITE لبدء جلسة مع وكيل مستخدم. بمعنى آخر ، يتم استخدام طريقة INVITE لإنشاء جلسة وسائط بين وكلاء المستخدم.

  • يمكن أن يحتوي INVITE على معلومات الوسائط الخاصة بالمتصل في نص الرسالة.

  • تعتبر الجلسة محددة إذا تلقى INVITE استجابة ناجحة (2xx) أو تم إرسال ACK.

  • يدعو
  • ينشئ طلب INVITE الناجح مربع حوار بين وكيلي المستخدم والذي يستمر حتى يتم إرسال BYE لإنهاء الجلسة.

  • تُعرف الدعوة المرسلة داخل مربع حوار تم إنشاؤه باسم إعادة INVITE .

  • يتم استخدام Re-INVITE لتغيير خصائص الجلسة أو تحديث حالة مربع الحوار.

مثال دعوة

يوضح الكود التالي كيفية استخدام INVITE.

INVITE sips:Bob@TMC.com SIP/2.0 
   Via: SIP/2.0/TLS client.ANC.com:5061;branch = z9hG4bK74bf9 
   Max-Forwards: 70 
   From: Alice<sips:Alice@TTP.com>;tag = 1234567 
   To: Bob<sips:Bob@TMC.com>
   Call-ID: 12345601@192.168.2.1  
   CSeq: 1 INVITE 
   Contact: <sips:Alice@client.ANC.com> 
   Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY 
   Supported: replaces 
   Content-Type: application/sdp 
   Content-Length: ...  
   
   v = 0 
   o = Alice 2890844526 2890844526 IN IP4 client.ANC.com 
   s = Session SDP 
   c = IN IP4 client.ANC.com 
   t = 3034423619 0 
   m = audio 49170 RTP/AVP 0 
   a = rtpmap:0 PCMU/8000 

وداعا

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

  • لا يمكن إرسالها عن طريق خادم وكيل.

  • طلب BYE يوجه عادة من النهاية إلى النهاية ، متجاوزًا الخادم الوكيل.

  • لا يمكن إرسال BYE إلى INVITE معلق أو جلسة غير محددة.

تسجيل

ينفذ طلب REGISTER تسجيل وكيل المستخدم. يتم إرسال هذا الطلب من قبل وكيل المستخدم إلى خادم المسجل.

  • يمكن إعادة توجيه طلب REGISTER أو توكيله حتى يصل إلى المسجل المعتمد للمجال المحدد.

  • أنها تحمل AOR (عنوان سجل) في ل رأس المستخدم الذي يتم تسجيله.

  • يحتوي طلب التسجيل على الفترة الزمنية (3600 ثانية).

  • يمكن لوكيل مستخدم واحد إرسال طلب تسجيل نيابة عن وكيل مستخدم آخر. يُعرف هذا باسم تسجيل الطرف الثالث . هنا ، تحتوي العلامة من على عنوان URI للطرف الذي يرسل التسجيل نيابة عن الطرف المحدد في العنوان إلى .

إلغاء

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

  • يمكن إرسالها إما عن طريق وكيل مستخدم أو خادم وكيل.

  • CANCEL هو طلب قفزة ، أي أنه يمر عبر العناصر بين وكيل المستخدم ويستقبل الاستجابة التي تم إنشاؤها بواسطة العنصر التالي ذي الحالة.

هوب باي هوب

ACK

يتم استخدام ACK للإقرار بالردود النهائية على طريقة الدعوة. يذهب ACK دائمًا في اتجاه INVITE.ACK قد يحتوي على جسم SDP (خصائص الوسائط) ، إذا لم يكن متاحًا في INVITE.

SDP Ack
  • لا يجوز استخدام ACK لتعديل وصف الوسائط الذي تم إرساله بالفعل في INVITE الأولي.

إقرار SDP
  • يجب أن يحدد الوكيل ذي الحالة الذي يتلقى ACK ما إذا كان يجب إعادة توجيه ACK إلى وكيل آخر أو وكيل مستخدم أم لا.

  • بالنسبة إلى استجابات 2xx ، يكون ACK من النهاية إلى النهاية ، ولكن بالنسبة لجميع الاستجابات النهائية الأخرى ، يعمل على أساس قفزة تلو الأخرى عندما يتم إشراك الوكلاء ذوي الحالة.

خيارات

يتم استخدام طريقة OPTIONS للاستعلام عن وكيل مستخدم أو خادم وكيل عن إمكانياته واكتشاف مدى توفره الحالي. يسرد الرد على طلب إمكانيات وكيل المستخدم أو الخادم. لا يقوم الوكيل مطلقًا بإنشاء طلب OPTIONS.

طرق التمديد

الإشتراك

يتم استخدام الاشتراك من قبل وكلاء المستخدم لإنشاء اشتراك بغرض الحصول على إشعار حول حدث معين.

  • يحتوي على حقل رأس انتهاء الصلاحية يشير إلى مدة الاشتراك.

  • بعد مرور الفترة الزمنية ، سينتهي الاشتراك تلقائيًا.

  • ينشئ الاشتراك حوارًا بين وكلاء المستخدم.

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

  • سيتم استلام 200 موافق للاشتراك من المستخدم.

  • يمكن للمستخدمين إلغاء الاشتراك عن طريق إرسال طريقة اشتراك أخرى بقيمة انتهاء الصلاحية 0 (صفر).

مثال اشتراك

إخطار

يتم استخدام الإخطار من قبل وكلاء المستخدم للحصول على حدوث حدث معين. عادةً ما يتم تشغيل إشعار داخل مربع حوار عند وجود اشتراك بين المشترك والمُخطر.

  • سيحصل كل إشعار على 200 استجابة جيدة إذا تم استلامه من قبل المخطر.

  • يحتوي الإخطار على حقل رأس الحدث الذي يشير إلى الحدث وحقل رأس حالة الاشتراك الذي يشير إلى الحالة الحالية للاشتراك.

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

ينشر

يتم استخدام PUBLISH بواسطة وكيل المستخدم لإرسال معلومات حالة الحدث إلى الخادم.

ينشر
  • غالبًا ما يكون النشر مفيدًا عند وجود مصادر متعددة لمعلومات الحدث.

  • طلب النشر مشابه للإخطار ، باستثناء أنه لا يتم إرساله في مربع حوار.

  • يجب أن يحتوي طلب النشر على حقل رأس انتهاء الصلاحية وحقل رأس Min-Expires .

أشير

يستخدم وكيل المستخدم REFER لإحالة وكيل مستخدم آخر للوصول إلى URI لمربع الحوار.

  • يجب أن يحتوي REFER على رأس إحالة . هذا رأس إلزامي لـ REFER.

  • يمكن إرسال REFER داخل أو خارج مربع الحوار.

  • 202 مقبول سيؤدي إلى الرجوع الطلب مما يدل على أن وكيل مستخدم آخر قد قبل المرجع.

INFO

يستخدم وكيل المستخدم INFO لإرسال معلومات تشوير المكالمة إلى وكيل مستخدم آخر أنشأ معه جلسة وسائط.

  • هذا طلب شامل.

  • سيقوم الوكيل دائمًا بإعادة توجيه طلب INFO.

تحديث

يتم استخدام UPDATE لتعديل حالة الجلسة إذا لم يتم إنشاء جلسة. يمكن للمستخدم تغيير برنامج الترميز باستخدام UPDATE.

تحديث

إذا تم إنشاء جلسة ، يتم استخدام إعادة الدعوة لتغيير / تحديث الجلسة.

PRACK

يستخدم PRACK للإقرار باستلام نقل موثوق للاستجابة المؤقتة (1XX).

  • عموما يتم إنشاؤها من قبل عميل PRACK عندما تتلقى ردا المؤقتة التي تحتوي على RSeq موثوق رقم التسلسل و المدعومة: 100rel الرأس.

  • يحتوي PRACK على قيمة (RSeq + CSeq) في رأس الحامل .

  • تنطبق طريقة PRACK على جميع الردود المؤقتة باستثناء استجابة 100 Trying ، والتي لا يتم نقلها بشكل موثوق أبدًا.

  • قد يحتوي PRACK على نص رسالة ؛ يمكن استخدامه لتبادل العرض / الإجابة.

رسالة

يتم استخدامه لإرسال رسالة فورية باستخدام SIP. تتكون المراسلة الفورية عادةً من رسائل قصيرة يتم تبادلها في الوقت الفعلي من قبل المشاركين المنخرطين في محادثة نصية.

رسالة
  • يمكن إرسال MESSAGE في مربع حوار أو خارج مربع حوار.

  • يتم نقل محتويات الرسالة في نص الرسالة كمرفق MIME .

  • 200 OK يتم تلقي استجابة عادة للإشارة إلى أنه قد تم تسليم الرسالة إلى وجهتها.