# بروتوكول بدء جلسة

بروتوكول بدء الجلسة (SIP) هو بروتوكول اتصالات للإشارة إلى جلسات اتصالات الوسائط المتعددة والتحكم فيها في تطبيقات الاتصال الهاتفي عبر الإنترنت للمكالمات الصوتية ومكالمات الفيديو، وفي أنظمة هاتف IP الخاصة، وكذلك في المراسلة الفورية عبر شبكات بروتوكول الإنترنت (IP).
يحدد البروتوكول الشكل المحدد للرسائل المتبادلة وتسلسل الاتصالات للتعاون بين المشاركين. SIP هو بروتوكول يستند إلى النص، ويتضمن العديد من عناصر بروتوكول نقل النص التشعبي (HTTP) وبروتوكول نقل البريد البسيط (SMTP). قد يتكون الاتصال الذي تم إنشاؤه باستخدام SIP من تدفقات وسائط متعددة، ولكن لا توجد عمليات بث منفصلة مطلوبة للتطبيقات، مثل الرسائل النصية، التي تقوم بتبادل البيانات كحمولة في رسالة SIP.
تعمل SIP بالتزامن مع العديد من البروتوكولات الأخرى التي تحدد وتحمل وسائط الجلسة. يتم تنفيذ نوع الوسائط وتفاوض المعلمة وإعداد الوسائط مع بروتوكول وصف الجلسة (SDP) ، والذي يتم حمله كحمولة في رسائل SIP. تم تصميم SIP لتكون مستقلة عن بروتوكول طبقة النقل الأساسية، ويمكن استخدامها مع بروتوكول مخطط بيانات المستخدم (UDP) ، وبروتوكول التحكم في الإرسال (TCP) ، وبروتوكول نقل التحكم في التدفق (SCTP). لإرسال تيارات الوسائط (الصوت والفيديو) تستخدم SIP بروتوكول النقل في الوقت الفعلي (RTP) أو بروتوكول النقل الآني في الوقت الفعلي (SRTP). للحصول على عمليات نقل آمنة لرسائل SIP عبر ارتباطات الشبكة غير الآمنة، قد يتم تشفير البروتوكول باستخدام أمان طبقة النقل (TLS).

## التاريخ

تم تصميم SIP في الأصل من قبل مارك هاندلي، هينينج شولزرين، إيف ستيكر وجوناثان روزنبرغ في عام 1996. تم توحيد البروتوكول كـ RFC 2543 في عام 1999. في نوفمبر 2000 ، تم قبول SIP كبروتوكول تشوير 3GPP وعنصر دائم في النظام الفرعي للوسائط المتعددة IP ( (IMS) بنية خدمات الوسائط المتعددة المتدفقة القائمة على بروتوكول الإنترنت في الشبكات الخلوية. في يونيو 2002 تم تنقيح المواصفات في RFC 3261 وتم نشر العديد من الإضافات والتوضيحات منذ ذلك الحين.
وقد تم تصميم بروتوكول SIP ليوفر بروتوكولًا للإشارات والاتصال للإتصالات القائمة على بروتوكول الإنترنت يدعم وظائف معالجة المكالمات والميزات الموجودة في شبكة الهاتف العامة التبديلية (PSTN) مع رؤية لدعم تطبيقات الوسائط المتعددة الجديدة. وقد تم تمديده لعقد مؤتمرات الفيديو، وتوزيع وسائط البث، والرسائل الفورية، ومعلومات التواجد، ونقل الملفات، وفاكس الإنترنت والألعاب عبر الإنترنت.
يتميز SIP بمؤيديه لوجود جذور في مجتمع الإنترنت وليس في صناعة الاتصالات. وقد تم تعيين SIP بشكل أساسي من قبل IETF ، في حين أن بروتوكولات أخرى، مثل H.323 ، كانت مرتبطة تقليديًا بالاتحاد الدولي للاتصالات (ITU).

## عملية البروتوكول

لا يشارك SIP إلا في عمليات التشوير لجلسة اتصال وسائط ويستخدم في المقام الأول لإعداد وإنهاء المكالمات الصوتية أو المرئية. يمكن استخدام SIP لإنشاء جلسات (أحادي الإرسال) أو تعدد الأحزاب (الإرسال المتعدد). كما يسمح بتعديل المكالمات الموجودة. قد يتضمن التعديل تغيير العناوين أو المنافذ، ودعوة المزيد من المشاركين، وإضافة أو حذف تيارات الوسائط. كما عثر SIP أيضًا على تطبيقات في تطبيقات المراسلة، مثل المراسلة الفورية واشتراك الحدث والإشعار.
تعمل SIP بالتزامن مع العديد من البروتوكولات الأخرى التي تحدد تنسيق الوسائط والتشفير وتحمل الوسائط بمجرد إعداد المكالمة. لإعداد الاتصال، يحتوي نص رسالة SIP على وحدة بيانات بروتوكول وصف الجلسة (SDP) ، والتي تحدد تنسيق الوسائط وبروتوكول فك تشفير الوسائط وبروتوكول اتصالات الوسائط. تدفقات الوسائط الصوتية والفيديو عادة ما يتم إجراؤها بين المطاريف التي تستخدم بروتوكول النقل في الوقت الفعلي (RTP) أو بروتوكول النقل الآني في الوقت الفعلي (SRTP).
تحت SIP ، يتم تحديد كل مورد، مثل وكيل مستخدم أو صندوق بريد صوتي ، بواسطة معرف الموارد الموحد (URI) ، الذي يتبع بناء الجملة القياسي العام المستخدم أيضًا في خدمات الويب والبريد الإلكتروني. مخطط URI المستخدم في SIP هو رشفة و SIP URI نموذجي لديه الشكل sip: username @ domainname أو sip: username @ hostport ، حيث يتطلب domainname سجلات SRV DNS لتحديد خوادم مجال SIP بينما يمكن أن يكون hostport عنوان IP أو اسم نطاق مؤهل بالكامل للمضيف والمنفذ. إذا كان النقل الآمن مطلوبًا، يتم استخدام رشفات المخطط.
تستخدم SIP عناصر تصميم مشابهة لنموذج معاملة طلب / استجابة HTTP. تتكون كل معاملة من طلب عميل يستدعي طريقة أو وظيفة معينة على الخادم واستجابة واحدة على الأقل. تقوم SIP بإعادة استخدام معظم حقول الرأس وترميز القواعد ورموز الحالة لـ HTTP ، مما يوفر تنسيقًا مقروءًا يستند إلى النص.
يمكن تنفيذ بروتوكول SIP بواسطة عدة بروتوكولات طبقة النقل بما في ذلك بروتوكول التحكم في الإرسال (TCP) وبروتوكول مخطط بيانات المستخدم (UDP) وبروتوكول الإرسال للتحكم في الدفق (SCTP). يستخدم عملاء SIP عادة TCP أو UDP على أرقام المنافذ 5060 أو 5061 لحركة مرور SIP للخوادم ونقاط النهاية الأخرى. يُستخدم المنفذ 5060 بشكل شائع لحركة الإشارات غير المشفرة، بينما يستخدم المنفذ 5061 عادةً لحركة المرور المشفرة بواسطة أمان طبقة النقل (TLS).
تقوم شبكات المهاتفة القائمة على بروتوكول SIP غالبًا بتنفيذ ميزات معالجة المكالمة في نظام التشوير 7 (SS7) ، والتي توجد لها امتدادات بروتوكول SIP خاصة، على الرغم من اختلاف البروتوكولات نفسها. SS7 هو بروتوكول مركزي، يتميز بهيكل الشبكة المركزية المعقدة ونقاط النهاية البكم (أجهزة الهاتف التقليدية). SIP هو بروتوكول العميل والخادم من الأقران equipotent. يتم تنفيذ ميزات SIP في نقاط النهاية المتصلة، بينما تستخدم بنية SS7 التقليدية فقط بين مراكز التحويل.

## عناصر الشبكة

تسمى عناصر الشبكة التي تستخدم بروتوكول بدء الجلسة للاتصال بموظفي مستخدم SIP. يقوم كل وكيل مستخدم (UA) بتنفيذ وظيفة عميل وكيل المستخدم (UAC) عندما يطلب وظيفة خدمة، ووظيفة خادم وكيل المستخدم (UAS) عند الاستجابة لطلب ما. وبالتالي، فإن أي نقطتي نهائية SIP قد تعمل من حيث المبدأ دون أي بنية تحتية للتدخل البيني SIP. ومع ذلك، ولأسباب تشغيل الشبكة، ولتوفير الخدمات العامة للمستخدمين، ولخدمات الدليل، فإن SIP يعرّف عدة أنواع محددة من عناصر خادم الشبكة. يتصل كل عنصر من عناصر الخدمة هذه أيضًا ضمن نموذج خادم العميل الذي تم تنفيذه في برامج وعملاء وكيل المستخدم.

### وكيل المستخدم

وكيل المستخدم هو نقطة نهاية شبكة منطقية تستخدم لإنشاء أو تلقي رسائل SIP. يدير وكيل المستخدم جلسات SIP. كعميل (UAC) ، يرسل طلبات SIP ، وكخادم (UAS) يتلقى طلبات ويعيد استجابة SIP. بخلاف بروتوكولات الشبكة الأخرى التي تعمل على إصلاح أدوار العميل والخادم، على سبيل المثال، في HTTP ، حيث لا يعمل متصفح الويب إلا كعميل، وأبدا كخادم، يتطلب SIP كلا النظراء لتنفيذ كل من الأدوار. أدوار UAC و UAS تستمر فقط لمدة معاملة SIP.
هاتف SIP هو هاتف IP يقوم بتنفيذ وظائف العميل والخادم لوكيل مستخدم SIP ويوفر وظائف الاتصال التقليدية للهاتف، مثل الاتصال الهاتفي، والإجابة، والرفض، وتعليق المكالمة، ونقل المكالمة. يمكن تنفيذ هواتف SIP كجهاز أو كجهاز هاتف. نظرًا لأن الموردين يطبقون بروتوكول SIP على نحو متزايد كمنصة هاتفية قياسية، فإن التمييز بين هواتف SIP المستندة إلى الأجهزة والبرمجيات مبني على الوضوح، ويتم تنفيذ عناصر SIP في وظائف البرامج الثابتة الأساسية للعديد من الأجهزة التي تدعم بروتوكول الإنترنت.
في SIP ، كما في HTTP ، قد يقوم وكيل المستخدم بتعريف نفسه باستخدام حقل رأس الرسالة (User-Agent) ، الذي يحتوي على وصف نصي للبرنامج أو الجهاز أو اسم المنتج. يتم إرسال حقل عامل المستخدم في رسائل الطلب، مما يعني أن خادم SIP المتلقي يمكنه تقييم هذه المعلومات لإجراء عملية تهيئة أو تنشيط ميزة خاصة بالجهاز. يقوم مشغلو عناصر شبكة SIP في بعض الأحيان بتخزين هذه المعلومات في بوابات حسابات العملاء، حيث يمكن أن تكون مفيدة في تشخيص مشاكل توافق SIP أو عرض حالة الخدمة.

### مخدم بروكسي

الخادم الوكيل هو خادم شبكة به مكونات UAC و UAS تعمل ككيان وسيط بغرض تنفيذ الطلبات نيابة عن عناصر الشبكة الأخرى. يلعب الخادم الوكيل بالدرجة الأولى دور التوجيه، وهذا يعني أن مهمته هي ضمان إرسال طلب إلى كيان آخر أقرب إلى المستخدم المستهدف. تُعد البروكسيات مفيدة أيضًا لفرض السياسة، مثل تحديد ما إذا كان يُسمح للمستخدم بإجراء مكالمة. يفسر الوكيل، وإذا لزم الأمر، إعادة كتابة أجزاء معينة من رسالة الطلب قبل إعادة توجيهها.

### المسجل

المسجل هو نقطة نهاية SIP التي توفر خدمة الموقع. يقبل طلبات REGISTER ، ويسجل العنوان والمعلمات الأخرى من وكيل المستخدم. بالنسبة للطلبات اللاحقة، توفر هذه الأداة وسيلة أساسية للعثور على أقران الاتصالات المحتملين على الشبكة. تربط خدمة الموقع واحدًا أو أكثر من عناوين IP إلى SIP URI الخاص بموظف التسجيل. قد يسجل وكلاء المستخدم المتعددين لعنوان URI نفسه، مما يؤدي إلى تلقي جميع وكلاء المستخدمين المسجلين للمكالمات إلى URI.
مسجلي SIP هم عناصر منطقية، وغالبًا ما يكونون موجودين مع بروكسيات SIP. لتحسين إمكانية تطوير الشبكة، قد يتم بدلاً من ذلك تحديد موقع خدمات المواقع مع خادم إعادة توجيه.

### إعادة توجيه الخادم

خادم إعادة التوجيه هو خادم وكيل مستخدم يقوم بإنشاء ردود 3xx (إعادة توجيه) للطلبات التي يتلقاها، مع توجيه العميل للاتصال بمجموعة بديلة من عناوين URI. يسمح خادم إعادة التوجيه للخوادم الوكيلة بتوجيه دعوات جلسة SIP إلى نطاقات خارجية.

### وحدة تحكم الحدود الجلسة

تعمل وحدات التحكم في حدود الجلسة كمربعات وسطية بين خوادم UA و SIP لأنواع مختلفة من الوظائف، بما في ذلك إخفاء طبولوجيا الشبكة والمساعدة في اجتياز NAT.

### البوابة

يمكن استخدام البوابات لربط شبكة SIP بالشبكات الأخرى، مثل شبكة الهاتف العامة التبديلية، التي تستخدم بروتوكولات أو تقنيات مختلفة.

## رسائل SIP

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

### طلبات

طلبات بدء معاملات SIP بين كيان SIP من أجل إنشاء جلسات العمل والتحكم فيها وإنهائها. وتشمل الأساليب الحرجة ما يلي.
* دعوة: تستخدم لإنشاء حوار مع تبادل الوسائط بين وكلاء المستخدم.
* BYE: إنهاء جلسة موجودة.
* REGISTER: تطبق الطريقة خدمة الموقع لوكلاء المستخدم، والتي تشير إلى معلومات عنوانها إلى الخادم.

### استجابات

يتم إرسال الردود من خلال خادم وكيل المستخدم مشيرًا إلى نتيجة طلب تم استلامه. يتم التعرف على عدة فئات من الاستجابات، ويتم تحديدها من خلال المدى العددي لرموز النتائج:
* 1xx: تشير الإجابات المؤقتة للطلبات إلى أن الطلب كان صالحًا وأنه قيد المعالجة.
* 2xx: تشير الردود على مستوى 200 إلى إكمال الطلب بنجاح. كرد على INVITE ، يشير إلى أنه تم تأسيس اتصال.
* 3xx: تشير هذه المجموعة إلى الحاجة إلى إعادة توجيه لإكمال الطلب. يجب إكمال الطلب مع وجهة جديدة.
* 4xx: يحتوي الطلب على بناء سيئ أو لا يمكن تحقيقه على الخادم.
* 5xx: فشل الخادم في تلبية طلب صالح على ما يبدو.
* 6xx: هذا فشل عالمي، حيث لا يمكن تلبية الطلب في أي خادم.

## المعاملات

تحدد SIP آلية معاملة للتحكم في التبادلات بين المشاركين وتسليم الرسائل بشكل موثوق. المعاملة عبارة عن حالة جلسة يتم التحكم فيها بواسطة أجهزة ضبط وقت مختلفة. ترسل معاملات العميل الطلبات ومعاملات الخادم استجابة لتلك الطلبات برد واحد أو أكثر. قد تتضمن الردود استجابات مؤقتة مع رمز الاستجابة في الصيغة 1xx ، ورد واحد أو عدة استجابات نهائية (2xx - 6xx).
يتم تصنيف المعاملات كذلك إما كأنواع أو دعوة غير نوع دعوة. تختلف معاملات الدعوة من حيث أنها يمكن أن تنشئ محادثة طويلة، يشار إليها على أنها حوار في SIP ، ومن ثم تتضمن إقراراً (ACK) بأي استجابة نهائية غير فاشلة، على سبيل المثال، 200 OK.
وبسبب آليات المعاملات هذه، تعتبر بروتوكولات النقل غير الموثوق بها، مثل بروتوكول مخطط بيانات المستخدم (UDP) ، كافية لعملية SIP.

## المراسلة الفورية والتواجد

بروتوكول بدء الجلسة الخاص بالرسائل الفورية وامتدادات رفع التواجد (SIMPLE) هو مجموعة معايير SIP المستندة إلى المراسلة الفورية ومعلومات التواجد. يسمح MSRP (بروتوكول ترحيل جلسة العمل) بجلسات الرسائل الفورية ونقل الملفات.

## اختبار المطابقة

يجتمع مجتمع مطوري SIP بانتظام في المؤتمرات التي ينظمها منتدى SIP لاختبار قابلية التشغيل البيني لتطبيقات SIP. تستخدم لغة مواصفات اختبار TTCN-3 ، التي طورتها فرقة عمل في ETSI (STF 196) ، لتحديد اختبارات المطابقة لتطبيقات SIP.

## اختبار أداء

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

## تطبيقات

اتصال SIP هو مصطلح تسويقي لخدمات الصوت عبر بروتوكول الإنترنت (VoIP) التي يقدمها العديد من مزودي خدمة الاتصال الهاتفي عبر الإنترنت (ITSPs). توفر الخدمة توجيه المكالمات الهاتفية من نظام الهاتف الفرعي (PBX) الخاص بالتبادل الخاص بالعميل إلى شبكة الهاتف العامة التبديلية (PSTN). قد تعمل هذه الخدمات على تبسيط البنية الأساسية لنظام معلومات الشركة من خلال مشاركة الوصول إلى الإنترنت للصوت والبيانات، وإزالة تكلفة الدوائر الهاتفية ذات المعدل الأساسي (BRI) أو الدوائر الهاتفية (PRI).
تعتبر SIP trunking مصطلح تسويق مشابه يفضل عند استخدام الخدمة لتبسيط البنية التحتية للاتصالات من خلال مشاركة دائرة وصول الموجة الحاملة للصوت والبيانات وحركة مرور الإنترنت أثناء إزالة الحاجة إلى دوائر واجهة المعدل الأساسي (PRI).
بإمكان كاميرات المراقبة المرئية SIP بدء المكالمات لتنبيه مشغل الأحداث، مثل حركة الكائنات في منطقة محمية.
يستخدم SIP في الصوت عبر بروتوكول الإنترنت من أجل تطبيقات الإذاعة حيث يوفر وسيلة قابلة للتشغيل البيني للواجهات الصوتية من شركات مصنعة مختلفة لإجراء اتصالات مع بعضها البعض.

## إنجازات

يوفر المعهد الوطني الأمريكي للمعايير والتقنيات (NIST) ، قسم تقنيات الشبكات المتقدمة، تطبيق Java للمجال العام الذي يعمل بمثابة تطبيق مرجعي للمعيار. يمكن للتطبيق العمل في سيناريوهات الخادم الوكيل أو وكيل المستخدم، وقد تم استخدامه في العديد من المشاريع التجارية والبحثية. وهو يدعم RFC 3261 بالكامل وعدد من RFC التمديد بما في ذلك RFC 6665 (إعلام الحدث) و RFC 3262 (استجابات مؤقتة موثوقة).
يوجد العديد من تطبيقات SIP التجارية والمفتوحة المصدر الأخرى. انظر قائمة برامج SIP.

## SIP-ISUP البيني

SIP-I ، أو بروتوكول بدء الجلسة مع ISUP المغلفة، هو بروتوكول يستخدم لإنشاء وتعديل وإنهاء جلسات الاتصال على أساس ISUP باستخدام SIP وشبكات IP. تتضمن الخدمات التي تستخدم SIP-I الصوت، والفيديو، والفاكس والبيانات. SIP-I و SIP-T هما بروتوكولات ذات ميزات متشابهة، لا سيما للسماح بنقل رسائل ISUP عبر شبكات SIP. يحافظ هذا على جميع التفاصيل المتوفرة في رأسية ISUP ، وهو أمر مهم حيث أن هناك العديد من المتغيرات الخاصة بكل دولة من ISUP التي تم تنفيذها خلال الثلاثين عامًا الماضية، ولا يمكن دائمًا التعبير عن جميع التفاصيل نفسها باستخدام رسالة SIP الأصلية. تم تعريف SIP-I بواسطة قطاع تقييس الاتصالات، بينما تم تعريف SIP-T عبر مسار IETF RFC.

## التشفير

تم معالجة المخاوف المتعلقة بأمان المكالمات عبر الإنترنت العام من خلال تشفير بروتوكول SIP للإرسال الآمن. يتم استخدام رشفات مخطط URI للتكليف بضرورة تأمين كل نقطة عبرها تتم إعادة توجيه الطلب إلى النطاق الهدف مع أمان طبقة النقل (TLS). يجب تأمين الانتقال الأخير من وكيل النطاق الهدف إلى وكيل المستخدم وفقًا للسياسات المحلية. يحمي نظام TLS من المهاجمين الذين يحاولون الاستماع إلى وصلة التشوير ولكنه لا يوفر أمانًا نهائيًا لمنع اعتراض التجسس وإنفاذ القانون، نظرًا لأن التشفير لا يتم إلا بالقفز وكل وكيل وسيط يجب الوثوق به .
يمكن أيضًا تحقيق الأمان من طرف إلى طرف باستخدام نفق آمن وبروتوكول IPsec ، ولكن معظم موفري الخدمات الذين يوفرون اتصالات آمنة يستخدمون TLS لتأمين التشوير. [citation needed] تستخدم اتصالات TLS عناوين URI في نموذج sips: user@example.com. قد يتم تشفير دفق الوسائط التي تعتبر اتصالات منفصلة من دفق الإشارة مع بروتوكول النقل الآني في الوقت الفعلي (SRTP). يتم تنفيذ تبادل المفتاح لـ SRTP مع SDES (RFC 4568) ، أو باستخدام ZRTP (RFC 6189). يمكن للمرء أيضًا إضافة تبادل MIKEY (RFC 3830) إلى SIP لتحديد مفاتيح الجلسات للاستخدام مع SRTP.