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ń |