Android - protokół SIP

SIP to skrót od (Session Initiation Protocol). Jest to protokół, który umożliwia aplikacjom łatwe konfigurowanie wychodzących i przychodzących połączeń głosowych bez konieczności zarządzania sesjami, komunikacją na poziomie transportu lub bezpośredniego nagrywania lub odtwarzania dźwięku.

Aplikacje

Niektóre z typowych zastosowań SIP to.

  • Wideokonferencje
  • Wiadomości błyskawiczne

Wymagania

Oto wymagania dotyczące tworzenia aplikacji SIP -

  • System operacyjny Android musi mieć wersję 2.3 lub nowszą
  • Musisz mieć połączenie danych lub WIFI
  • Aby korzystać z tej usługi, musisz mieć konto SIP.

Klasy SIP

Oto podsumowanie klas zawartych w Android SIP API:

Sr.No Klasa i opis
1

SipAudioCall

Obsługuje internetowe połączenie audio przez SIP

2

SipErrorCode

Definiuje kody błędów zwracane podczas działań SIP

3

SipManager

Udostępnia interfejsy API do zadań SIP, takich jak inicjowanie połączeń SIP, oraz zapewnia dostęp do powiązanych usług SIP

4

SipProfile

Definiuje profil SIP, w tym konto SIP, domenę i informacje o serwerze

5

SipSession

Reprezentuje sesję SIP skojarzoną z oknem dialogowym SIP lub samodzielną transakcję, której nie ma w oknie dialogowym

Funkcje SIP

SIP ma następujące główne funkcje.

  • SIP pozwala na ustalenie lokalizacji użytkownika
  • SIP zapewnia mechanizm zarządzania połączeniami
  • Protokół SIP umożliwia negocjowanie funkcji, dzięki czemu wszystkie strony rozmowy mogą wyrazić zgodę na obsługiwane przez siebie funkcje

Składniki SIP

SIP składa się z dwóch głównych elementów, które wymieniono poniżej.

  • Klient klienta użytkownika (UAC)
  • Serwer agenta użytkownika (UAS)

UAC

UAC lub User Agent Client to użytkownicy końcowi, którzy generują żądania i wysyłają je do serwera. Żądania te są generowane przez aplikacje klienckie działające w ich systemach.

UAS

UAS lub User Agent Server to te systemy, które otrzymują żądanie generowane przez UAC. UAS przetwarza te żądania, a następnie zgodnie z żądaniami generuje odpowiednie odpowiedzi.

SipManager

SipManager to Android API do zadań SIP, takich jak inicjowanie połączeń SIP, i zapewnia dostęp do powiązanych usług SIP. Ta klasa jest punktem wyjścia dla wszelkich działań SIP. Możesz uzyskać jego instancję za pomocą newInstance ().

SipManager ma wiele funkcji do zarządzania zadaniami SIP. Niektóre funkcje są wymienione poniżej.

Sr.No Klasa i opis
1

close(String localProfileUri)

Zamyka określony profil, aby nie wykonywać / odbierać połączeń

2

getCallId(Intent incomingCallIntent)

Pobiera identyfikator połączenia z określonego zamiaru emisji połączenia przychodzącego

3

isOpened(String localProfileUri)

Sprawdza, czy określony profil jest otwarty w usłudze SIP do wykonywania i / lub odbierania połączeń

4

isSipWifiOnly(Context context)

Zwraca wartość true, jeśli protokół SIP jest dostępny tylko w sieci WIFI

5

isRegistered(String localProfileUri)

Sprawdza, czy usługa SIP pomyślnie zarejestrowała profil u dostawcy SIP (określonego w profilu) w celu odbierania połączeń

6

isVoipSupported(Context context)

Zwraca wartość true, jeśli system obsługuje interfejs VOIP API oparty na protokole SIP

7

takeAudioCall(Intent incomingCallIntent, SipAudioCall.Listener listener)

Tworzy SipAudioCall, aby odebrać połączenie przychodzące

8

unregister(SipProfile localProfile, SipRegistrationListener listener)

Ręcznie wyrejestrowuje profil od odpowiedniego dostawcy SIP, aby nie otrzymywać dalszych połączeń