SIP - Proxy e instradamento
Come sappiamo, un server proxy può essere stateless o stateful. Qui, in questo capitolo, discuteremo di più sui server proxy e sul routing SIP.
Server proxy senza stato
Un server proxy senza stato inoltra semplicemente il messaggio che riceve. Questo tipo di server non memorizza alcuna informazione della chiamata o della transazione.
- I proxy senza stato dimenticano la richiesta SIP una volta che è stata inoltrata.
- La transazione sarà veloce tramite proxy senza stato.
Stateful Proxy Server
Un server proxy con stato tiene traccia di ogni richiesta e risposta che riceve. Può utilizzare le informazioni memorizzate in futuro, se necessario. Può ritrasmettere la richiesta se non riceve una risposta dall'altra parte.
I proxy con stato ricordano la richiesta dopo che è stata inoltrata, quindi possono usarla per il routing anticipato. I proxy con stato mantengono lo stato della transazione . La transazione implica lo stato della transazione,notchiama stato .
La transazione non è veloce con i proxy con stato come senza stato.
I proxy con stato possono eseguire il fork e ritrasmettere se necessario (ad esempio: deviazione di chiamata occupata, ad esempio).
Via e Record-route
Record-Route
L'intestazione Record-Route viene inserita nelle richieste dei proxy che volevano essere nel percorso delle richieste successive per lo stesso call-id. Viene quindi utilizzato dall'agente utente per instradare le richieste successive.
attraverso
Le intestazioni tramite vengono inserite dai server nelle richieste per rilevare i loop e per aiutare le risposte a ritrovare la strada per il client. Ciò è utile affinché solo le risposte raggiungano la destinazione.
Un UA stesso genera e aggiunge il proprio indirizzo in un campo di intestazione Via durante l'invio della richiesta.
Un proxy che inoltra la richiesta aggiunge un campo di intestazione Via contenente il proprio indirizzo all'inizio dell'elenco dei campi di intestazione Via.
Un proxy o un UA che genera una risposta a una richiesta copia tutti i campi dell'intestazione Via dalla richiesta in ordine nella risposta, quindi invia la risposta all'indirizzo specificato nel campo dell'intestazione Via superiore.
Un proxy che riceve una risposta controlla il campo dell'intestazione Via superiore e corrisponde al proprio indirizzo. Se non corrisponde, la risposta è stata scartata.
Il campo di intestazione Via superiore viene quindi rimosso e la risposta inoltrata all'indirizzo specificato nel campo di intestazione Via successivo.
I campi di intestazione Via contengono nome protocollo, numero versione e trasporto (SIP / 2.0 / UDP, SIP / 2.0 / TCP, ecc.) E contengono numeri di porta e parametri come ricevuto, rport, ramo.
Un tag ricevuto viene aggiunto a un campo di intestazione Via se un UA o un proxy riceve la richiesta da un indirizzo diverso da quello specificato nel campo di intestazione Via superiore.
Un parametro di filiale viene aggiunto ai campi di intestazione Via da UA e proxy, che viene calcolato come una funzione hash dell'URI di richiesta e del numero A, Da, ID chiamata e CSeq.