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.