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 |