SIP کوتاه شده ی (Session Initiation Protocol) است. این پروتکلی می باشد که به راحتی به اپلیکیشن ها اجازه می دهد تا تماس های صوتی ورودی و خروجی را تنظیم کنند، بدون اینکه مجبور باشند session ها، سطح انتقال ارتباط، ضبط صدا و یا پلی بک (play back) را مستقیما دستکاری کنند.

کاربرد ها

برخی از برنامه های معمول SIP عبارتند از:

  • کنفرانس ویدئویی
  • پیام رسانی فوری

الزامات

در اینجا نیازمندی های توسعه یک برنامه SIP ذکر شده اند.

  • سیستم عامل آندروید باید ۲.۳ یا بالاتر باشد.
  • باید یک اتصال داده یا وای فای داشته باشید.
  • برای استفاده از این سرویس باید یک حساب SIP داشته باشید.

کلاس های SIP

در اینجا خلاصه ای از کلاس هایی که شامل واسط برنامه نویسیSIP اندروید می شوند آورده شده است.

SipAudioCall: یک تماس صوتی اینترنتی را تحت SIP کنترل می کند.
SipErrorCode: کد های خطای گزارش داده شده در طول فعالیت های SIP را تعریف می کند.
SipManager: این کلاس API ها را برای انجام وظایف SIP، مانند آغاز اتصالات و امکان دسترسی به خدمات SIP فراهم می کند.
SipProfile: یک پروفایل SIP، شامل یک حساب SIP، دامنه و اطلاعات سرور را تعریف می کند.
SipSession: یک جلسه SIP که همراه با یک دیالوگ SIP و یا یک کنش تنها در میان یک محاوره است را ارائه می دهد.

عملکردهای SIP

SIP دارای عملکرد های مهم زیر می باشد.

  • SIP موقعیت کاربر را تشخیص می دهد.
  • SIP یک مکانیزم برای مدیریت تماس فراهم می کند.
  • SIP امکان مذاکره را فراهم می آورد، به طوری که تمام طرف ها در تماس می توانند با ویژگی های پشتیبانی شده بین آن ها موافقت کنند.

کامپوننت های SIP :

SIP دو کمپوننت عمده را ارائه می دهد:

  • (User Agent Client (UAC(عامل کاربر سرویس گیرنده)
  • (User Agent Server (UAS(عامل کاربر سرویس دهنده)

UAC و یا عامل کاربر سرویس گیرنده، کاربرهای نهایی هستند که درخواست ها را ایجاد کرده و آن ها را به سرور اجرایی در سیستم خود ارسال می کنند.

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

SipManager

SipManager یک واسط برنامه نویسی اندروید برای انجام وظایف SIP، مانند آغاز اتصالات SIP و ارائه دسترسی به خدمات آن است. این کلاس نقطه شروعی برای تمام فعالیت های SIP است. شما می توانید یک نمونه از آن را از طریق ()newInstance به دست آورید.

SipManager توابع بسیاری برای مدیریت وظایف SIP دارد. برخی از این توابع در زیر لیست شده اند.

ردیف تابع
۱ (close(String localProfileUri: مجموعه تنظیمات مشخص شده برای عدم دریافت و انتقال تماس ها را مسدود می کند.
۲ (getCallId(Intent incomingCallIntent: شناسه تماس را از broadcast intent تماس ورودی مشخص شده دریافت می کند.
۳ (isOpened(String localProfileUri: بررسی می کند که مجموعه تنظیمات مشخص شده در سرویس SIP برای ایجاد و یا دریافت تماس ها فعال باشد.
۴ (isSipWifiOnly(Context context: اگر SIP فقط از طریق WIFI در دسترس باشد True را برمی گرداند.
۵ (isRegistered(String localProfileUri: بررسی اینکه آیا سرویس SIP پروفایل را برای ارائه تماس به نماینده SIP (مشخص شده در نمایه) ثبت کرده است.
۶ (isVoipSupported(Context context: در صورتی که سیستم از واسط برنامه نویسی انتقال صدا مبتنی بر SIP پشتیبانی کند نشان داده می شود.
۷ (takeAudioCall(Intent incomingCallIntent, SipAudioCall.Listener listener: ایجاد یک SipAudioCall برای دریافت تماس های ورودی
۸ (unregister(SipProfile localProfile, SipRegistrationListener listener: برای جلوگیری از دریافت تماس های بیشتر، پروفایل ارائه دهنده SIP مربوطه را به صورت دستی ثبت نام می کند.

 

کلیدواژه ها :

این خبر را به اشتراک بگذارید :