Android - SIP-Protokoll
SIP steht für (Session Initiation Protocol). Es ist ein Protokoll, mit dem Anwendungen ausgehende und eingehende Sprachanrufe problemlos einrichten können, ohne Sitzungen, Kommunikation auf Transportebene oder Audioaufzeichnungen oder -wiedergabe direkt verwalten zu müssen.
Anwendungen
Einige der häufigsten Anwendungen von SIP sind.
- Videokonferenzen
- Instant Messaging
Bedarf
Hier sind die Anforderungen für die Entwicklung einer SIP-Anwendung:
- Android OS muss 2.3 oder höher sein
- Sie müssen über eine Datenverbindung oder WIFI verfügen
- Sie müssen über ein SIP-Konto verfügen, um diesen Dienst nutzen zu können.
SIP-Klassen
Hier ist eine Zusammenfassung der Klassen, die in der Android SIP-API enthalten sind:
Sr.Nr. | Klasse & Beschreibung |
---|---|
1 | SipAudioCall Verarbeitet einen Internet-Audioanruf über SIP |
2 | SipErrorCode Definiert Fehlercodes, die während SIP-Aktionen zurückgegeben werden |
3 | SipManager Bietet APIs für SIP-Aufgaben, z. B. das Initiieren von SIP-Verbindungen, und bietet Zugriff auf verwandte SIP-Dienste |
4 | SipProfile Definiert ein SIP-Profil, einschließlich eines SIP-Kontos, einer Domäne und Serverinformationen |
5 | SipSession Stellt eine SIP-Sitzung dar, die einem SIP-Dialogfeld oder einer eigenständigen Transaktion zugeordnet ist, die sich nicht in einem Dialogfeld befindet |
Funktionen von SIP
SIP hat folgende Hauptfunktionen.
- SIP ermöglicht die Einrichtung des Benutzerstandorts
- SIP bietet einen Mechanismus für die Anrufverwaltung
- SIP bietet Funktionsaushandlung, sodass alle Teilnehmer des Anrufs den von ihnen unterstützten Funktionen zustimmen können
Komponenten von SIP
SIP besteht aus zwei Hauptkomponenten, die unten aufgeführt sind.
- User Agent Client (UAC)
- User Agent Server (UAS)
UAC
UAC oder User Agent Client sind diejenigen Endbenutzer, die Anforderungen generieren und diese Anforderungen an den Server senden. Diese Anforderungen werden von den Clientanwendungen generiert, die auf ihren Systemen ausgeführt werden.
UAS
UAS oder User Agent Server sind Systeme, die die von der Benutzerkontensteuerung generierte Anforderung erhalten. Die UAS verarbeitet diese Anforderungen und generiert dann entsprechend den Anforderungen entsprechende Antworten.
SipManager
SipManager ist eine Android-API für SIP-Aufgaben wie das Initiieren von SIP-Verbindungen und bietet Zugriff auf verwandte SIP-Dienste. Diese Klasse ist der Ausgangspunkt für alle SIP-Aktionen. Sie können eine Instanz davon mit newInstance () erwerben.
Der SipManager verfügt über viele Funktionen zum Verwalten von SIP-Aufgaben. Einige der Funktionen sind unten aufgeführt.
Sr.Nr. | Klasse & Beschreibung |
---|---|
1 | close(String localProfileUri) Schließt das angegebene Profil, um keine Anrufe zu tätigen / zu empfangen |
2 | getCallId(Intent incomingCallIntent) Ruft die Anruf-ID aus der angegebenen Broadcast-Absicht für eingehende Anrufe ab |
3 | isOpened(String localProfileUri) Überprüft, ob das angegebene Profil im SIP-Dienst zum Tätigen und / oder Empfangen von Anrufen geöffnet ist |
4 | isSipWifiOnly(Context context) Gibt true zurück, wenn SIP nur über WIFI verfügbar ist |
5 | isRegistered(String localProfileUri) Überprüft, ob der SIP-Dienst das Profil erfolgreich beim SIP-Anbieter (im Profil angegeben) für den Empfang von Anrufen registriert hat |
6 | isVoipSupported(Context context) Gibt true zurück, wenn das System die SIP-basierte VOIP-API unterstützt |
7 | takeAudioCall(Intent incomingCallIntent, SipAudioCall.Listener listener) Erstellt einen SipAudioCall, um einen eingehenden Anruf anzunehmen |
8 | unregister(SipProfile localProfile, SipRegistrationListener listener) Hebt die manuelle Abmeldung des Profils vom entsprechenden SIP-Anbieter auf, um den Empfang weiterer Anrufe zu beenden |