BroadNet
SIP / VoIPFondamenti

Panoramica del protocollo SIP

Aggiornato il 3 min di letturaBasato su standard
Risposta diretta

SIP (Session Initiation Protocol, RFC 3261) è un protocollo di segnalazione richiesta/risposta basato su testo che instaura, modifica e termina sessioni multimediali in tempo reale come le chiamate voce e video. Definisce user agent, proxy, registrar e redirect server e trasporta la descrizione della sessione (SDP) che negozia i media che gli endpoint scambieranno.

§01

Che cos'è SIP

SIP è un protocollo di controllo di livello applicativo per creare e gestire sessioni multimediali su IP — più comunemente voce (VoIP), video e messaggistica. Non trasporta i media stessi; negozia e controlla le sessioni, poi i media fluiscono separatamente su RTP. Il suo design è deliberatamente simile a HTTP: messaggi di testo leggibili, metodi di richiesta e codici di risposta a tre cifre e indirizzamento basato su URI (sip:alice@example.com). Questa familiarità, e la sua indipendenza dai media sottostanti, hanno reso SIP il protocollo di segnalazione standard per VoIP, SIP trunking e VoLTE/IMS.

§02

Entità SIP

SIP definisce un piccolo insieme di ruoli logici. Uno User Agent è un endpoint: agisce come User Agent Client (UAC) quando invia una richiesta e come User Agent Server (UAS) quando risponde. I proxy instradano le richieste verso la destinazione e possono forkarle verso più target. Un registrar registra dove un utente è attualmente raggiungibile (il suo Contact) tramite REGISTER. Un redirect server restituisce una posizione alternativa anziché inoltrare. Un Back-to-Back User Agent (B2BUA) termina e ri-origina una chiamata, collocandosi nel mezzo sia della segnalazione sia spesso dei media — il modello usato da session border controller e PBX.

Ruoli logici SIP
EntitàRuolo
UACUser Agent Client — origina una richiesta
UASUser Agent Server — risponde a una richiesta
ProxyInstrada/inoltra le richieste, può effettuare il forking verso più destinazioni
RegistrarRegistra il Contact corrente di un utente (tramite REGISTER)
Server di reindirizzamentoRestituisce una posizione alternativa (3xx) invece di inoltrare
B2BUATermina e riavvia una chiamata (SBC, PBX)
§03

Transazioni e dialoghi

SIP ha due livelli di stato. Una transazione è una singola richiesta e le sue risposte (ad esempio un INVITE e i 100/180/200 che innesca), identificata dal parametro branch del Via. Un dialogo è la relazione peer-to-peer più lunga che una chiamata rappresenta, identificata dalla combinazione di Call-ID, tag From e tag To. INVITE crea un dialogo; le richieste successive nel dialogo (re-INVITE, BYE) vi fanno riferimento. Comprendere questa distinzione è essenziale per leggere un flusso SIP, perché risposte e ritrasmissioni sono abbinate a livello di transazione mentre la chiamata vive a livello di dialogo.

§04

Trasporto e porte

SIP opera su UDP, TCP o TLS e (meno comunemente) SCTP o WebSocket per WebRTC. La porta predefinita IANA è la 5060 per UDP e TCP e la 5061 per SIP su TLS (segnalata da un URI sips:). UDP è comune per il suo basso overhead, ma i messaggi grandi che superano l'MTU del percorso dovrebbero usare TCP, e qualsiasi deployment che attraversi reti non attendibili dovrebbe usare TLS per la segnalazione e SRTP per i media. Il trasporto è selezionato per salto e può cambiare lungo il percorso.

Trasporto SIP e porte predefinite
TrasportoPorta predefinitaNote
UDP5060Basso overhead; passaggio a TCP al di sopra dell'MTU
TCP5060Per messaggi di grandi dimensioni e consegne affidabili
TLS (sips:)5061Segnalazione cifrata
WSS (WebSocket)—SIP su WebSocket sicuro per WebRTC
FAQ

Domande frequenti

A cosa serve SIP?

SIP instaura, modifica e abbatte sessioni multimediali in tempo reale su IP — chiamate voce e video, SIP trunking tra sistemi telefonici e operatori e controllo delle chiamate VoLTE/IMS. Gestisce la segnalazione; l'audio o il video effettivo viaggia separatamente su RTP.

SIP è simile a HTTP?

Per progettazione. SIP mutua da HTTP il modello richiesta/risposta, i messaggi basati su testo, la sintassi degli header, i codici di stato a tre cifre e l'indirizzamento a URI. La semantica differisce — SIP gestisce sessioni stateful attraverso i proxy ed entrambi gli endpoint possono originare richieste — ma la superficie risulterà familiare a chi conosce HTTP.

Qual è la differenza tra una transazione e un dialogo SIP?

Una transazione è una richiesta più le sue risposte, abbinata dal branch del Via. Un dialogo è la relazione di chiamata in corso, identificata da Call-ID più i tag From e To. Un singolo dialogo (una chiamata) contiene diverse transazioni — INVITE, poi più tardi BYE.

Quale porta usa SIP?

La porta predefinita IANA è la 5060 per SIP su UDP e TCP e la 5061 per SIP su TLS. I media (RTP) usano un intervallo di porte UDP separato e negoziato dinamicamente, descritto nell'SDP, non la porta di segnalazione SIP.

SIP trasporta la voce?

No. SIP trasporta solo la segnalazione — negozia la sessione e i parametri media tramite SDP. La voce o il video stesso fluisce su RTP (o SRTP se cifrato) direttamente tra gli endpoint o attraverso un media relay, su porte separate dai messaggi SIP.

Riferimenti

Specifiche della fonte

Gli standard pubblicati su cui si basa questa pagina. Si apre in una nuova scheda.

BNGestito dal team di ingegneri BroadNet·Servizi di messaggistica di livello carrier dal 2003
Mettilo sul filo

Realizzato con un vero binding SMPP e un'API REST.

Richiedi l'accesso di prova con chiavi di test reali: invia prima al tuo numero verificato, poi passa alla produzione in oltre 200 paesi una volta approvata l'identità del mittente e i percorsi.