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