پروتکل SIP: نحوه برقراری تماس

comments3 نظر views بازدید
Share

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

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

کلاینت های SIP هنگام روشن شدن باید موقعیت خود (آدرس IP و سایر اطلاعات مورد نیاز) را در ثبت کننده SIP‌ (SIP Registrar) ثبت کنند. به این ترتیب کاربر می‌تواند صرف نظر از مکان تماس‌های خود را از طریق ترمینال‌های دلخواه دریافت کند. مثلاً یک کاربر همواره از طریق آدرس sip:Alice.Smith@domain.com صرف نظر از اینکه در محل کار و یا دانشگاه خود حاضر است، قابل دسترسی است. این آدرس Uniform Resource Identifier و یا URI عمومی کاربر نامیده می‌شود. کلاینت SIP می‌تواند با ثبت موقعیت فعلی خود در ثبت کننده، نگاشت URI خود بر روی آدرس IP فعلی را ممکن میسازد. کاربر میتواند از طریق چندین کلاینت SIP خود را در شبکه رجیستر کند. با انعطافی که در پروتکل SIP وجود دارد، کاربر می‌تواند برنامه‌ریزی کند که در ساعت‌های خاصی از روز تماس‌های خود را از طریق یک یا چند ترمینال دریافت کند.

پیامهای پروتکل SIP:

برای برقراری ارتباط و کنترل آن از پیام‌های SIP استفاده می‌شود. هر پیام SIP سه بخش دارد:

  • خط شروع: نوع پیام (درخواست و یا پاسخ و کد پیام) و مبدأ آن را مشخص می‌کند. توجه کنید ممکن است سرورهای پروکسی مبدأ را دوباره نویسی کنند. در این صورت آدرس مبدأ به آدرس سرور پروکسی تغییر پیدا خواهد کرد.
  • سربارها: در پیامهای SIP سربارها اطلاعات لازم و یا اختیاری را حمل می‌کنند. قسمت‌های To، From و Call-ID نمونه‌ای از سربارهای SIP هستند.
  • بدنه: شامل اطلاعاتی مربوط به نشست مانند نوع Codec های صدا و تصویر است. توصیف تماس(نشست) با استفاده از پروتکل SDP در قسمت بدنه پیام SIP انجام می‌شود.

پیام‌های SIP به صورت درخواست/پاسخ رد و بدل می‌شوند. جدول زیر برخی از پیام‌ها را نشان می‌دهد.

 

Description Method
Initiates a call, changes call parameters (re-INVITE) INVITE
Confirms a final response for INVITE ACK
Terminates a call BYE
Cancels searches and “ringing” Cancel
Queries the capabilities of the other side OPTIONS
Registers with the Location Service Register

 

سیگنالینگ پروتکل SIP برای برقراری تماس

image

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

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

۲ و ۳٫ سرور پروکسی با ارتباط با ثبت کننده SIP اطلاعات کاربر B‌ مانند آدرس IP آن را درخواست و دریافت می‌کند.

۴٫ سرور پروکسی از جانب کاربر A با کاربر B تماس می‌گیرد و درخواست برقراری ارتباط می‌کند.

۵٫ کاربر B قبول درخواست را به سرور پروکسی اعلام می‌کند. معمولاً قبل از اعلام درخواست قبول یک بوق به سرور پروکسی برگردانده می‌شود تا به سوی کاربر A هدایت شود. پس از برداشتن گوشی توسط کاربر B پیام قبول به سمت کاربر A ارسال می‌شود.

۶٫ قبول درخواست به کاربر A اعلام می‌شود.

سیگنالینگ پروتکل SIP در تماس بین دو دامنه

image

مراحل برقراری تماس با پروتکل SIP در این شکل نشان داده شده است. سیگنالینگ تماس به صورت زیر است:

۱٫ کاربر A درخواست برقراری تماس با کاربر B می‌کند.

۲٫ سرور پروکسی A از روی URI کاربر B‌ متوجه می‌شود که کاربر در دامنه دیگری قرار دارد. بنابراین با سرور تغییر جهت SIP‌ ارتباط برقرار می‌کند.

۳٫ سرور تغییر جهت آدرس IP سرور پروکسی B‌ که به کاربر B سرویس می‌دهد را برمی‌گرداند.

۴٫ سرور پروکسی A درخواست کاربر A را به سرور پروکسی B ارسال می‌کند.

۵ و ۶٫ سرور پروکسی با ارتباط با ثبت کننده SIP اطلاعات کاربر B‌ مانند آدرس IP آن را درخواست و دریافت می‌کند.

۷٫ سرور پروکسی از جانب کاربر A با کاربر B تماس می‌گیرد و درخواست برقراری ارتباط می‌کند.

۸٫ کاربر B قبول درخواست را به سرور پروکسی اعلام می‌کند. معمولاً قبل از اعلام درخواست قبول یک بوق به سرور پروکسی برگردانده می‌شود تا به سوی کاربر A هدایت شود. پس از برداشتن گوشی توسط کاربر B پیام قبول به سمت کاربر A ارسال می‌شود.

۹٫ سرور پروکسی B‌ پاسخ را به سرور پروکسی A بر می‌گرداند.

۱۰٫ قبول درخواست تماس به کاربر A اعلام می‌شود.

Share

3 پاسخ به “پروتکل SIP: نحوه برقراری تماس”

  1. elahe گفت:

    واقعا ممنونم.مفاهیم بسیار کاربردی و عالی بود

  2. مژگان گفت:

    سلام
    ممنون از اطلاعات مفیدتون .
    من دانشجوی ارشد مخابرات هستم . میتونم از طریق ایمیل سوالهایی که دارم را ازتون بپرسم ؟
    سوالهام بیشتر در رابطه با طراحی لینک رادیویی و یا طراحی شبکه است . اگه لطف کنید به من این امکان رو بدید ممنون میشم .

  3. Mohammadreza گفت:

    بسیار عالی و ممنون

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

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