6. Definitions
6 Definitions
I seguenti termini hanno particolare significato per SIP.
Address-of-Record (AOR): un address-of-record (AOR) è un URI SIP o SIPS che punta a un dominio con un servizio di localizzazione in grado di mappare l'URI su un altro URI dove l'utente potrebbe essere disponibile. Tipicamente, il servizio di localizzazione è popolato tramite registrazioni. Un AOR è spesso considerato l'« indirizzo pubblico » dell'utente.
Back-to-Back User Agent: un back-to-back user agent (B2BUA) è un'entità logica che riceve una richiesta e la elabora come user agent server (UAS). Per determinare come la richiesta debba essere risposta, agisce come user agent client (UAC) e genera richieste. A differenza di un server proxy, mantiene lo stato del dialogo e deve partecipare a tutte le richieste inviate sui dialoghi che ha stabilito. Poiché è una concatenazione di un UAC e di un UAS, non sono necessarie definizioni esplicite per il suo comportamento.
Call (chiamata): una chiamata è un termine informale che si riferisce a una qualche comunicazione tra peer, generalmente predisposta per scopi di una conversazione multimediale.
Call Leg (ramo di chiamata): un altro nome per dialogo [31]; non più utilizzato in questa specifica.
Call Stateful (con stato di chiamata): un proxy è con stato di chiamata se mantiene lo stato per un dialogo dalla INVITE iniziale alla richiesta BYE terminale. Un proxy con stato di chiamata è sempre con stato di transazione, ma il viceversa non è necessariamente vero.
Client: un client è un qualsiasi elemento di rete che invia richieste SIP e riceve risposte SIP. I client possono o non possono interagire direttamente con un utente umano. Gli user agent client e i proxy sono client.
Conference (conferenza): una sessione multimediale (vedi sotto) che contiene più partecipanti.
Core: Core designa le funzioni specifiche di un particolare tipo di entità SIP, cioè specifiche o di un proxy con stato o senza stato, o di un user agent o di un registrar. Tutti i core, tranne quelli per il proxy senza stato, sono utenti di transazione.
Dialog (dialogo): un dialogo è una relazione SIP peer-to-peer tra due UA che persiste per un certo tempo. Un dialogo è stabilito da messaggi SIP, come una risposta 2xx a una richiesta INVITE. Un dialogo è identificato da un identificatore di chiamata, un tag locale e un tag remoto. Un dialogo era in precedenza noto come call leg nella RFC 2543.
Downstream (a valle): una direzione di inoltro dei messaggi all'interno di una transazione che si riferisce alla direzione in cui le richieste fluiscono dal user agent client al user agent server.
Final Response (risposta finale): una risposta che termina una transazione SIP, al contrario di una risposta provvisoria che non lo fa. Tutte le risposte 2xx, 3xx, 4xx, 5xx e 6xx sono finali.
Header (intestazione): un header è un componente di un messaggio SIP che trasporta informazioni sul messaggio. È strutturato come una sequenza di campi di intestazione.
Header Field (campo di intestazione): un campo di intestazione è un componente dell'header del messaggio SIP. Un campo di intestazione può apparire come una o più righe di campo di intestazione. Le righe di campo di intestazione consistono in un nome di campo di intestazione e zero o più valori di campo di intestazione. Più valori di campo di intestazione su una data riga di campo di intestazione sono separati da virgole. Alcuni campi di intestazione possono avere solo un singolo valore di campo di intestazione e, di conseguenza, appaiono sempre come una singola riga.
Header Field Value (valore del campo di intestazione): un valore di campo di intestazione è un singolo valore; un campo di intestazione consiste di zero o più valori di campo di intestazione.
Home Domain (dominio di origine): il dominio che fornisce servizio a un utente SIP. Tipicamente, questo è il dominio presente nell'URI nell'address-of-record di una registrazione.
Informational Response (risposta informativa): identica a una risposta provvisoria.
Initiator, Calling Party, Caller (iniziatore, parte chiamante, chiamante): la parte che inizia una sessione (e un dialogo) con una richiesta INVITE. Un chiamante mantiene questo ruolo dal momento in cui invia la INVITE iniziale che ha stabilito un dialogo fino alla terminazione di quel dialogo.
Invitation (invito): una richiesta INVITE.
Invitee, Invited User, Called Party, Callee (invitato, utente invitato, parte chiamata, chiamato): la parte che riceve una richiesta INVITE allo scopo di stabilire una nuova sessione. Un chiamato mantiene questo ruolo dal momento in cui riceve la INVITE fino alla terminazione del dialogo stabilito da quella INVITE.
Location Service (servizio di localizzazione): un servizio di localizzazione è utilizzato da un server di reindirizzamento o proxy SIP per ottenere informazioni sulle possibili posizioni di un chiamato. Contiene un elenco di binding di chiavi address-of-record a zero o più indirizzi di contatto. I binding possono essere creati e rimossi in molti modi; questa specifica definisce un metodo REGISTER che aggiorna i binding.
Loop (ciclo): una richiesta che arriva a un proxy, viene inoltrata e in seguito arriva di nuovo allo stesso proxy. Quando arriva la seconda volta, il suo Request-URI è identico alla prima volta e altri campi di intestazione che influenzano il funzionamento del proxy sono invariati, così che il proxy prenderebbe la stessa decisione di elaborazione della prima volta. Le richieste in ciclo sono errori e le procedure per rilevarle e gestirle sono descritte dal protocollo.
Loose Routing (routing lasco): un proxy si dice a routing lasco se segue le procedure definite in questa specifica per l'elaborazione del campo di intestazione Route. Queste procedure separano la destinazione della richiesta (presente nel Request-URI) dall'insieme di proxy che devono essere visitati lungo il percorso (presente nel campo di intestazione Route). Un proxy conforme a questi meccanismi è anche noto come router lasco.
Message (messaggio): dati inviati tra elementi SIP come parte del protocollo. I messaggi SIP sono o richieste o risposte.
Method (metodo): il metodo è la funzione primaria che una richiesta è destinata a invocare su un server. Il metodo è trasportato nella richiesta stessa. Esempi di metodi sono INVITE e BYE.
Outbound Proxy (proxy in uscita): un proxy che riceve richieste da un client, anche se potrebbe non essere il server risolto dal Request-URI. Tipicamente, un UA è configurato manualmente con un proxy in uscita, o può venirne a conoscenza tramite protocolli di auto-configurazione.
Parallel Search (ricerca parallela): in una ricerca parallela, un proxy emette diverse richieste a possibili posizioni dell'utente al ricevimento di una richiesta in arrivo. Invece di emettere una richiesta e poi attendere la risposta finale prima di emettere la richiesta successiva come in una ricerca sequenziale, una ricerca parallela emette richieste senza attendere il risultato delle richieste precedenti.
Provisional Response (risposta provvisoria): una risposta utilizzata dal server per indicare progresso, ma che non termina una transazione SIP. Le risposte 1xx sono provvisorie, le altre risposte sono considerate finali.
Proxy, Proxy Server (proxy, server proxy): un'entità intermediaria che agisce sia come server sia come client allo scopo di effettuare richieste per conto di altri client. Un server proxy svolge principalmente il ruolo di instradamento, il che significa che il suo compito è assicurarsi che una richiesta sia inviata a un'altra entità « più vicina » all'utente destinatario. I proxy sono anche utili per l'applicazione di politiche (per esempio, assicurarsi che un utente sia autorizzato a effettuare una chiamata). Un proxy interpreta e, se necessario, riscrive parti specifiche di un messaggio di richiesta prima di inoltrarlo.
Recursion (ricorsione): un client ricorre su una risposta 3xx quando genera una nuova richiesta a uno o più degli URI nel campo di intestazione Contact della risposta.
Redirect Server (server di reindirizzamento): un server di reindirizzamento è un user agent server che genera risposte 3xx alle richieste ricevute, indirizzando il client a contattare un insieme alternativo di URI.
Registrar: un registrar è un server che accetta richieste REGISTER e inserisce le informazioni ricevute in quelle richieste nel servizio di localizzazione per il dominio che gestisce.
Regular Transaction (transazione regolare): una transazione regolare è qualsiasi transazione con un metodo diverso da INVITE, ACK o CANCEL.
Request (richiesta): un messaggio SIP inviato da un client a un server, allo scopo di invocare una particolare operazione.
Response (risposta): un messaggio SIP inviato da un server a un client, per indicare lo stato di una richiesta inviata dal client al server.
Ringback (tono di richiamata): il ringback è il tono di segnalazione prodotto dall'applicazione della parte chiamante che indica che una parte chiamata sta venendo allertata (sta squillando).
Route Set (insieme di route): un insieme di route è una raccolta ordinata di URI SIP o SIPS che rappresentano un elenco di proxy che devono essere attraversati quando si invia una particolare richiesta. Un insieme di route può essere appreso tramite header come Record-Route, o può essere configurato.
Server: un server è un elemento di rete che riceve richieste per servirle e invia indietro risposte a quelle richieste. Esempi di server sono proxy, user agent server, server di reindirizzamento e registrar.
Sequential Search (ricerca sequenziale): in una ricerca sequenziale, un server proxy tenta ciascun indirizzo di contatto in sequenza, procedendo al successivo solo dopo che il precedente ha generato una risposta finale. Una risposta finale di classe 2xx o 6xx termina sempre una ricerca sequenziale.
Session (sessione): dalla specifica SDP: « Una sessione multimediale è un insieme di mittenti e ricevitori multimediali e dei flussi di dati che fluiscono dai mittenti ai ricevitori. Una conferenza multimediale è un esempio di sessione multimediale. » (RFC 2327 [1]) (Una sessione definita per SDP può comprendere una o più sessioni RTP.) Come definito, un chiamato può essere invitato più volte, da chiamate diverse, alla stessa sessione. Se è usato SDP, una sessione è definita dalla concatenazione degli elementi nome utente SDP, id sessione, tipo di rete, tipo di indirizzo e indirizzo nel campo origin.
SIP Transaction (transazione SIP): una transazione SIP si verifica tra un client e un server e comprende tutti i messaggi dalla prima richiesta inviata dal client al server fino a una risposta finale (non-1xx) inviata dal server al client. Se la richiesta è INVITE e la risposta finale è non-2xx, la transazione include anche un ACK alla risposta. L'ACK per una risposta 2xx a una richiesta INVITE è una transazione separata.
Spiral (spirale): una spirale è una richiesta SIP che è instradata a un proxy, inoltrata oltre, e arriva di nuovo a quel proxy, ma questa volta differisce in un modo che comporterà una diversa decisione di elaborazione rispetto alla richiesta originale. Tipicamente, ciò significa che il Request-URI della richiesta differisce dal suo arrivo precedente. Una spirale non è una condizione di errore, a differenza di un ciclo. Una causa tipica è l'inoltro di chiamata. Un utente chiama [email protected]. Il proxy example.com lo inoltra al PC di Joe, che a sua volta lo inoltra a [email protected]. Questa richiesta è proxata di nuovo al proxy example.com. Tuttavia, questa non è una spirale di errore. Poiché la richiesta è destinata a un utente diverso, è considerata una spirale ed è una condizione valida.
Stateful Proxy (proxy con stato): un'entità logica che mantiene le macchine a stati di transazione client e server definite da questa specifica durante l'elaborazione di una richiesta, anche noto come proxy con stato di transazione. Il comportamento di un proxy con stato è ulteriormente definito nella Sezione 16. Un proxy (con stato di transazione) non è la stessa cosa di un proxy con stato di chiamata.
Stateless Proxy (proxy senza stato): un'entità logica che non mantiene le macchine a stati di transazione client o server definite da questa specifica quando elabora le richieste. Un proxy senza stato inoltra ogni richiesta ricevuta a valle e ogni risposta ricevuta a monte.
Strict Routing (routing stretto): un proxy si dice a routing stretto se segue le regole di elaborazione Route della RFC 2543 e di molte versioni di lavoro precedenti di questa RFC. Quella regola causava la distruzione da parte dei proxy del contenuto del Request-URI quando era presente un campo di intestazione Route. Il comportamento di routing stretto non è usato in questa specifica, a favore di un comportamento di routing lasco. I proxy che eseguono routing stretto sono anche noti come router stretti.
Target Refresh Request (richiesta di aggiornamento target): una richiesta di aggiornamento target inviata all'interno di un dialogo è definita come una richiesta che può modificare il target remoto del dialogo.
Transaction User (TU) (utente di transazione): il livello di elaborazione del protocollo che risiede sopra il livello transazionale. Gli utenti di transazione includono il core UAC, il core UAS e il core proxy.
Upstream (a monte): una direzione di inoltro dei messaggi all'interno di una transazione che si riferisce alla direzione in cui le risposte fluiscono dal user agent server al user agent client.
URL-encoded: una stringa di caratteri codificata secondo RFC 2396, Sezione 2.4 [5].
User Agent Client (UAC) (user agent client): un user agent client è un'entità logica che crea una nuova richiesta e poi usa la meccanica di stato di transazione client per inviarla. Il ruolo di UAC dura solo per la durata di quella transazione. In altre parole, se un software initia una richiesta, agisce come UAC per la durata di quella transazione. Se riceve una richiesta in seguito, assume il ruolo di user agent server per l'elaborazione di quella transazione.
UAC Core: l'insieme delle funzioni di elaborazione richieste a un UAC che risiedono sopra i livelli transazionale e di trasporto.
User Agent Server (UAS) (user agent server): un user agent server è un'entità logica che genera una risposta a una richiesta SIP. La risposta accetta, rifiuta o reindirizza la richiesta. Questo ruolo dura solo per la durata di quella transazione. In altre parole, se un software risponde a una richiesta, agisce come UAS per la durata di quella transazione. Se genera una richiesta in seguito, assume il ruolo di user agent client per l'elaborazione di quella transazione.
UAS Core: l'insieme delle funzioni di elaborazione richieste a un UAS che risiedono sopra i livelli transazionale e di trasporto.
User Agent (UA) (user agent): un'entità logica che può agire sia come user agent client sia come user agent server.
I ruoli di UAC e UAS, così come di server proxy e di reindirizzamento, sono definiti transazione per transazione. Per esempio, lo user agent che avvia una chiamata agisce come UAC quando invia la richiesta INVITE iniziale e come UAS quando riceve una richiesta BYE dal chiamato. Allo stesso modo, lo stesso software può agire come server proxy per una richiesta e come server di reindirizzamento per la richiesta successiva.
I server proxy, di localizzazione e registrar definiti sopra sono entità logiche; le implementazioni POSSONO combinarli in una singola applicazione.