پروتکل سیپ چیست و نحوه کارکرد SIP Protocol
پروتکل های ویپ که با SIP کار میکنند را بشناسید
در این مقاله ما قصد داریم در باره پروتکل سیپ توضیحات کامل ارائه کنیم و پایان این مقاله شما به هر آن چیزی که نیاز دارید درباره سیپ بدانید آگاه باشید.
زمانی که در مورد ویپ حرف میزنیم ، برجسته ترین و کاربردی ترین پروتکل ، پروتکل شروع جلسه یا همان SIP می باشد . اما پروتکل SIP به تنهایی عمل نمی کند . تعداد زیاد دیگری پروتکل در ارتباط با تلفن ip وجود دارد که در کنار sip یا حتی در جای آن کار می کنند . آشنایی با این پروتکل ها برای مهندسین مخابرات امری بسیار مهم و ضروریست که بدانند این پروتکل ها چه کارهایی انجام می دهند و چگونه می توانند از این پروتکل ها در ارتباطات شبکه ایی بهره ببرند.
SIP مخفف عبارت Session Initiation Protocol است که منظور از پروتکل (Protocol) مجموعهای از استاندارهای جهانی ارتباطات کامپیوتری است. جلسه (Session) شامل هر ارتباط آنلاینی مانند تماس تلفنی، کنفرانس و تماس تصویری است و منظور از آغاز (Initiation)، شروع آن ارتباط است.
نگاهی کلی به پروتکل سیپ SIP
بمنظور فهمیدن اینکه ، این پروتکل کجا کار میکند بیایید مروری بر SIP و نحوه کار آن کنیم.
SIP پروتکلی است که برای صدا و تصویر endpoint ها بمنظور راه اندازی تماس ، سیگنالینگ و تماس برای ارتباطات نشست (session) مورد استفاده قرار می گیرد . یک endpoint ویپ می تواند شامل تلفن های تحت شبکه (ipphone) ، تلفن نرم افزار (softphone) ، یک ترمینال ویدئو کنفرانس ، یا حتی یک کنسول بازی – اساسا هر دستگاهی که قادر به برقراری ارتباطات صوتی و یا تصویری است .
به endpoint ها نقاط پایانی هم گفته می شود که همه در یک سرور SIP ، که به عنوان IP PBX نیز شناخته می شود ، ثبت (رجیستر) می شوند که برای هماهنگی ویژگی های پیشرفته مانند call transfer ، call hold ، music on hold و دیگر ویژگی های سنتی و پیشرفته ، استفاده می شود .
برای فعال کردن خدمات حتی تخصصی تر ، مانند call routing، صف تماس ، کنفرانس های صوتی و تصویری چند جانبه ،
پاسخ صوتی تعاملی (interactive voice response (ivr))، ارتباط با وب سرویس ها ، و به هم پیوستگی و ارتباط متقابل با خطوط شهری سنتی PSTN ، سرورها و دستگاه های دیگری را می توان به شبکه ویپ (voip) اضافه کرد .
یادتان باشد که SIP خود به تنهایی صدا و تصویر را منتقل نمی کند . درعوض ، آن را با چندین پروتکل دیگر که session media را حمل می کنند ، کار می کند. بیایید با جزئیات بیشتری به این موارد بپردازیم.
پروتکل های همراهی که مرتبط با sip کار میکنند
نموداری که در زیر مشاهده می کنید ، پروتکل های مختلفی را نشان می دهد که در رابطه با sip در انواع مکالمه تلفنی ویپ مورد استفاده قرار می گیرد . اين پروتكل ها به لايه هاي مربوطه ( متناظرشان) در قالب مدل OSI نگاشت می شوند .
در واقع ، مدل OSI هیچ تعریف رسمی برای SIP یا پروتکل های همراهی که ما در اینجا بررسی می کنیم (SIP ، SDP ، RTP و RTCP ) ندارد ، بنابراین آنها در واقع در مدل OSI جای نمی گیرند. اما از آنجا که مدل OSI بسیار کاربردی و گسترده است ، ما می توانیم آنها را در بالای لایه Transport قرار دهیم . این بدین معناست که SIP ، با پروتکل هایی که در لایه پایین تر کار میکند ، ارتباط مستقیمی دارد . بنابراین آن می تواند با هر یک از پروتکل های لایه Transport کار کند . پروتکل UDP معمولا بکار گرفته می شود ، هر چند اگر پیام های SIP از ارتباط امن TLS استفاده می کند ، سپس از TCP برای سیگنالینگ SIP بهره می برد .
Session Description Protocol – SDP : در حالی که sip در Endpointهای ویپ جهت تغییر اطلاعات سیگنالینگ مورداستفاده قرار می گیرد ، SDP بمنظور تعریف جلسات (sessions) چندرسانه ایی بکارگرفته می شود . بطور مشخص ، SDP بر روی نقاط پایانی بمنظور انتقال نوع رسانه ، فرمت و همه خصوصیات مرتبط آن ، فعال می باشند .
SDP رسانه خود را حمل نمی کند و از طریق پروتکل لایه Transport ارسال نمی شود . در عوض ، آن را بعنوان بارگذاری پیام های sip خودشان شامل می شود .
Real-time Transport Protocol (RTP) : RTP استریم مدیا یا همان جریان رسانه ایی واقعی را خواه صدا، ویدیو یا هر دو را حمل می کند. در حالی که سیپ SIP اتصال به شبکه را فراهم می کند ، RTP بسته های صوتی واقعی را از طریق اتصالات ارائه شده انتقال می دهد. بخاطر داشته باشید برخلاف SDP ، که یک Payload از SIP است ، جلسات RTP بطور مستقل و همزمان با جلسات SIP اجرا می شوند و از طریق آن جلسات SIP و SDP کنترل می شوند. RTP به طور معمول بیش از UDP را اجرا می کند و کاربرد دارد و همیشه در رابطه با RTCP عملکرد دارد.
RTP Control Protocol (RTCP) : RTCP اغلب بعنوان خواهر پروتکل RTP اشاره می شود . RTCP آمارهای خارج از باند و اطلاعات کنترلی برای جلسات RTP را جمع آوری و فراهم می کند . خارج از باند یا همان Out of band فقط به این معناست که out of band نسبت به مدیااستریم (جریان رسانه) RTP تبادل اطلاعات یک جلسه جداگانه و موازی رخ می دهد . از اهداف پروتکل RTCP می توان به ارائه بازخورد کیفیت سرویس (QOS) اشاره کرد که شامل آماری از شمارش پکت ها ، بسته های از دست رفته ، Jitter و زمان تاخیر رفت و برگشت . این اطلاعات بین نقاط پایانی (endpoint) به اشتراک گذاشته می شود که می توان به تغییرات بوسیله محدود کردن پکت فالوها (جریان بسته ها) یا از طریق تغییر کدک فعال دیگری ، واکنش نشان داد . بعضی از مدل های تلفن تحت شبکه می توانند آمار شبکه را از طریق مرورگر وبی که در خود تلفن تعبیه شده است یا از طریق صفحه LCD تلفن نمایش دهند . اطلاعاتی مانند کدک ، jitter ، بسته های دریافتی و بسته های از دست رفته را ردیابی کرد . این داده ها با استفاده از پروتکل RTCP جمع آوری می شود . RTCP همانند بسیاری از پروتکل های دیگر VOIP با UDP بعنوان پروتکل لایه Transport همکاری می کند .
Transmission Control Protocol/User Datagram Protocol – TCP/UDP :
مگر اینکه صریحاً آنها را پیکربندی کنید ، همه این پروتکل های همراه از UDP به عنوان پروتکل اساسی لایه حمل و نقل استفاده می کنند. UDP نسبت به TCP overhead , کمتری دارد چون هیچ کنترل جریان (Flow control) ، شناسایی و اصلاح خطاها یا مکانیسم سفارش بسته وجود ندارد و بدین ترتیب برای حمل مدیا (رسانه) مناسب است .
جریان و ارسال مداوم داده بسیار مهمتر از سفارش درست بسته ها یا ورود کامل بسته ها است (تمام بسته فریم به فریم و کامل از مبدا به مقصد برسد)، زیرا صدا و فیلم تا حد معینی از چنین بی نظمی هایی میتوان چشم پوشی کرد .نیمی از هجا و صدا های از دست رفته یا یک پیکسل نادرست در یک فریم واحد هیچ نتیجه ای در مکالمه صوتی یا تصویری ندارد. به همین دلیل ، اگر از TCP استفاده شود ، برای پروتکل های سیگنالینگ و فقط به ندرت برای پروتکل های دارای رسانه مانند RTP است. در عوض ، رسانه ها حتی در هنگام استفاده از TCP برای حمل بسته های سیگنالینگ ، به UDP منتقل می شوند.
در زیر شما تصویری را مشاهده میکنید که این پروتکل ها را در چارچوب یک تماس صوتی ویپ voip بین دو endpoint نمایش می دهد :
پروتکل SIP چگونه TCP یا UDP را بهکار میبرد؟
پروتکلهای TCP و UDP هر دو روشهای متفاوتی برای ارسال بستههای داده هستند و هر دو پروتکلهای حملونقل نامیده میشوند که توسط SIP برای ارسال بستهها استفاده میشود.
TCP برای دقت و صحت ارسال طراحی شده است و از سردرگمی به هنگام ارسال داده جلوگیری میکند. برای ارسال بسته بعدی، فرستنده باید پاسخ تأیید را دریافت کند و در صورتیکه طرف گیرنده پاسخی در طی چند ثانیه ارائه ندهد (یا فرستنده پیام خطایی دریافت کند)، ارسالکننده بسته را مجددا ارسالمی کند. این مبادله معمولاً به three-way handshake شناخته میشود.
بستهها در هر زمان بهصورت تکی و پس از دریافت تایید ارسال میشوند. برنامههایی که دقت در آنها دارای اولویت و اهمیت بالا باشد (مانند ایمیل و وب سایتها) به طور معمول از این پروتکل استفاده میکنند.
از طرف دیگر، UDP برای سرعت ساخته شده است. این پروتکل سرعت را به حداکثر میرساند و بستهها را بدون تایید و حتی بدون الویت ارسال میکند.امکان برقراری ارتباط پایدار برای برخی خدمات مانند خدمات صوتی و تصویری مهمتر از ارتباط بدون نقص است.
SIP Server ها :
چهار نوع مختلف server وجود دارد:
PROXY Server:
یک وسیله واسط است که درخواستهای SIP را از یک مشتری دریافت میکند و سپس یا آنها را خودش مدیریت میکند و یا، احتمالاً بعد از مهیاکردن برخی ترجمهها ، به یک server دیگر ارسال میکند. proxy که درخواستها را دریافت کرده و آنها را میفرستد، درواقع هر دو نقش client و server را ایفا میکند. Proxy server ها میتوانند اعمالی نظیر تصدیق، اجازه کنترل و دسترسی به شبکه، مسیریابی، ارسال مجدد درخواست بهصورت معتبر و امنیت را میسر کنند.
redirect server:
یکredirect server ، سروری است که درخواستهای SIP را میپذیرد، آدرس مقصد را به آدرس جدید تبدیل میکند، و آن را به درخواستکننده ارسال میکند. سپس، درخواستکننده درخواست را به آدرس بازگردانده شده از redirect server میفرستد. یک redirect server هیچ درخواست SIP را خودش شروع نمیکند.
User agent server:
Serverی است که درخواستهای SIP را دریافت کرده و با کاربر ارتباط برقرار میکند. درواقع یک وسیله SIP (مثل یک تلفن با قابلیت SIP) که همه بهعنوان یک UAC و هم بهعنوان یک UAS عمل خواهد کرد. درصورتیکه بتواند درخواستهای SIP را آغاز کند. بهعنوان یک UAC عمل میکند و درصورتیکه بتواند درخواستها را دریافت کرده و به آنها پاسخ دهد، بهعنوان یک UAS عمل میکند.
Registrar server:
serverی است که درخواستهای SIP Register را میپذیرد. همچون SIP مفهومی به نام ثبت کاربر دارد به این معنی که یک کاربر تعیین میکند که در شبکه در یک آدرس خاص در دسترس است . این ثبت از طریق انتشار یک درخواست R از طرف کاربر به register server انجام میشود. یک register server میتواند با یک Proxy server یا redirect server ترکیب شود .
درصورت نیاز به خرید تلفن اینترنتی و مرکز تلفن ابری با ما در ارتباط باشید