SIP مخفف عبارت Session Initiation Protocol است که منظور از پروتکل (Protocol) مجموعهای از استاندارهای جهانی ارتباطات کامپیوتری است. جلسه (Session) شامل هر ارتباط آنلاینی مانند تماس تلفنی، کنفرانس و تماس تصویری است و منظور از آغاز (Initiation)، شروع آن ارتباط است.
متداولترین کاربرد SIP در تماسهای تلفنی سازمانها بر بستر VoIP است و کنفرانسهای ویدیویی، پیامرسانها و حتی بازیهای کامپیوتری ممکن است از پروتکل SIP استفاده کنند. SIP میتواند بر روی IPv4 و IPv6 اجرا شود و میتواند از TCP یا UDP استفاده کند. رایجترین پیادهسازیها، از IPv4 و UDP استفاده میکنند که این کار سربار را به حداقل می رساند و در نتیجه سرعت عمل را بالا می برد.
لازم به ذکر است که SIP در لایه کاربرد پروتکلها قرار دارد و فقط یک پروتکل سیگنالینگ است و جزئیات جلسات چندرسانهای را انجام نمیدهد. پروتکل SDP جزئیات رسانهها را کنترل میکند و پروتکل RTP تحویل دادهها را برعهده دارد.
SIP چگونه کار میکند؟
عملکرد SIP با برقراری تماس با یک یا چند نفر شروع میشود و در این پیام، SIP پارامترهایی را برای درخواست تعیین میکند. در دسترس بودن، موقعیت مکانی و قابلیتهای کاربر و همچنین دادههای دیگر نیز قابل مشاهده خواهد بود و پس از دریافت درخواست، طرف یا طرفهای دیگر با قبول یا رد، به آن درخواست پاسخ میدهند. SIP بهصورت peer-to-peer (بین دو کامپیوتر) کار میکند و از پروتکلهای شبکه برای پردازش و مدیریت تماسها استفاده میکند.
SIP به مردم در سراسر جهان اجازه میدهد تا با استفاده از رایانهها و دستگاههای تلفن همراه خود از طریق اینترنت ارتباط برقرار کنند. این بخش مهمی از تلفن اینترنتی است و به شما این امکان را میدهد تا از مزایای VoIP استفاده کنید و یک تجربه ارتباطی عالی داشته باشید. اما جالبترین ویژگی SIP کاهش هزینههای ارتباطات است بهگونهای که مکالمات (صدا یا تصویر) بین کاربران SIP در سراسر جهان رایگان است.
SIP یک پروتکل بسیار انعطاف پذیر بوده که برای تنظیم جلسات چندرسانهای در لحظه بین گروهی از افراد طراحی شده است. به عنوان مثال، علاوه بر تماسهای تلفنی صوتی، میتوانید از SIP برای تنظیم جلسات چندرسانهای ویدیویی و صوتی یا کنفرانسهای پیام رسانی فوری نیز استفاده کنید.
سیستم تلفن معمولا دارای آدرس عددی هستند و با شمارهگیری یکسری عدد، اتصال برقرار میشود. در SIP، ایستگاه پایانی دارای یک نوع آدرس اینترنتی (UIP SIP) است که برای شناسایی آن مقصد به کار میرود. وقتی ما با دستگاه تلفن یک سری اعداد را شمارهگیری میکنیم، وظیفهی دستگاه تلفن است که آن اعداد را به SIP URL تبدیل کند.
پروتکل SIP را چگونه متوان بر روی TCP یا UDP منتقل کرد؟
روتکلهای TCP و UDP هر دو روشهای متفاوتی برای ارسال بستههای داده هستند و هر دو پروتکلهای حملونقل نامیده میشوند که توسط SIP برای ارسال بستهها استفاده میشود.
TCP برای دقت و صحت ارسال طراحی شده است و از سردرگمی به هنگام ارسال داده جلوگیری میکند. برای ارسال بسته بعدی، فرستنده باید پاسخ تأیید را دریافت کند و در صورتیکه طرف گیرنده پاسخی در طی چند ثانیه ارائه ندهد (یا فرستنده پیام خطایی دریافت کند)، ارسالکننده بسته را مجددا ارسالمی کند. این مبادله معمولاً به three-way handshake شناخته میشود.
بستهها در هر زمان بهصورت تکی و پس از دریافت تایید ارسال میشوند. برنامههایی که دقت در آنها دارای اولویت و اهمیت بالا باشد (مانند ایمیل و وب سایتها) به طور معمول از این پروتکل استفاده میکنند.
از طرف دیگر، UDP برای سرعت ساخته شده است. این پروتکل سرعت را به حداکثر میرساند و بستهها را بدون تایید و حتی بدون الویت ارسال میکند.امکان برقراری ارتباط پایدار برای برخی خدمات مانند خدمات صوتی و تصویری مهمتر از ارتباط بدون نقص است.