آموزش پروتکل SIP اندروید
آموزش پروتکل SIP اندروید
مخفف Session Initiation Protocol می باشد که پروتکلی می باشد که به راحتی به برنامه ها اجازه می دهد تا تماس های صوتی ورودی و خروجی را تنظیم کنند، بدون اینکه مجبور باشند session ها، سطح انتقال ارتباط، ضبط صدا و یا پلی بک (play back) را مستقیما سازماندهی کنند.
برنامه ها
برخی از برنامه های متداول SIP عبارتند از:
Video conferencing
Instant messaging
پیش نیازها
در اینجا پیش نیازهایی برای یک برنامه ی SIP ارائه شده است.
1) اندروید OS باید 2.3 و یا بالاتر باشد.
2) شما باید یک اتصال داده یا Wi Fi داشته باشد.
3) شما باید یک اکانت SIP برای استفاده از این سرویس داشته باشید.
کلاس های SIP
در اینجا خلاصه ای از کلاس هایی را می بینید که در اندروید SIP وجود دارند.
-
SipAudioCall
به یک تماس صوتی اینترنتی روی SIP رسیدگی می کند.
-
SipErrorCode
کدهای خطای گزارش داده شده در طول فعالیت های SIP را تعریف می کند.
-
SipManager
API ها را برای فعالیت های SIP، مانند برقراری اتصالات SIP، ارائه می دهد و دسترسی به سرویس های SIP مربوط را فراهم می کند.
-
SipProfile
یک پروفایل SIP را، شامل یک اکانت SIP و اطلاعات حوزه و سرور، تعریف می کند.
-
SipSession
یک SIP session را نشان می دهد که با یک دیالوگ SIP یا یک کنش تنها و نه در درون دیالوگ، در ارتباط است.
عملکردهای SIP
SIP دارای عملکردهای مهم زیر می باشد.
1) SIP اجازه ی برقراری موقعیت یوزر را می دهد.
2) SIP مکانیزمی برای مدیریت تماس ارائه می دهد.
3) SIP ویژگی مذاکره را ارائه می دهد، طوری که همه ی گروه های حاضر در تماس می توانند با ویژگی های پشتیبانی شده بین آنها موافقت کنند.
مولفه های SIP
SIP دارای دو مولفه ی مهم می باشد که عبارتند از:
- User Agent Client (UAC)
- User Agent Server (UAS)
UAC
UAC یا User Agent Client آن یوزرهایی هستند که درخواست هایی را تولید می کنند و این درخواست ها را به سرور می فرستند. این درخواست ها توسط برنامه های کاربر که روی سیستم آنها در حال اجراست، تولید می شوند.
UAS
UAS و یا User Agent Server سیستم هایی هستند که درخواست تولید شده به وسیله ی UAC را می گیزند. UAS این درخواست ها را پردازش کرده و سپس طبق آنها پاسخ هایی تولید می کند.
مدیریت SIP
SIPManager یک API اندروید برای فعالیت های SIP می باشد، فعالیت هایی مانند برقراری اتصالات SIP، و دسترسی به سرویس های SIP مربوطه را فراهم می کند. این گروه نقطه ی آغاز برای هر فعالیت SIP می باشد. شما می توانید یک نمونه از آن را با newInstance() به دست آورید.
SipManager عملکردهای زیادی برای سازماندهی کردن فعالیت های SIP دارد. برخی از این عملکردها در جدول زیر ارائه شده اند.
-
close(String localProfileUri)
پروفایل مشخص شده ای را می بندد تا تماسی برقرار نسازد و دریافت نیز نکند.
-
getCallId(Intent incomingCallIntent)
ID تماس را از تماس ورودی مشخصی می گیرد.
-
isOpened(String localProfileUri)
اگر پروفایل مشخص شده ای از سرویس SIP برای برقراری و یا دریافت تماس باز باشد، آن را چک می کند.
-
isSipWifiOnly(Context context)
اگر SIP فقط روی WiFi در دسترس باشد، true گزارش می دهد.
-
isRegistered(String localProfileUri)
اگر سرویس SIP به طور موفقیت آمیزی پروفایل را روی ارائه کننده ی SIP (مشخص شده در پروفایل) برای تماس های دریافتی ثبت کرده باشد، آن را چک می کند.
-
isVoipSupported(Context context)
اگر سیستم SIP را براساس VOIP API پشتیبانی کند، true گزراش می دهد.
-
takeAudioCall(Intent incomingCallIntent, SipAudioCall.Listener listener)
یک تماس صوتی SIP برای گرفتن یک تماس ورودی، ایجاد می کند.
-
unregister(SipProfile localProfile, SipRegistrationListener listener)
به صورت دستی پروفایل را از ارائه کننده ی SIP متناظر حذف می کند تا دریافت تماس های بیشتر را متوقف کند.
- نوشته شده توسط سعید نوشادی
- بازدید: 4475