SIP - Elementi di rete
Ci sono alcune entità che aiutano SIP nella creazione della sua rete. In SIP, ogni elemento di rete è identificato da un fileSIP URI(Uniform Resource Identifier) che è come un indirizzo. Di seguito sono riportati gli elementi di rete:
- Agente utente
- Server proxy
- Server di registrazione
- Reindirizza server
- Location Server
Agente utente
È l'endpoint e uno degli elementi di rete più importanti di una rete SIP. Un endpoint può avviare, modificare o terminare una sessione. I programmi utente sono il dispositivo o l'elemento di rete più intelligente di una rete SIP. Potrebbe essere un softphone, un cellulare o un laptop.
I programmi utente sono logicamente divisi in due parti:
User Agent Client (UAC) - L'entità che invia una richiesta e riceve una risposta.
User Agent Server (UAS) - L'entità che riceve una richiesta e invia una risposta.
SIP si basa su un'architettura client-server in cui il telefono del chiamante funge da client che avvia una chiamata e il telefono del chiamato funge da server che risponde alla chiamata.
Server proxy
È l'elemento di rete che prende una richiesta da un programma utente e la inoltra a un altro utente.
Fondamentalmente il ruolo di un server proxy è molto simile a un router.
Ha una certa intelligenza per comprendere una richiesta SIP e inviarla avanti con l'aiuto di URI.
Un server proxy si trova tra due agenti utente.
Possono esserci un massimo di 70 server proxy tra un'origine e una destinazione.
Esistono due tipi di server proxy:
Stateless Proxy Server- Inoltra semplicemente il messaggio ricevuto. Questo tipo di server non memorizza alcuna informazione di una chiamata o di una transazione.
Stateful Proxy Server- Questo tipo di server proxy tiene traccia di ogni richiesta e risposta ricevuta e può utilizzarlo in futuro se necessario. Può ritrasmettere la richiesta, se non c'è risposta dall'altra parte in tempo.
Server di registrazione
Il server di registrazione accetta le richieste di registrazione dagli agenti utente. Aiuta gli utenti ad autenticarsi all'interno della rete. Memorizza l'URI e la posizione degli utenti in un database per aiutare altri server SIP all'interno dello stesso dominio.
Dai un'occhiata al seguente esempio che mostra il processo di una registrazione SIP.
Qui il chiamante vuole registrarsi con il dominio TMC. Quindi invia una richiesta di REGISTRAZIONE al server di registrazione di TMC e il server restituisce una risposta 200 OK poiché ha autorizzato il client.
Reindirizza server
Il server di reindirizzamento riceve le richieste e cerca il destinatario previsto della richiesta nel database delle posizioni creato dal registrar.
Il server di reindirizzamento utilizza il database per ottenere informazioni sulla posizione e risponde con 3xx (risposta di reindirizzamento) all'utente. Discuteremo i codici di risposta più avanti in questo tutorial.
Location Server
Il server di localizzazione fornisce informazioni sulle possibili posizioni di un chiamante ai server di reindirizzamento e proxy.
Solo un server proxy o un server di reindirizzamento può contattare un server di posizione.
La figura seguente illustra i ruoli svolti da ciascuno degli elementi di rete nello stabilire una sessione.
SIP - Architettura di sistema
SIP è strutturato come un protocollo a strati, il che significa che il suo comportamento è descritto in termini di una serie di fasi di elaborazione abbastanza indipendenti con solo un accoppiamento libero tra ciascuna fase.
Lo strato più basso di SIP è il suo syntax and encoding. La sua codifica è specificata usando un augmentedBackus-Naur Form grammar (BNF).
Al secondo livello c'è il transport layer. Definisce come un client invia richieste e riceve risposte e come un server riceve richieste e invia risposte sulla rete. Tutti gli elementi SIP contengono un livello di trasporto.
Poi arriva il file transaction layer. Una transazione è una richiesta inviata da una transazione client (utilizzando il livello di trasporto) a una transazione server, insieme a tutte le risposte a tale richiesta inviate dalla transazione server al client. Qualsiasi attività eseguita da un client agente utente (UAC) viene eseguita utilizzando una serie di transazioni.Stateless proxies non contengono un livello di transazione.
Lo strato sopra transaction layerè chiamato utente della transazione. Ciascuna delle entità SIP, ad eccezione diStateless proxies, è un utente di transazione.