Come abbiamo visto nell’articolo che parlava della Comunicazione tra client SIP, le Risposte SIP costituiscono un ruolo fondamentale, in quanto senza di esse non è possibile stabilire un dialogo.
Suddivisione Risposte SIP
Si suddividono in 6 categorie, così formate:
- 1xx: Risposte provvisorie ed informative – Confermano la ricezione della richiesta.
- 2xx: Risposte definitive di successo – La richiesta è stata completata con successo.
- 3xx: Risposte di reindirizzamento – Per completare la richiesta è necessario intraprendere ulteriori azioni.
- 4xx: Errori o seganalazioni del Client – La richiesta contiene una sintassi errata o non può essere completata.
- 5xx: Errori o segnalazioni del Server – Il server non è in grado di soddisfare una richiesta.
- 6xx: Errori globali – La richiesta non può essere soddisfatta in nessun caso sul server.
Com’è composto?
Di norma, i pacchetti di risposte sono formati da un Header compilato come una normale richiesta e sono privi di un “Body”.
Nel caso di fianco, successivamente ad un INVITE, il Server ha inviato una risposta 183 – Session Progress, che contiene un’offerta SDP visibile nel Body. Da qui possiamo capire quali codec sono supportati dal Server SIP.
Di seguito un elenco delle risposte più diffuse
1xx Risposte provvisorie ed informative
- 100 Trying – Il server ha ricevuto la richiesta e sta cercando di risolverla.
- 180 Ringing – Il server di destinazione ha ricevuto il messaggio INVITE e sta avvisando l’utente della chiamata.
- 182 Queued – La destinazione non è temporaneamente raggiungibile, la chiamata è in attesa fino a quando la destinazione non si libererà.
- 183 Session Progress – Viene utilizzata per inviare informazioni aggiuntive per una chiamata che è ancora in fase di set-up.
2xx Risposte definitive di successo
- 200 OK – Notifica che la richiesta è stata completata con successo.
- 202 Accepted – Indica che la richiesta è stata accettata.
- 204 No Notification – Indica che la richiesta è stata ascoltata, ma che a seguito non verrà ricevuta alcuna risposta.
3xx Risposte di Reindirizzamento
- 300 Multiple Choices – Indica che ci sono più indirizzi che l’utente può scegliere.
- 301 Moved Permanently – L’URI della richiesta originale non è più valido.
- 302 Moved Temporarily – L’URI della richiesta non è momentaneamente valido e viene specificato un nuovo indirizzo.
- 380 Alternate Service – La chiamata non è riuscita, ma le alternative sono contenute nel corpo del messaggio.
4xx Errori o segnalazioni del Client
- 400 Bad Request – La richiesta è stata ignorata in quanto la sintassi non è corretta.
- 401 Unauthorized – La richiesta richiede l’autenticazione dell’utente (ad esempio per richieste INVITE o MESSAGE).
- 403 Forbidden – La richiesta è stata ricevuta, ma il Client non ha le autorizzazioni necessarie.
- 404 Not Found – La richiesta non è presente sul server.
- 408 Request Timeout – Non è stato possibile completare la richiesta in tempo utile.
- 480 Temporarily Unavailable – Chiamata attualmente non disponibile.
- 486 Busy Here – La linea è occupata.
5xx Errori o segnalazioni del Server
- 500 Internal Server Error – Il server non ha potuto soddisfare la richiesta a causa di alcune condizioni impreviste.
- 501 Not Implemented – Il metodo richiesto non è implementato sul Server SIP.
- 503 Service Unavailable – Il server non è momentaneamente in grado di elaborare la richiesta
- 504 Server Timeout – Il server ha tentato di accedere ad un altro server mentre cercava di elaborare una richiesta, nessuna risposta tempestiva.
6xx Errori globali
- 600 Busy Everywhere – Tutte le destinazioni possibili sono occupate.
- 603 Declined – La destinazione non vuole/può partecipare alla chiamata e non ci sono destinazioni alternative.
- 607 Unwanted – La parte chiamata non vuole che venga chiamato dalla parte chiamante. I futuri tentativi saranno respinti in modo analogo.
Per ulteriori chiarimenti, puoi consultare la documentazione ufficiale RFC3261, sezione 21.
Per conoscere i metodi fondamentali e di estensione, puoi andare nell’apposita sezione: Metodi SIP.