A cosa serve il metodo ACK

Il metodo ACK – che ricordiamo far parte del documento RFC3261 – è utilizzato per confermare la risposta finale al metodo INVITE (clicca qui se ti sei perso l’articolo a riguardo) ed è sempre inviato da chi richiede la sessione.

Se durante l’INVITE non si definisce un SDP, viene effettuata un’offerta insieme alla risposta “200 OK” e confermata nella risposta di conferma ACK:

Flusso SIP con offerta SDP dallo UAS
Flusso SIP con offerta SDP dallo UAS

Nel flusso che segue, invece, notiamo che l’ACK viene sempre inviato da parte dello UAC (User Agent che manda le richieste) a seguito di una o più risposte provenienti dallo UAS (User Agent che risponde alle richieste).

Flusso SIP con ACK
Flusso SIP con ACK

Com’è composto?

Analisi campi di intestazione pacchetto ACK
Pacchetto ACK

Proprio come il metodo INVITE, nella prima riga è contenuto il nome del metodo; mentre le righe che seguono sono una lista di campi di intestazione uguali a quelli contenuti nell’INVITE, proprio per confermare la richiesta iniziale.

Possiamo quindi vedere che i campi Via, To e From sono uguali all’INVITE e che fa riferimento allo stesso Call-ID della sessione generata precedentemente