پروتکلSIP یا Session Initiation Protocol پروتکل تهیه شده توسط گروه MMUSIC کار IETF در نظر گرفته شده است و استانداردی برای شروع، اصلاح و خاتمه دادن به تماس تعاملی کاربران است. به عبارت دیگر، برای کنترل کردن ارتباطات مورد استفاده قرار میگیرد كه این ارتباطات، شامل محتوای چندرسانهای مانند ویدئو ، صدا ، پیام فوری ، بازیهای آنلاین و واقعیت مجازی است. نحوه عملکرد پروتکل SIP، مشابه پروتکلهای HTTP و SMTP است، پروتکلهایی که در خدمات صفحات وب و توزیع ایمیل استفاده میشوند. طراحی SIP به گونهای است که تلفن را به یک سرویس در بستر اینترنت، تبدیل کند. در نوامبر 2000 ، SIP به عنوان پروتکل سیگنالینگ 3GPP پذیرفته شد. SIP یکی از پروتکلهای سیگنالینگ برای صدا از طریق IP یا همان بستر شبکه است، البته پروتکلهایی مانند IAX وIAX2 نیز این قابلیتها را دارند.
طراحی پروتکل SIP
پروتکل SIP توسط IETF با مفهوم “جعبه ابزار” طراحی شده است ، یعنی پروتکل SIP از توابع ارائه شده توسط پروتکل های دیگر استفاده می کند ، که آن را امری طبیعی می داند و دوباره توسعه نمی یابد. با توجه به این مفهوم ، SIP با همکاری بسیاری از پروتکل های دیگر کار می کند. پروتکل SIP در ایجاد ، اصلاح و خاتمه تماس ها متمرکز است ، و توسط SDP که محتوای چندرسانهای جلسه را توصیف میکند، تکمیل میشود. آدرس های IP ، پورت ها و کدک ها هنگام برقراری ارتباط در این پروتکل استفاده میشود .مفهوم مهم دیگر در طراحی SIP توسعهپذیری است. این بدان معناست که توابع اساسی این پروتکل ، توسط RFC های دیگر (درخواست نظرات) قابل تمدید هستند و پروتکل را با عملکردهای قدرتمندتری، ارائه میدهند.
توابع اساسی پروتکل SIP شامل موارد زیر است:
با استفاده از قابلیت تحرک در این پروتکل، مکان کاربران را، تعیین میکند.
تماس های چندجانبه ای و تعاملی را بین کاربران ایجاد ، اصلاح و خاتمه میدهد.
پروتکل SIP مدل مشتری-سرور را ارائه میدهد. مشتری، درخواست را ارائه میکند و سپس سرور، بسته به نوع و روش درخواست، یک یا چند پاسخ ارائه میکند.
به عنوان مثال ، برای شروع یک جلسه یا برقراری یک تماس ، مشتری با استفاده از روش INVITE ، درخواستی را ارائه میدهد که در آن تعیین میکند با کدام کاربر (یا منبع) میخواهد تماس را برقرار کند. سرور، با رد یا قبول آن درخواست، پاسخ خود را ارائه میدهد. پاسخها، دارای یک کد وضعیت هستند که اطلاعاتی را در مورد اینکه، آیا درخواستها با موفقیت حل شدهاند یا خطایی رخ داده است، ارائه میدهند.
سرورها، به طور پیشفرض از پورت 5060 در پروتکل TCP (پروتکل کنترل انتقال) و پروتکل UDP (پروتکل کاربر دیتاگرام) برای دریافت درخواست از کلاینتهای SIP استفاده میکنند.
اگرچه پروتکلهای سیگنالینگ دیگری نیز برای ویپ VoIP وجود دارد ، اما دلیل استقبال از SIP این است که طراحی آن، ریشه در بستر اینترنت دارد. درحالیکه پروتکل V32IP H.323 این گونه نیست.
SIP مشابه HTTP است و برخی از اصول طراحی خود را با آن در میان میگذارد. توسعهدهندگان SIP ادعا میکنند که این پروتکل سادهتر از پروتکل H.323 است. با این حال ، هدف اصلی SIP سادگی بود ، در حالت فعلی به اندازه H.323 پیچیدگیهایی نیز دارد.(از این رو پیشنهاد میکنیم برای استقرار آن، از کارشناسان رایمند ارتباطات کمک بگیرید). بسیاری از کدهای وضعیت HTTP ، مانند “404 یافت نشد” ، در SIP نیز قابل مشاهده است.
SIP محدود به ارتباطات صوتی نیست و میتواند در هر نوع جلسه ارتباطی، از صدا به ویدیو نیز، به عنوان واسطه، فعالیت داشته باشند.
معماری SIP
هدف از SIP ارتباط بین دستگاههای چندرسانهای است. این ارتباط به لطف دو پروتکل RTP / RTCP و SDP امکانپذیر است.
پروتکل RTP، برای انتقال دادههای صوتی در زمان واقعی استفاده میشود. میتوان گفت SIP همان پروتکل H.323 است. با این تفاوت که با توجه به مدل اینترنت طراحی شده است.
اجزای پروتکل SIP
شرایط ایجاد و خاتمه تماس های چندرسانهای (یعنی مکان ، در دسترس بودن ، استفاده از منابع و ویژگیهای مذاکره) از بخشها و ویژگیهای شاخص SIP محسوب میشوند.
برای اجرای این ویژگیها ، چندین مؤلفه مختلف در SIP وجود دارد. دو عنصر اساسی در این زمینه ، عوامل کاربری (UA) و سرورها هستند.
User Agent (UA):
آنها از دو قسمت مختلف User Agent Client (UAC) و User Agent Server (UAS) تشکیل شدهاند UAC یک بخش منطقی است که درخواستهای SIP را تولید میکند و پاسخ آن درخواستها را نیز دریافت میکند. UAS یک بخش منطقی دیگر است که به درخواستهای SIP پاسخ میدهد.
هر دو قسمت، امکان برقراری ارتباط بین عوامل مختلف کاربر، از طریق ارتباطات نوع مشتری-سرور را فراهم میکنند.
2. سرورهای SIP میتوانند سه نوع باشند:
– پروکسی سرور: این قبیل سرورها، درخواستها را ارسال میکنند و تصمیم میگیرند که آنها، به کدام سرور دیگر، هدایت شوند ، این سرور دارای عملکردی مشابه با پروکسی HTTP است که وظیفه مسیریابی درخواستهایی که از بخشهای دیگر دریافت میکند را ، دارد.
سرورهای پروکسی در دو نوع وجود دارد: پروکسی Statefull و پروکسی بدون حالت.
Statefull Proxy: وظیفه این سرورهای پروکسی به طور خلاصه حفظ وضعیت تبادل بستههای اطلاعاتی در هنگام پردازش درخواستها است. این سرورها تقاضا را به چندین مورد تقسیم میکنند. هدف از این کار، یافتن موازی تماس و به دست آوردن بهترین پاسخ برای ارسال آن به کاربری که تماس گرفته است، میباشد.
پروکسی بیحالت: این سرورهای پروکسی، در هنگام پردازش درخواستها وضعیت معاملات را حفظ نمیکنند ، فقط پیامها را ارسال میکنند.
– Registrar Server: سروری است که درخواستهای ثبتنام از کاربران را میپذیرد و اطلاعات این درخواستها را ذخیره میکند تا خدمات ترجمه، مکان و آدرس را -در دامنهای که کنترل میکند- ارائه دهد.
– Redirect Server: این سرور درخواستها را به سمت سرور بعدی هدایت میکند.
پیامهای SIP
SIP یک پروتکل متنی است که از روشهای مشابه پروتکل HTTP استفاده میکند UAC ها درخواستها را انجام میدهند و UAS پاسخهای درخواست مشتری را برمیگرداند SIP ارتباطات را از طریق دو نوع پیام تعریف میکند. درخواستها (روشها) و پاسخها (کدهای وضعیت) که هر دو از قالب پیام عمومی ایجادشده در RFC 2822 استفاده میکنند. این پیام، شامل یک خط اولیه است و به دنبال آن یک یا چند قسمت هدر ، یک خط خالی- که انتهای سر صفحهها را نشان میدهد- و در نهایت ، متن پیام (که اختیاری است)، میآید.
روش SIP
درخواستها با خط اولیه پیام به نام Request-Line مشخص میشود كه شامل نام روش ، شناسه گیرنده درخواست (Request-URI) و نسخه پروتكل SIP است. شش روش اساسی SIP تعریفشده در RFC 254 وجود دارد که درخواست مشتری را توصیف میکند:
– INVITE: این امکان را به شما میدهد تا کاربر یا سرویس را به شرکت در یک جلسه، یا تغییر پارامترها در یک جلسه موجود، دعوت کنید.
– ACK: تأسیس جلسه را تأیید میکند.
– OPTION: اطلاعات مربوط به قابلیتهای یک سرور را درخواست میکند.
– BYE: خاتمه جلسه را نشان میدهد.
CANCEL: درخواست معلق را لغو کنید.
– REGISTER: نماینده کاربری را ثبت کنید.
– پاسخهای SIP کدهای وضعیت).
پس از دریافت و تفسیر پیام درخواست SIP ، گیرنده همان پیام را پاسخ میدهد. این پیام در خط ابتدایی ، به نام Status-Line ، که شامل نسخه SIP ، کد پاسخ (Status – Code) و یک توضیح کوتاه (Reason-Phrase) است ،. کد پاسخ از سه رقم تشکیل شده است که اولین رقم کلاس پاسخ را مشخص میکند.
پیامهای خطای SIP
کد کلاس
1xx – پیامهای موقت.
2xx – پاسخهای موفقیت.
3xx – پاسخها را مجدداً هدایت کنید.
4xx – پاسخهای شکست روش.
5xx – پاسخ خطای سرور.
6xx – پاسخ خطای جهانی.
این خطاها با پیامهای خطای Q.931 یا DSS1 مطابقت .
سربرگ SIP یا هدر
از سربرگها برای انتقال اطلاعات لازم به بخشهای SIP استفاده میشود. زمینههای این انتقال به شرح زیر است:
– Via: حملونقل مورد استفاده برای ارسال را نشان میدهد و مسیر درخواست را مشخص میکند ، بنابراین هر پروکسی یک خط به این قسمت اضافه میکند.
– From: آدرس مبدأ درخواست را نشان میدهد.
– To: آدرس گیرنده درخواست را نشان میدهد.
– Call-Id: شناسه منحصربهفرد برای هر تماس است و حاوی آدرس میزبان است. این برای همه پیامهای موجود در یک تراکنش، باید یکسان باشد.
– Cseq: با یک عدد تصادفی شروع میشود و هر درخواست را به ترتیب مشخص میکند.
– Contact: حاوی یک (یا چند) آدرس است که میتواند برای تماس با کاربر استفاده شود.
– User Agent: شامل مشتری عامل (نماینده کاربر) است که ارتباطات را انجام میدهد.
آدرسدهی SIP
یکی از عملکردهای سرورهای SIP ، محل کاربری و وضوح نام کاربر است. به طور معمول ، نماینده کاربر، آدرس IP گیرنده تماس را نمیداند ، اما ایمیل او را میداند.
نهادهای SIP با استفاده از URI های SIP (شناسههای منبع یکنواخت) تعریفشده در RFC 2396 ، یک کاربر را شناسایی میکنند. SIP URI قالبی شبیه فرم نامه الکترونیکی دارد و از یک کاربر و یک دامنه تعریفشده توسط @ تشکیل شده است .
راه حل شناسایی SIP همچنین میتواند مبتنی بر DNS توصیفشده در RFC 3263 باشد.
SDP – SIP
پروتکل SDP (Session Description Protocol) RFC 2327 برای توصیف جلسات چند پخشی استفاده میشود و برای دعوتها و اطلاعیهها مفید است.
پیشنهاد اصلی SDP به منظور اعلام اطلاعات لازم برای شرکتکنندگان و برنامههای کاربردی MBIC چند پخشی (Multicast Backbone) طراحی شده است. در حال حاضر ، استفاده از آن برای تبلیغات و مذاکره درباره قابلیتهای یک جلسه چندرسانهای در اینترنت متداول شده است.
از آنجا که SDP یک پروتکل توصیف است ، پیامهای SDP با استفاده از پروتکلهای مختلف با SIP ، SAP ، RTSP ، ایمیل با برنامههای MIME یا پروتکلهایی مانند HTTP قابل انتقال هستند. SDP نیز مانند SIP از رمزگذاری متن استفاده میکند. یک پیام SDP از یک سری خط تشکیل شده است که فیلد نامیده میشوند. ،
. SDP به گونهای طراحی نشده است که به راحتی قابلگسترش باشد
کارشناسان رایمند ارتباطات، آماده ارائه هر گونه خدمات و مشاوره در زمینه راه اندازی سیپ ترانک هستند.
یک دیدگاه