Stats

 results 1 - 1 of about 1 for Introduzione a SIP – parte 2. (0,314 seconds) 

Introduzione a SIP – parte 2

In questo secondo articolo, vediamo quali sono i comandi più comunemente inviati dal Session Internet Protocol e i relativi codici di risposta.

Nella prima parte di questa serie di articoli, abbiamo parlato delle funzionalità di base di SIP e di come queste si integrino con altri protocolli comunemente utilizzati. In questo articolo, continueremo la discussione parlando di come SIP esegue alcuni delle attività trattate nella parte 1.

Operazioni di base di SIP
Come abbiamo spiegato nella prima parte, ci sono alcuni compiti di cui SIP è responsabile. SIP svolge tali compiti mediante l’invio di determinati comandi. Ogni volta che SIP invia un comando, l’host a cui tale comando viene trasmesso risponde con un codice numerico. Questo codice dice a SIP quali sono i risultati dell’azione richiesta in modo che SIP sappia quello che deve fare in un secondo tempo. Più avanti in questo articolo, mostreremo alcuni dei comandipiù comunemente utilizzati e forniremo una panoramica generale sul significato dei codici di risposta. Prima, però, forniamo un esempio di come funziona il processo nel suo insieme.

Forse il comando più comunemente viene associato a SIP è REGISTER. Questo è impiegato principalmente per l’accesso nell’ambiente SIP, ma può essere usato anche quando un utente sta effettuando il log out.

Detto ciò, ecco in sintesi cosa accade quando un utente cerca di accedere a un’applicazione di Office Communications Server:

Dal momento che Office Communications Server 2007 utilizza SIP, la macchina client invia il comando REGISTER al server.
Vista la sicurezza usata da Office Communications Server, un utente non può registrarsi al server senza prima fare il log-in. Pertanto, Office Communications Server restituisce un errore. Come detto in precedenza, ai comandi rilasciati da SIP corrispondono risposte numeriche. In questo caso, il codice di risposta è 401, il quale indica che la registrazione non è stata autorizzata.
In risposta all’errore, il client restituisce il verbo REGISTER. Questa volta, però, la registrazione fornirà una serie di credenziali di Kerberos.
Office Communications Server accetta le credenziali e restituisce come risposta un codice 200, che per SIP equivale alla risposta OK. In sostanza, ciò significa che il comando è stato completato con successo.
Altri comandi SIP
Dopo aver parlato del comando REGISTER, e aver fornito un breve (e semplificato) esempio di come lavorano i comandi e le risposte, intorduciamo alcuni dei comandi più comunemente utilizzati. I primi due sono SUBSCRIBE e NOTIFY. Questi due lavorano assieme per rendere possibile l’utilizzo di informazioni sulla presenza.

Supponiamo per esempio che l’Utente 1 voglia controllare informazioni sulla presenza dell’Utente 2. L’applicazione client dell’Utente 1 lancia un comando SUBSCRIBE al server host indicando che vuole tenere sotto controllo l’Utente 2. L’host dovrebbe restituire un codice di risposta 200, al fine di comunicare che il comando ha avuto esito positivo, tuttavia l’host potrebbe chiedere un comando di sua iniziativa. In questo caso, l’host potrebbe rilasciare il comando NOTIFY al client informandolo dell’attuale stato dell’Utente 2. Al momento della ricezione di queste informazioni, il client restituisce al server il codice di risposta 200. Questo processo viene ripetuto ogni volta che cambiano le informazioni sulla presenza dell’Utente 2.

Quando l’Utente 1 ha sottoscritto le informazioni relative all’Utente 2, l’host notificherà all’Utente 1 qualsiasi cambiamento relativo allo stato dell’Utente 2.

Un altro comando molto usato è SERVICE. Nel precedente esempio, abbiamo visto come un host potrebbe notificare a un utente quando cambiano le informazioni sulla presenza di un altro utente. Tuttavia, se cambia l’utente cui si riferiscono tali informazioni è necessario disporre di un modo per informare l’host di detto cambiamento. Qui entra in gioco il verbo SERVICE. Ogni volta che un utente deve cambiare le informazioni relative alla sua presenza, la sua applicazione client invia un comando SERVICE per chiedere che l’host esegua qualche tipo di servizio; in questo caso, effettua un cambiamento sulle informazioni di presenza. Il comando SERVICE può essere utilizzato anche per creare conferenze.

Un altro comando comunemente usato è INVITE: viene utilizzato per stabilire una sessione di comunicazione peer-to-peer. Probabilmente, l’uso più noto del verbo INVITE è la definizione di sessioni di messaggistica istantanea, ma può anche essere impiegato per l’istituzione di audio e videoconferenze, condivisione di applicazioni e whiteboarding.

Ci sono altri comuni comandi che vogliamo menzionare rapidamente. Di seguito è riportato un elenco di questi verbi e una breve descrizione di ciò che fanno:

ACK – E’ un riconoscimento che a volte è inviato a un host in risposta al codice 200.
BYE – Utilizzato per terminare una sessione.
CANCEL – La domanda di annullare una richiesta Invite.

I codici di risposta
Visti alcuni dei comandi usati più di frequente, parliamo ora di alcuni dei codici di risposta più utilizzati. In linea generale, i codici di risposta sono raggruppati in intervalli. Codici all’interno dello stesso intervallo hanno funzioni simili. La tabella seguente elenca i range che sono impiegati e qual è il significato dei vari range:

Intervallo

Funzione

Da 100 a 199

I codici in questa gamma sono informativi, e di solito indicano che il server sta tentando di elaborare la richiesta.

Da 200 a 299

Tali codici indicano che la richiesta è stata elaborata.

Da 300 a 399

I codici di risposta nel range di 300 indicano un tipo di errore di servizio chiamato errore di reindirizzamento. Ciò significa che l’host attuale non può gestire le richieste, per cui la richiesta viene reindirizzata a un altro host.

Da 400 a 499

I codici di risposta nella gamma 400 sono errori di client e di solito corrispondono a eventi relativi alla sicurezza. Per esempio, un client riceverà un codice di errore in questo intervallo se fornisce una password non valida.

Da 500 a 599

Il codice di risposta 500 indica un errore del server. Per esempio, un codice in questo intervallo verrebbe generato se il server non può essere trovato o se non risponde.

Da 600 a 699

Quelli che appartengono a questa gamma sono codici di errore globale.

In conclusione
In questo articolo, abbiamo parlato di alcuni dei verbi SIP più comunemente utilizzati e dei codici di risposta. Nella terza parte, concluderemo questa serie di articoli parlando del routing SIP.

Tags: , , ,


.