A cosa serve il metodo BYE

Il metodo BYE, come possiamo intuire dal nome, è utilizzato per terminare una sessione di chiamata in corso. Può essere inviato sia dal chiamante, sia dal chiamato. Prima di spiegare il funzionamento del metodo BYE, introduciamo il Server Proxy SIP.

Un Proxy SIP riceve ed elabora le richieste SIP, facendo da tramite tra UAC (User Agent che manda le richieste) e UAS (User Agent che risponde). Alcune delle richieste da parte dello UAC vengono inviate al Proxy, come INVITE e ACK. Quando il Server Proxy riceve una richiesta, la elabora e la inoltra allo UAS di destinazione. Questo tipo di richieste è chiamato Hop by Hop.

Il Metodo BYE, al contrario, è End to End. Questo significa che la richiesta verrà inviata direttamente dallo UAC verso lo UAS.
Dall’immagine che segue, possiamo capire meglio la differenza.

Dall’immagine che segue, possiamo capire meglio la differenza.

Differenza tra Hop by Hop (Invite) e End to End (Bye)
Differenza tra Hop by Hop (Invite) e End to End (Bye)

Com’è composto?

Analisi header e campi di intestazione pacchetto BYE

Come negli altri Metodi, nella prima riga troviamo la Request-Line contenente, appunto, la richiesta fatta dallo UAC.
Già dalla prima riga, possiamo capire che la richiesta è per l’interlocutore da cellulare.

Come campi di intestazione, troviamo sempre il Via, che contiene l’indirizzo IP al quale l’interno aspetta una risposta, ed il Contact, che rappresenta una rotta diretta verso lo UAC.

I campi più importanti però, sono il To e il From, perché da questi possiamo capire da chi è stata terminata la chiamata in caso stessimo ad esempio indagando sulla caduta della chiamata.

Per maggiori chiarimenti, puoi consultare la documentazione ufficiale dell’RFC3261