تار و پود شبکه را از ما بخواهید

پروتکل SIP چیست؟ + راهنمای کامل Session Initiation Protocol

فهرست مطالب

تصویر مفهومی پروتکل SIP و ارتباط VoIP بین تلفن تحت شبکه، سرور و نرم افزار تماس اینترنتی

وقتی با نرم ‌افزارهایی مثل Zoiper یا MicroSIP تماس می‌گیرید، در فرایند فنی برقراری ارتباط فقط یک کلیک ساده اتفاق نمی‌افتد و یک پروتکل ارتباطی مسیر شروع، مدیریت و پایان تماس را کنترل می‌کند. برای راه ‌اندازی VoIP، تنظیم یک Softphone یا انتخاب IP Phone، لازم است بدانید پروتکل SIP چیست و در شکل‌ گیری یک تماس واقعی چه نقشی دارد. در ادامه، بررسی می‌کنیم SIP چطور کار می‌کند، حساب SIP و سرور SIP چه نقشی دارد و از نظر امنیت و مقایسه با H.323 و WebRTC چه نکاتی باید بدانید.

SIP مخفف چیست؟

SIP  مخفف Session Initiation Protocol است و به پروتکلی گفته می‌شود که شروع، مدیریت و پایان یک ارتباط را کنترل می‌کند. وقتی می‌پرسید Sip مخفف چیست، بهتر است به واژه Session هم دقت کنید، چون این واژه به یک نشست ارتباطی مثل تماس صوتی، تماس ویدیویی یا حتی چت اشاره دارد.

نقش پروتکل سیپ این نیست که خودش صدا یا تصویر را منتقل کند، بلکه کمک می‌کند دو یا چند طرف ارتباط، نشست را آغاز کنند، وضعیت آن را هماهنگ نگه دارند و در پایان تماس، ارتباط را درست ببندند. حالا که معنی نام SIP را شناختید، در قدم بعدی بهتر است ببینیم این پروتکل در یک تماس واقعی چطور کار می‌کند.

پروتکل SIP چیست و چطور کار میکند؟

پروتکل SIP یک پروتکل کنترلی در لایه اپلیکیشن است که به دستگاه‌ ها، نرم ‌افزارها و سرورها کمک می‌کند یک نشست ارتباطی را بین چند طرف هماهنگ کنند. این پروتکل متن‌ محور است و پیامهای آن به دلیل ساختار خوانا و قابل بررسی، از این نظر تا حدی به HTTP شباهت دارند.

نکته مهم این است که SIP خودش صدای شما یا تصویر تماس ویدیویی را حمل نمی‌کند، بلکه مسیر شروع تماس، هماهنگی وضعیت ارتباط و پایان دادن به آن را مدیریت می‌کند. برای اینکه موضوع روشن ‌تر شود، بهتر است عملکرد SIP را در قالب یک تماس واقعی بررسی کنیم.

1. چرخه یک تماس  SIP

فرض کنید علی می‌خواهد با رضا تماس بگیرد. در این سناریو، نرم‌ افزار یا تلفن تحت شبکه علی ابتدا یک پیام INVITE  ارسال می‌کند. این پیام یعنی علی درخواست شروع تماس را به سمت رضا فرستاده است. در ادامه، سرور یا مقصد با پاسخ 100 Trying اعلام می‌کند که درخواست دریافت شده و سیستم در حال بررسی مسیر تماس است.

بعد از این مرحله، اگر دستگاه رضا در دسترس باشد و زنگ بخورد، پاسخ 180 Ringing برمی‌گردد. این همان وضعیتی است که شما در سمت تماس‌ گیرنده صدای بوق یا زنگ را می‌شنوید. وقتی رضا تماس را پاسخ می‌دهد، پیام 200 OK ارسال می‌شود و نشان می‌دهد طرف مقابل تماس را پذیرفته است. سپس دستگاه علی با پیام ACK این پذیرش را تایید می‌کند و تماس وارد مرحله مکالمه می‌شود.

در طول مکالمه، SIP بیشتر نقش کنترل و هماهنگی را دارد و انتقال واقعی صدا توسط پروتکل های رسانه‌ای مانند RTP انجام می‌شود. وقتی یکی از طرفین تماس را قطع کند، پیام BYE ارسال می‌شود تا نشست ارتباطی به شکل درست پایان پیدا کند. با این ترتیب، می‌بینید که SIP مثل یک هماهنگ‌کننده عمل می‌کند و از شروع تا پایان تماس، وضعیت ارتباط را قابل پیگیری نگه می‌دارد. حالا برای اینکه این مسیر را منظم‌ تر ببینید، بهتر است پیامهای اصلی SIP را در یک جدول خلاصه مرور کنیم.

دیاگرام جریان تماس SIP بین تماس گیرنده، سرور SIP و دریافت کننده تماس با نمایش پیام‌ های INVITE، 100Trying، 180Ringing، 200 OK، ACK  و  BYE

همچنین بخوانید: کاربرد پروتکل SNMP چیست؟

2. پیامهای SIP

پیامهای SIP را می‌توانید مثل زبان مشترک اجزای یک تماس در نظر بگیرید. هر پیام یا یک درخواست را شروع می‌کند یا وضعیت همان درخواست را به طرف مقابل برمی‌گرداند. جدول زیر کمک می‌کند نقش پیام‌های اصلی را سریع ‌تر و دقیق ‌تر تشخیص دهید.

نوع پیام پیام کاربرد ساده
Request INVITE شروع درخواست تماس یا نشست ارتباطی
Request ACK تایید دریافت پاسخ نهایی برای برقراری تماس
Request BYE پایان دادن به تماس یا نشست فعال
Request CANCEL لغو درخواست تماس قبل از پاسخ نهایی
Request REGISTER ثبت آدرس کاربر روی سرور SIP
Request OPTIONS بررسی قابلیت‌ها و وضعیت طرف مقابل
Response 100 Trying درخواست دریافت شده و در حال پردازش است
Response 180 Ringing دستگاه مقصد در حال زنگ خوردن است
Response 200 OK درخواست با موفقیت انجام شده است
Response 404 Not Found کاربر یا مقصد مورد نظر پیدا نشده است
Response 486 Busy Here مقصد مشغول است و امکان پاسخ‌گویی ندارد
Response 503 Service Unavailable سرویس در دسترس نیست یا به صورت موقت پاسخ نمی‌دهد

این پیامها کمک می‌کنند مسیر تماس قابل فهم و قابل عیب ‌یابی شود. وقتی در یک سیستم VoIP مشکلی مثل زنگ نخوردن مقصد، اشغال بودن خط یا برقرار نشدن تماس رخ می‌دهد، بررسی همین پیامها نشان می‌دهد مشکل در کدام مرحله اتفاق افتاده است.

سرور SIP چیست؟

در یک ارتباط SIP، فقط دو کاربر یا دو دستگاه با هم درگیر نیستند. برای اینکه تماس درست پیدا شود، پیام‌ها به مقصد برسند و کاربر روی شبکه قابل شناسایی باشد، یک یا چند سرور SIP در مسیر قرار می‌گیرند. اگر در تنظیمات VoIP، Softphone  یا IP Phone با عبارت سرور sip روبرو شدید، منظور همان بخشی است که ثبت کاربر، مسیریابی پیامها و هدایت ارتباط را مدیریت می‌کند. شناخت این نقشها به شما کمک می‌کند هنگام راه‌ اندازی یا عیب ‌یابی سیستم تلفنی، دقیق ‌تر بفهمید مشکل از ثبت حساب است، از مسیر تماس است یا از دسترسی به مقصد.

همچنین بخوانید: IP Phone چیست؟

انواع سرورهای SIP

SIP Proxy Server را می‌توان واسط اصلی بین کلاینت‌ های SIP دانست. این سرور پیامهایی مثل INVITE را از سمت تماس‌ گیرنده دریافت می‌کند و آنها را به مسیر مناسب می‌فرستد تا درخواست تماس به مقصد نزدیک ‌تر شود.

SIP Registrar Server وظیفه ثبت اطلاعات کاربران را بر عهده دارد. وقتی کاربر با حساب SIP خود وارد شبکه می‌شود، دستگاه یا نرم ‌افزار او یک درخواست REGISTER ارسال می‌کند تا آدرس فعلی کاربر، یعنی محل دسترسی دستگاه یا نرم ‌افزار او در شبکه، روی سرور ثبت شود و در تماسهای بعدی قابل پیدا کردن باشد.

SIP Redirect Server نقش متفاوتی دارد. این سرور پیام را مثل Proxy از طرف کاربر عبور نمی‌دهد، بلکه به فرستنده اعلام می‌کند برای رسیدن به مقصد باید از چه آدرس یا مسیر دیگری استفاده کند.

در اینجا بهتر است SIP Proxy Server را با STUN Server اشتباه نگیرید. SIP Proxy Server یکی از نقشهای رایج در معماری SIP است و در مسیر پیامهای SIP نقش دارد، اما STUN برای کمک به تشخیص آدرس عمومی و عبور از محدودیتهای NAT استفاده می‌شود و خودش سرور SIP محسوب نمی‌شود.

دیاگرام معماری سرور SIP با نمایش نقش Registrar Server و Proxy Server در ثبت کاربران و مسیریابی پیام ‌های تماس

حالا که نقش سرور روشن شد، قدم بعدی این است که ببینیم کاربر با چه شناسه ‌ای روی این سرور ثبت می‌شود و حساب SIP دقیقا چه معنایی دارد.

حساب SIP چیست؟

این حساب شناسه ‌ای است که کاربر را در شبکه SIP قابل شناسایی می‌کند. اگر بخواهیم ساده‌ تر نگاه کنیم، این حساب شبیه یک آدرس ایمیل است، با ساختاری مثل username@domain که نشان می‌دهد کاربر با چه نامی و روی کدام دامنه یا سرور شناخته می‌شود. وقتی می‌پرسید حساب sip چیست، پاسخ کوتاه این است که بدون این حساب، دستگاه یا نرم ‌افزار شما نمی‌تواند خودش را به شبکه SIP معرفی کند و برای دریافت یا برقراری تماس آماده شود.

این حساب روی یک سرویس‌ دهنده VoIP یا مرکز تلفن PBX تعریف می‌شود و کاربر با آن در شبکه Register  می‌شود. برای مثال، وقتی در نرم ‌افزاری مثل Zoiper اطلاعاتی مثل Username، Password  و Server را وارد می‌کنید، در واقع دارید تنظیمات حساب SIP را به نرم ‌افزار می‌دهید تا بتواند به سرور وصل شود. بعد از شناخت حساب SIP، نوبت این است که ببینیم این ارتباط از چه پورتها و پروتکل های انتقالی عبور می‌کند.

همچنین بخوانید: تفاوت رنگبندی کابل فیبر نوری

SIP  روی چه پورت و پروتکل انتقالی کار میکند؟

وقتی تنظیمات یک Softphone، تلفن تحت شبکه یا سرور VoIP را بررسی می‌کنید، شناخت پورتهای SIP  کمک می‌کند تنظیمات شبکه و فایروال را دقیق ‌تر بررسی کنید. پروتکل SIP برای جابجایی پیامهای کنترلی تماس از UDP، TCP  و TLS استفاده می‌کند. انتخاب این پروتکلها به نوع پیاده‌ سازی، نیاز شبکه و سطح امنیت مورد انتظار بستگی دارد. نکته مهم این است که SIP مسیر پیامهای تماس را مدیریت می‌کند و انتقال خود صدا یا تصویر بر عهده پروتکل ‌های رسانه ‌ای مثل RTP است.

پورت پروتکل انتقال توضیح
5060 UDP استفاده پیش ‌فرض و رایج ‌ترین در بسیاری از پیاده ‌سازی های SIP
5060 TCP مناسب زمانی که اتصال قابل اطمینان ‌تر نیاز است
5061 TLS نسخه رمزنگاری‌ شده و مناسب ارتباط امن ‌تر

پس اگر در تنظیمات شبکه یا فایروال با این پورتها روبه‌رو شدید، بهتر است بدانید هرکدام چه نقشی در عبور پیامهای SIP دارند. حالا که مسیر انتقال پیامهای SIP را شناختید، بهتر است جایگاه آن را در مقایسه با H.323  و WebRTC دقیق ‌تر بررسی کنیم.

SIP  در مقابل H.323 و WebRTC

SIP  تنها راهکار برای مدیریت ارتباطات بلادرنگ نیست. وقتی می‌خواهید یک سیستم تلفنی، ویدیوکنفرانس یا سرویس ارتباطی آنلاین را بررسی کنید، شناخت تفاوت SIP با H.323 و WebRTC کمک می‌کند انتخاب دقیق ‌تری داشته باشید. هرکدام از این گزینه‌ ها برای نوع خاصی از ارتباط طراحی شده‌اند و تفاوت اصلی آنها در ساختار، کاربرد و مدل معماری است.

معیار مقایسه SIP H.323 WebRTC
نوع ساختار متن ‌محور و ساده‌ تر باینری و پیچیده‌ تر مبتنی بر مرورگر
کاربرد رایج IP Phone، Softphone و PBX زیرساخت‌ های ویدیوکنفرانس قدیمی ‌تر و سازمانی ارتباط صوتی، تصویری و داده ‌ای در Chrome و  Firefox
معماری مرکزی یا توزیع‌ شده بیشتر مرکزی در مسیر رسانه می‌تواند ارتباط مستقیم یا P2P داشته باشد
نقطه قوت اصلی انعطاف بالا در VoIP و تلفن تحت شبکه سازگاری با برخی زیرساخت ‌های قدیمی ‌تر اجرای ارتباط بلادرنگ داخل مرورگر، بدون نیاز به نصب نرم ‌افزار جداگانه

اگر بخواهیم ساده جمع‌ بندی کنیم،SIP  برای سیستم های VoIP، تلفن ‌های تحت شبکه و مرکز تلفن ‌ها انتخاب رایج ‌تری است. H.323 هنوز در برخی زیرساختهای ویدیوکنفرانس قدیمی ‌تر و سازمانی دیده می‌شود، اما در بسیاری از پیاده ‌سازی ‌های جدید، SIP  یا راهکارهای مبتنی بر مرورگر بیشتر مورد توجه قرار می‌گیرند. WebRTC  هم زمانی جذاب‌تر است که ارتباط مستقیم در مرورگر اهمیت داشته باشد. پس انتخاب بین این گزینه ‌ها به نوع پروژه، تجهیزات موجود، نیاز به مرورگر و سطح پیچیدگی قابل قبول بستگی دارد.

بعد از این مقایسه، بهتر است ببینیم SIP را در چه ابزارها و سرویسهایی بیشتر می‌بینید و چرا هنوز در بسیاری از سیستمهای ارتباطی کاربرد دارد.

کاربردهای SIP در ابزارهای روزمره

SIP  فقط یک مفهوم فنی روی کاغذ نیست و در بسیاری از ابزارهای تماس اینترنتی، تلفن تحت شبکه و سیستمهای ارتباطی سازمانی نقش عملی دارد. پروتکل سیپ در ظاهر برای کاربر نهایی دیده نمی‌شود، اما در پشت صحنه بسیاری از تنظیمات VoIP و تلفن‌ های تحت شبکه نقش دارد. هرجا با VoIP، مرکز تلفن، IP Phone  یا نرم ‌افزار Softphone سروکار دارید، ممکن است SIP بخشی از مسیر راه ‌اندازی، کنترل یا مدیریت تماس را بر عهده داشته باشد. برای اینکه موضوع ملموس ‌تر شود، بهتر است چند نمونه رایج را کنار هم ببینیم.

در سیستمهای PBX سازمانی مثل Asterisk، 3CX  و FreePBX،SIP  برای مدیریت تماسهای داخلی، اتصال داخلی ‌ها و ارتباط با خطوط VoIP استفاده می‌شود. در نرم ‌افزارهای Softphone مثل Zoiper، Linphone  و MicroSIP، شما با وارد کردن اطلاعات حساب SIP می‌توانید از طریق کامپیوتر یا موبایل تماس اینترنتی برقرار کنید. در بسیاری از سرویسها و زیرساختهای VoIP نیز SIP به عنوان یکی از پروتکل های مهم برای راه ‌اندازی، کنترل یا اتصال تماسها به کار می‌رود، هرچند کاربر نهایی همیشه نام آن را در ظاهر سرویس نمی‌بیند.

در ابزارهایی مثل Zoom یا WhatsApp هم تماس اینترنتی بر پایه سیگنالینگ و انتقال رسانه انجام می‌شود، اما این سرویسها لزوما تنظیمات SIP را مستقیم در اختیار کاربر قرار نمی‌دهند. دستگاه ‌های IP Phone  فیزیکی مثل Yealink و Grandstream هم با تنظیمات SIP به سرور VoIP یا مرکز تلفن متصل می‌شوند و در نقش تلفن سازمانی تحت شبکه کار می‌کنند.

اگر برای راه‌اندازی VoIP یا ارتقای مرکز تلفن به دنبال تلفن تحت شبکه مناسب هستید، می‌توانید مدل‌های موجود را در دسته‌ بندی خرید تلفن تحت شبکه (IP Phone) بررسی کنید و بر اساس تعداد اکانت SIP، پشتیبانی از PoE و نوع کاربری، گزینه مناسب کسب‌وکار خود را انتخاب کنید.

تلفن تحت شبکه روی میز کار اداری به عنوان نمونه ‌ای از کاربرد SIP در سیستم ‌های VoIP و مرکز تلفن سازمانی

وقتی SIP در این ابزارها وارد مسیر تماس می‌شود، امنیت پیامهای ارتباطی، ثبت حساب و محافظت از مکالمه هم اهمیت بیشتری پیدا می‌کند. در بخش بعدی همین موضوع را دقیق ‌تر بررسی می‌کنیم.

امنیت در پروتکل SIP

SIP  در حالت پایه، به‌ خودی ‌خود رمزنگاری ‌شده نیست و همین موضوع در شبکه ‌های سازمانی یا ارتباطات حساس باید جدی گرفته شود. اگر پیامهای کنترلی SIP بدون لایه امنیتی مناسب جابجا شوند، اطلاعات مربوط به شروع تماس، ثبت کاربر یا مسیر ارتباط می‌تواند بیشتر در معرض شنود، سوءاستفاده یا اختلال قرار بگیرد. البته این به معنی ناامن بودن همیشگی SIP نیست، بلکه یعنی باید آن را با تنظیمات امنیتی درست به کار برد.

برای امن ‌تر کردن پیامهای SIP، از SIP over TLS یا SIPS استفاده می‌شود تا مسیر سیگنالینگ محافظت شود. از طرف دیگر، چون SIP خودش صدای تماس را منتقل نمی‌کند، برای رمزنگاری رسانه و صدای مکالمه معمولا از SRTP کمک می‌گیرند. در کنار این موارد، باید به حملاتی مثل SIP Flooding هم توجه داشت، چون ارسال حجم زیادی از درخواستهای SIP می‌تواند باعث اختلال در سرویس شود. با شناخت این نکات، حالا می‌توانیم تصویر کامل ‌تری از نقش SIP در ارتباطات اینترنتی داشته باشیم.

سخن آخر

حالا اگر دوباره بپرسید پروتکل SIP چیست، پاسخ فقط یک تعریف کوتاه نیست، بلکه باید آن را یکی از پایه ‌های اصلی ارتباطات صوتی و تصویری بر بستر IP بدانید. SIP شروع، مدیریت و پایان نشست‌ های ارتباطی را هماهنگ می‌کند و در کنار سرور SIP، حسابSIP، پورتهای ارتباطی و لایه‌ های امنیتی معنا پیدا می‌کند. اگر با VoIP، تلفن تحت شبکه،Softphone  یا مرکز تلفن سازمانی کار می‌کنید، شناخت SIP به شما کمک می‌کند انتخاب، پیکربندی و عیب ‌یابی دقیق‌ تری داشته باشید. با این نگاه،SIP  دیگر یک اصطلاح فنی دور از ذهن نیست، بلکه بخشی کاربردی از مسیر واقعی برقراری تماسهای اینترنتی است.

سوالات متداول در مورد SIP

1. SIP مخفف چه کلمه‌ای است؟

SIP  مخفف Session Initiation Protocol است. این پروتکل برای شروع، مدیریت و پایان دادن به نشست ‌های ارتباطی مثل تماس صوتی، تماس ویدیویی یا چت استفاده می‌شود.

2. حساب SIP چیست؟

حساب SIP یک شناسه یکتا مثل username@domain است که کاربر را روی شبکه SIP مشخص می‌کند. این حساب روی سرویس ‌دهنده VoIP یا PBX تعریف می‌شود و برای ثبت کاربر در شبکه به کار می‌رود.

3. سرور SIP چه کاری انجام می ‌دهد؟

سرور SIP وظیفه ثبت کاربران، مسیریابی پیامها و هدایت ارتباط بین کلاینت ‌های SIP را بر عهده دارد. این سرور کمک می‌کند تماس به مقصد درست برسد و کاربر در شبکه قابل شناسایی باشد.

4. پورت پیش‌فرض SIP چند است؟

پورت پیش ‌فرض SIP روی UDP و TCP برابر 5060 است. نسخه امن‌ تر و رمزنگاری‌ شده SIP که از TLS استفاده می‌کند، معمولا روی پورت 5061 اجرا می‌شود.

5. آیا SIP امن است؟

SIP  در حالت پایه به ‌خودی ‌خود رمزنگاری ندارد. برای امنیت بیشتر، از SIP over TLS یا SIPS برای پیامهای کنترلی و از SRTP برای رمزنگاری صدای تماس استفاده می‌شود.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *