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

پروتکل SIP 

پروتکل سیپ در سال 1996 توسط Mark Handley  و Henning Schulzrinne طراحی و در سال 1999 تحت RFC2543 استاندارد سازی شد و در سال 2000 توسط  3GPP به عنوان یک پروتکل سیگنالینگ و یکی از اجزای دائمی زیر سیستم مالتی مدیا مبتنی بر آی پی (IP Multimedia Subsystem) پذیرفته شد.

عناصر شبکه SIP  

عناصر شبکه SIP  
  • User Agent، یک واحد منطقی جهت ایجاد، دریافت و انتقال پیام های شما (مانند Http در هدر پیام‌ های دریافتی و ارسال اطلاعاتی درباره User Agent) می باشد.
  • Proxy Server، یک واحد منطقی می باشد که به عنوان میانجی یا در اصل روتر عمل می کند واعمال محدودیت ها و یا هر نوع تغییراتی در نوع تماس و چگونگی آن بر عهده این قسمت می باشد.
  • sip redirect gateway: این بخش، امکان برقراری ارتباط بین چند شبکه با پروتکل های مختلف را میسر می کند وبه این صورت می توان پروتکل های مختلف را به یکدیگر وصل کرده و بین آن ها ارتباطات و انتقال داده ها را انجام داد.
  • Session border controller: دستگاهی در ویپ (Voip) می باشد که جهت کنترل کیفیت تماس ها مورد استفاده قرار می گیرد.

SIP Client

Soft phone

یک client می باشد که به آن User Agent Client نیز گفته می‌ شود و برنامه کاربردی است که درخواست sip را می‌ فرستد.

SIP Client شامل موارد زیر می باشد:

  • تلفن‌ ها: تلفن‌ ها می‌ توانند به‌ عنوان یک UAC یا UAS عمل کنند.
  • Soft phone ها: به PC هایی که قابلیت نصب‌ phone را دارند و می‌ توانند درخواست SIP را آغاز و به آن پاسخ دهند، گفته می شود.
  • Gateway ها: این قسمت قابلیت کنترل تماس ها را فراهم می‌ کند و رایج‌ ترین آن‌ ها عملیات ترجمه بین end-point SIP ها و انواع ترمینال‌ های دیگر در یک گفتگو می باشد. این عمل شامل ترجمه فرمت‌ های انتقال و پردازه‌ های ارتباط است.

آدرس کاربر در پروتکل SIP

کلاینت های SIP هنگام روشن شدن باید موقعیت خود (آدرس IP و سایر اطلاعات مورد نیاز) را در SIP Registrar ثبت کنند. به این ترتیب کاربر می‌ تواند صرف نظر از مکان، تماس‌ های خود را از طریق ترمینال‌ های دلخواه دریافت کنند.

مثلاً یک کاربر همواره از طریق آدرس sip:AB.CD@domain.com صرف نظر از این که در کجا می باشد، قابل دسترسی است. این آدرس، Uniform Resource Identifier و یا URI عمومی کاربر نامیده می‌ شود. کلاینت SIP می‌ تواند با ثبت موقعیت فعلی خود در ثبت کننده، نگاشت URI بر روی آدرس IP فعلی را ممکن سازد.

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

ویژگی های SIP

پروتکل SIP پنج ویژگی اصلی را در هنگام ایجاد و پایان یک نشست چند رسانه ای تعیین می نماید.

روند کاری SIP
  • User Location
  • User Availability
  • User Capabilities
  • Session Setup
  • Session Management

روند کاری SIP

SIP نیز همانند پروتکل هایی مثل HTTP و SMTP در لایه ی Application (لایه پنجم مدل OSI) کار می کند و به عنوان یک پروتکل Request-Response شناخته شده است. در SIP، درخواست ها از کلاینت دریافت شده و پاسخ ها از طریق سرور فرستاده (از طریق هر پروتکل انتقالی مانند UDP ،TCP و SCTP) می شوند.

  • تشخیص سیستم نهایی جهت برقراری Session، رسانه ارتباط (Communication Media) و ویژگی های رسانه(Media Parameters)
  • بررسی قبول یا عدم قبول درخواست مشارکت در ارتباط توسط End Point ها
  • ایجاد ویژگی های تماس، در دو طرف یا تمام End Point ها، پس از اطمینان از ویژگی های Session ایجاد شده
  • وظیفه انتقال تماس (Call Transfer) و پایان تماس (Call Termination)

در SIP پیام‌ ها به دو نوع تقسیم می‌ شوند:

  1. request
  2. response
پروتکل برقراری و خاتمه جلسه
  • پیام INVITE: این پیام از نوع request می باشد و هنگامی‌که یک شماره گرفته می‌ شود، این شماره در PBX تبدیل به آدرس IP شده و برای مخاطب جهت برقراری ارتباط ارسال می‌ شود، که در صورت قبول پیشنهاد جهت برقراری تماس از طرف تماس گرفته‌ شده، تلفن زنگ می‌خورد.
  • پیام ACK: این پیام از گروه response می باشد و در رابطه با صحت رسیدن بسته‌ های SIP با استفاده از پروتکل TCP اطلاع‌ رسانی می‌ کند.
  • پیام BYE: پیام request می باشد که حاوی اطلاعاتی مبنی بر عدم حضور طرف مقابل برای مکالمه هست.
  • پیام CANCEL: این پیام تنها پیامی است که توسط پروکسی سرور صادر می‌ شود و در آن بیان می‌ شود که تماسی که در حالت معلق است قطع شود، پس از آن پیام BYE صادر می‌ شود.
  • پیام REGISTER: این پیام از دسته پیام های request می باشد و حاوی اطلاعاتی است که از سمت کلاینت به سرور جهت معرفی خود (ازجمله IP ,PORT ,OPTION و…) صادر می‌ گردد.

چهار نوع مختلف server در SIP وجود دارد:

  • PROXY Server
PROXY Server

یک وسیله واسط می باشد که درخواست‌ های SIP را از یک مشتری دریافت و سپس یا خودش آن ها را مدیریت می‌ کند و یا احتمالاً بعد از انجام عملیات لازم، به server دیگر ارسال می‌ کند. proxy عملا با ارسال و دریافت درخواست‌ ها، هر دو نقش client و server را ایفا می‌ کند و قابلیت آسان سازی اعمالی نظیر تصدیق، اجازه کنترل و دسترسی به شبکه، مسیریابی، ارسال مجدد درخواست به‌ صورت معتبر و امنیت را فراهم می کند.

  • Redirect server

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

  • User agent server

این سرور درخواست‌ های SIP را دریافت کرده و با کاربر ارتباط برقرار می‌ کند. در صورتی‌ که بتواند درخواست‌ های SIP را آغاز کند، به‌ عنوان یک UAC عمل می‌ کند و در صورتی‌ که بتواند درخواست‌ ها را دریافت کرده و به آن‌ ها پاسخ دهد، به‌عنوان یک UAS عمل می‌ کند.

  • Registrar server

این سرور مفهومی به نام ثبت کاربر دارد به این معنی که یک کاربر تعیین می‌ کند که در شبکه در یک آدرس خاص، در دسترس است. این ثبت از طریق انتشار یک درخواست R از طرف کاربر به register server انجام می‌ شود.

برقراری تماس در یک دامنه مشابه

مراحل تماس جهت برقراری تماس بین دو کاربر در یک دامنه مشابه

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

مراحل تماس بین دو دامنه

  • کاربر A درخواست برقراری تماس با کاربر B می‌ کند.
  • سرور پروکسی A از طریق URI کاربر B متوجه می‌ شود که در دامنه دیگری قرار دارد. بنابراین با سرور تغییر جهت SIP ارتباط برقرار می‌ کند.
  • سرور تغییر جهت، آدرس IP سرور پروکسی B را برمی‌ گرداند.
  • سرور پروکسی A درخواست کاربر A را به سرور پروکسی B ارسال می‌ کند.
  • در این قسمت سرور پروکسی با ارتباط با ثبت‌ کننده SIP، اطلاعات کاربر B (مانند آدرس IP) را درخواست و دریافت می‌ کند.
  • سرور پروکسی از جانب کاربر A، از B درخواست برقراری ارتباط می‌ کند.
  • B قبول درخواست را به سرور پروکسی اعلام می‌ کند. معمولاً قبل از اعلام درخواست قبول، یک بوق به سرور پروکسی برگردانده می‌ شود تا به‌ سوی کاربر A هدایت شود و پس از برداشتن گوشی توسط B پیام قبول به سمت A ارسال می‌ گردد.
  • در نتیجه سرور پروکسی B پاسخ را به سرور پروکسی A برمی‌ گرداند.
  • در آخر، قبول درخواست تماس به A اعلام می‌ شود.



منتشر شده توسط
n.mahdizadeh_server