Le risposte SIP sono codici a tre cifre in sei classi, che ricalcano HTTP: 1xx provvisorio (richiesta ricevuta, in elaborazione), 2xx successo, 3xx redirezione, 4xx fallimento del client/della richiesta, 5xx fallimento del server e 6xx global failure (la richiesta fallisce ovunque). La prima cifra fissa la classe; il codice completo identifica l'esito specifico.
Le sei classi di risposta
Ogni risposta SIP trasporta un codice di stato la cui cifra iniziale ne definisce la classe, esattamente come in HTTP. Le risposte provvisorie (1xx) sono interim — la richiesta procede ma senza esito finale. 2xx è successo. 3xx reindirizza il chiamante altrove. 4xx significa che la richiesta è fallita ed è di solito colpa del chiamante o della richiesta. 5xx significa che un server non è riuscito a soddisfare una richiesta apparentemente valida. 6xx è un fallimento globale definitivo — la richiesta fallirà in ogni posizione, quindi i proxy dovrebbero smettere di provare alternative.
| Classe | Significato |
|---|---|
| 1xx | Provvisorio — ricevuto, ancora in fase di elaborazione (non definitivo) |
| 2xx | Operazione riuscita: la richiesta è andata a buon fine |
| 3xx | Reindirizzamento: prova un'altra posizione |
| 4xx | Errore client/richiesta: non può essere soddisfatta così come inviata |
| 5xx | Errore del server: il server non è riuscito a soddisfare una richiesta valida |
| 6xx | Errore globale — fallisce ovunque; interrompere il forking |
Codici provvisori e di successo
Il flusso iniziale della chiamata è guidato da 1xx e 2xx. 100 Trying comunica al salto a monte che la richiesta è stata ricevuta e ferma le ritrasmissioni. 180 Ringing indica che il telefono del chiamato sta squillando. 183 Session Progress trasporta early media (ringback o annunci) prima che la chiamata sia risposta. 200 OK è il successo definitivo — per un INVITE significa che la chiamata è stata risposta e trasporta la risposta SDP, e deve essere confermato con ACK.
| Codice | Motivo | Significato |
|---|---|---|
| 100 | Trying | Richiesta ricevuta; interrompe la ritrasmissione a monte |
| 180 | Ringing | Il chiamato sta ricevendo l'avviso di chiamata |
| 181 | Call Is Being Forwarded | La richiesta viene reindirizzata |
| 182 | Queued | Chiamato temporaneamente non disponibile; chiamata in coda |
| 183 | Session Progress | Early media (ringback/annuncio) disponibile |
| 200 | OK | Successo — per INVITE, la chiamata ha ricevuto risposta |
Fallimenti del client (4xx) — quelli che dovrete diagnosticare
I codici 4xx dominano la risoluzione dei problemi nel mondo reale. 401/407 richiedono autenticazione (rispettivamente da un UAS/registrar o da un proxy). 403 Forbidden e 404 Not Found sono autoesplicativi. 408 Request Timeout significa nessuna risposta in tempo. 486 Busy Here è il chiamato occupato; 480 Temporarily Unavailable è il chiamato irraggiungibile. 487 Request Terminated è la risposta a un INVITE che è stato annullato con CANCEL. 488 Not Acceptable Here segnala di solito un fallimento della negoziazione SDP/codec.
| Codice | Motivo | Causa tipica |
|---|---|---|
| 400 | Bad Request | Messaggio malformato |
| 401 / 407 | Unauthorized / Proxy Auth Required | Challenge di autenticazione (UAS/proxy) |
| 403 | Forbidden | Autenticato ma non autorizzato |
| 404 | Not Found | Utente sconosciuto / Request-URI non valido |
| 408 | Request Timeout | Nessuna risposta entro il tempo limite |
| 480 | Temporarily Unavailable | Registrato ma al momento non raggiungibile |
| 486 | Busy Here | Il chiamato è occupato |
| 487 | Request Terminated | INVITE è stato CANCELled |
| 488 | Not Acceptable Here | La negoziazione del media/codec (SDP) non è riuscita |
Fallimenti del server (5xx) e globali (6xx)
I codici 5xx e 6xx segnalano fallimenti al di là della richiesta stessa. 500 Server Internal Error e 503 Service Unavailable indicano un problema del server o a valle; 504 Server Time-out è un timeout di gateway. La classe 6xx è categorica: 600 Busy Everywhere, 603 Decline (il chiamato ha rifiutato attivamente), 604 Does Not Exist Anywhere e 606 Not Acceptable. Poiché 6xx significa che la richiesta fallisce in ogni possibile posizione, un forking proxy smette di provare altri branch — a differenza di un 4xx, specifico di un solo target.
| Codice | Motivo | Significato |
|---|---|---|
| 500 | Server Internal Error | Il server ha riscontrato un errore imprevisto |
| 503 | Service Unavailable | Server temporaneamente sovraccarico/non disponibile |
| 504 | Server Time-out | Nessuna risposta tempestiva da un server a valle |
| 600 | Busy Everywhere | Chiamato occupato in tutte le posizioni |
| 603 | Decline | Il chiamato ha rifiutato esplicitamente la chiamata |
| 604 | Does Not Exist Anywhere | L'utente non esiste da nessuna parte |
| 606 | Not Acceptable | Parametri di sessione inaccettabili ovunque |
Domande frequenti
Cosa significa SIP 200 OK?
200 OK è la risposta di successo. Per un INVITE significa che la chiamata è stata risposta e trasporta la risposta SDP che completa la negoziazione dei media; il chiamante deve confermarlo con un ACK. Per altre richieste conferma semplicemente che l'operazione è riuscita.
Qual è la differenza tra 486 Busy Here e 600 Busy Everywhere?
486 Busy Here significa che lo specifico endpoint contattato è occupato, quindi un forking proxy può ancora provare altre posizioni. 600 Busy Everywhere è un fallimento globale (6xx) che indica che il chiamato è occupato in tutte le posizioni, quindi i proxy dovrebbero smettere di forkare e restituire il fallimento.
Perché ricevo SIP 488 Not Acceptable Here?
488 significa quasi sempre che la negoziazione dei media è fallita — l'offerta e la risposta SDP non condividono alcun codec comune, o non è stato possibile concordare un parametro media necessario (ad esempio una crypto suite SRTP). Verificate che entrambi i lati supportino un codec e un trasporto comuni.
Cosa significa 407 Proxy Authentication Required?
Un proxy sta richiedendo le credenziali per la richiesta. Il client dovrebbe reinviare la richiesta con un header Proxy-Authorization calcolato dalla challenge. È la controparte lato proxy di 401 Unauthorized, che proviene dallo UAS o dal registrar.
A cosa serve la risposta SIP 100 Trying?
100 Trying è una risposta provvisoria che comunica al salto a monte che la richiesta è stata ricevuta ed è in elaborazione, il che ferma la ritrasmissione della richiesta da parte del mittente. È salto per salto e non viaggia mai end-to-end come 180 o 200.
Specifiche della fonte
Gli standard pubblicati su cui si basa questa pagina. Si apre in una nuova scheda.