Android - Protocollo SIP

SIP sta per (Session Initiation Protocol). È un protocollo che consente alle applicazioni di configurare facilmente chiamate vocali in uscita e in entrata, senza dover gestire sessioni, comunicazioni a livello di trasporto o registrazioni o riproduzioni audio direttamente.

Applicazioni

Alcune delle applicazioni comuni di SIP sono.

  • Videoconferenze
  • Messaggistica istantanea

Requisiti

Ecco i requisiti per lo sviluppo di un'applicazione SIP:

  • Il sistema operativo Android deve essere 2.3 o successivo
  • È necessario disporre di una connessione dati o WIFI
  • È necessario disporre di un account SIP per utilizzare questo servizio.

Classi SIP

Di seguito è riportato un riepilogo delle classi incluse nell'API SIP Android:

Suor n Classe e descrizione
1

SipAudioCall

Gestisce una chiamata audio Internet tramite SIP

2

SipErrorCode

Definisce i codici di errore restituiti durante le azioni SIP

3

SipManager

Fornisce API per attività SIP, come l'avvio di connessioni SIP e fornisce l'accesso ai servizi SIP correlati

4

SipProfile

Definisce un profilo SIP, inclusi un account SIP, dominio e informazioni sul server

5

SipSession

Rappresenta una sessione SIP associata a una finestra di dialogo SIP oa una transazione autonoma non all'interno di una finestra di dialogo

Funzioni di SIP

SIP ha le seguenti funzioni principali.

  • SIP consente di stabilire la posizione dell'utente
  • SIP fornisce un meccanismo per la gestione delle chiamate
  • SIP fornisce la negoziazione delle funzionalità, in modo che tutte le parti nella chiamata possano accettare le funzionalità supportate tra loro

Componenti di SIP

SIP ha due componenti principali elencati di seguito.

  • Client agente utente (UAC)
  • User Agent Server (UAS)

UAC

UAC o client agente utente sono gli utenti finali che generano richieste e inviano tali richieste al server, che vengono generate dalle applicazioni client in esecuzione sui loro sistemi.

UAS

UAS o User Agent Server sono quei sistemi che ricevono la richiesta generata da UAC. L'UAS elabora tali richieste e quindi, in base alle richieste, genera le risposte di conseguenza.

SipManager

SipManager è un'API Android per attività SIP, come l'avvio di connessioni SIP, e fornisce l'accesso ai servizi SIP correlati. Questa classe è il punto di partenza per qualsiasi azione SIP. Puoi acquisirne un'istanza con newInstance ().

Il SipManager ha molte funzioni per la gestione delle attività SIP. Alcune delle funzioni sono elencate di seguito.

Suor n Classe e descrizione
1

close(String localProfileUri)

Chiude il profilo specificato per non effettuare / ricevere chiamate

2

getCallId(Intent incomingCallIntent)

Ottiene l'ID chiamata dall'intento di trasmissione della chiamata in arrivo specificato

3

isOpened(String localProfileUri)

Controlla se il profilo specificato è aperto nel servizio SIP per effettuare e / o ricevere chiamate

4

isSipWifiOnly(Context context)

Restituisce vero se SIP è disponibile solo su WIFI

5

isRegistered(String localProfileUri)

Verifica se il servizio SIP ha registrato correttamente il profilo sul provider SIP (specificato nel profilo) per la ricezione delle chiamate

6

isVoipSupported(Context context)

Restituisce vero se il sistema supporta l'API VOIP basata su SIP

7

takeAudioCall(Intent incomingCallIntent, SipAudioCall.Listener listener)

Crea un SipAudioCall per accettare una chiamata in arrivo

8

unregister(SipProfile localProfile, SipRegistrationListener listener)

Annulla manualmente la registrazione del profilo dal provider SIP corrispondente per interrompere la ricezione di ulteriori chiamate