1.1 La raccomandazione H.323
Il settore Telecomunicazioni dell'International Telecommunication Union (ITU-T) ha da diversi anni sviluppato un insieme di standard per le conferenze multimediali su reti a pacchetto. Questi standard sono stati aggregati sotto uno standard "ombrello", detto Raccomandazione H.323, che descrive i terminali, i dispositivi e i servizi per comunicazioni multimediali su reti nelle quali non può essere garantita la qualità del servizio, e con tipologia non definita (ad anello, a segmento semplice, a segmento multiplo, etc.).
La Raccomandazione H.323 comprende un certo numero di documenti correlati, anch'essi in forma di raccomandazioni, ognuno concernente uno specifico aspetto della comunicazione:
Altri standard ai quali si fa riferimento includono i codec audio, quali G.711, G.723.1, G.729 e G.722, e video, quali H.261 e H.263, e i protocolli RTP e RTCP.
L'ambiente iniziale previsto per H.323 era l'ambiente delle reti aziendali, principalmente LAN. L'accesso alle reti WAN venne ottenuto con l'uso di gateways verso le reti ISDN, il cui funzionamento è descritto dalla Raccomandazione H.320.
Durante le prime revisioni dell'H.323 (attualmente arrivata alla versione 4), divenne chiaro che la telefonia su IP stava acquisendo sempre maggiore popolarità, e vennero aggiunte estensioni e funzionalità specifiche per rendere i protocolli H.323 sempre più adatti per la telefonia su IP.
Il protocollo H.450 è un esempio di queste funzionalità specifiche: infatti, esso è relativo a servizi supplementari quali trasferimento di chiamata, richiamata su occupato, e simili, tipici servizi di valore aggiunto per telefonia tradizionale.

Figura 1.1 Panoramica dell'architettura H.323
Al più alto livello l'architettura H.323 connette gli utenti attraverso un sistema di reti eterogenee con un sistema di indirizzamento universale e un protocollo consistente di gestione del flusso informativo.
Usando i blocchi costituenti descritti in figura 1.2, "impacchettati" in uno stack protocollare comune, gli endpoint H.323 possono trovarsi l'un l'altro e comunicare attraverso la rete; essi possono eventualmente sfruttare le capacità e i servizi di vari componenti descritti nello standard, ove essi siano presenti sulla rete e disponibili.

Figura 1.2 Struttura di un terminale H.323

Figura 1.3 Stack protocollare H.323
Tutti i componenti H.323 usano lo stack H.323 per trasmettere e ricevere dati.
Le informazioni H.323 vengono classificate come audio, video, dati, controllo della comunicazione e controllo della chiamata, nella seguente maniera:
La Raccomandazione H.323 definisce un certo numero di componenti:
La cella fondamentale della struttura H.323 è detta Zona: questa include almeno un Terminale, può o meno comprendere Gateways, Multipoint Control Unit (MCU), Multipoint Controllers (MC) e Multipoint Processors (MP), gestiti da un UNICO Gatekeeper.
La Zona è indipendente dalla tipologia della LAN; può anzi comprendere più LAN connesse da Routers. Ogni elemento appartenente alla Zona è descritto dalla raccomandazione H.323 sia nelle caratteristiche strutturali, che nei protocolli di comunicazione e controllo, necessari per lo scambio di informazioni.
Entità
Qualsiasi componente compatibile con lo standard H.323
Endpoint
Un endpoint H.323 è un componente di rete capace di fare e ricevere chiamate. Esso genera e termina flussi di informazione. Notiamo la distinzione tra endpoint e terminale.
Terminali
Un terminale H.323 è un'endpoint che è capace di instaurare una comunicazione bidirezionale real-time con un altro terminale, un gateway o un MCU.
Tale comunicazione consiste di segnali di controllo, indicazioni, audio, immagini a colori e in movimento, e/o dati tra i due terminali.
Facendo riferimento alla figura 1.2, ogni terminale H.323 deve necessariamente essere provvisto di un'unità di controllo del sistema, uno strato H.225.0, un'interfaccia di rete, un'unità di codifica/decodifica audio. Il video codec e lo User Data Application sono opzionali. Più in dettaglio:
Audio codec: si occupa della codifica dei segnali audio provenienti dal microfono e della decodifica di quelli ricevuti dalla trasmissione di altre postazioni.
La scelta della codifica audio utilizzata viene fatta in fase di concertazione iniziale, secondo la raccomandazione H.245.
I pacchetti audio dovrebbero essere consegnati al livello di trasporto periodicamente, ad intervalli di lunghezza prefissata (Audio Frame Interval) in base al codec utilizzato.
I terminali H.323 possono ricevere più canali audio, in particolare nel caso di conferenze multipoint, e a tale scopo devono prevedere delle funzionalità di mixaggio dei flussi audio. Per indicare quanti canali audio un terminale può gestire si utilizza, ancora una volta, la segnalazione H.245.
Video codec: questa è una possibilità che la raccomandazione H.323 non richiede obbligatoriamente (a differenza del codec audio). Se supportata però, i terminali devono essere in grado di codificare/decodificare i frame video, secondo la raccomandazione H.261 QCIF (Quarter CIF). Altre codifiche e/o formati per la trasmissione di immagini possono essere utilizzati previa negoziazione in fase iniziale secondo le specifiche H.245.
Receive path delay: è la struttura che si occupa della sincronizzazione tra audio e video. Questa struttura è sostanzialmente un buffer nel quale vengono riallineati i pacchetti audio e video ricevuti; questi, viaggiando su canali separati, possono subire ritardi diversi.
Controllo del sistema: è costituito da tre parti
Lo strato H.225.0 : tutti i canali logici (audio, video, dati, controllo) devono essere conformi al formato della raccomandazione H.225.0; le caratteristiche principali definite sono le seguenti :
Nella figura 1.4 possiamo vedere la collocazione dei blocchi funzionali ora descritti in riferimento all'architettura ISO-OSI

Figura 1.4 Protocolli e strati nell'H.323
Aggiungiamo che la rappresentazione in figura non è affatto l'unica: ci sono alcuni vendor (tra i quali Cisco) che inseriscono le funzionalità elencate in altri strati.
Gateway
Il gateway è un elemento non obbligatorio in una conferenza H.323, ma necessario ogni volta che occorre mettere in comunicazione reti eterogenee tra loro.
Questo elemento opera una traduzione di protocolli, ad esempio H.225- H.245 verso H.221- H.242 nel caso di un gateway che operi tra una LAN e una rete PSTN.
Inoltre opera traduzione dei codec audio e video, e si incarica del setup e dell'abbattimento della chiamata su entrambe le reti che mette in contatto. In figura 1.5 abbiamo l'esempio di un gateway verso la rete PSTN.

Figura 1.5 Gateway verso la rete PSTN
Nella figura 1.6 abbiamo, invece, il funzionamento dello stesso gateway in termini di strati funzionali della pila ISO-OSI.
Come si vede, il gateway termina i protocolli di comunicazione su entrambe le reti: esso viene quindi visto come un terminale H.323 sulla LAN e come un terminale PSTN sulla rete commutata.

Figura 1.6. Traduzione di protocolli da parte del gateway
La applicazioni più comuni di un gateway sono:
In aggiunta, con l'uso di appropriate transcodifiche, i gateway H.323 possono supportare terminali compatibili con i protocolli H.310, H.321, H.322 e V.70.
L'aggiunta del gateway all'architettura ha dato all'H.323 la possibilità di interfacciarsi con tutte le altre realtà esistenti, e di conseguenza ha permesso allo standard di diffondersi in maniera capillare.
Gatekeeper
Sicuramente il componente centrale dell'architettura: agisce come punto di riferimento per tutte le chiamate all'interno della sua zona, e fornisce servizi di controllo di chiamata agli endpoint registrati. In un certo senso un gatekeper agisce come un centralino virtuale.
Le funzioni principali sono:
Una funzione non obbligatoria, ma che costituisce un notevole valore aggiunto, è la possibilità per un gatekeeper di lavorare in modalità "routed".
Abbiamo due aspetti di tale modalità:

Figura 1.7 Segnalazione di chiamata Gatekeeper-Routed

Figura 1.8 Controllo di chiamata Gatekeeper-Routed
Multipoint Control Unit (MCU)
L'MCU è un'entità che permette a tre o più terminali di partecipare a una conferenza multipunto. Nell'ambito H.323 un MCU è costituito da un Multipoint Controller (MC), anche detto Media Controller, che è obbligatoriamente presente, e da zero o più Multipoint Processor (MP).
Il Media Controller gestisce i messaggi H.245, e stabilisce dei codec audio e video comuni a tutti gli endpoint, come pure una larghezza di banda sostenibile da tutti i partecipanti alla conferenza. Esso non ha a che fare direttamente con i flussi voce/video: questa incombenza viene lasciata al Media Processor, che mescola, commuta e processa byte audio, video e/o dati. MC e MP possono trovarsi in un componente dedicato o essere parte di altri componenti H.323, come ad esempio un gatekeeper.
Esistono vari tipi di conferenza multipunto, e per ognuno di questi l'MCU funziona in maniera differente.

Figura 1.9 Conferenze multipunto Decentralizzata e Centralizzata
Un vantaggio delle conferenze multipunto di tipo centralizzato è che sicuramente ogni terminale H.323 supporta la modalità di comunicazione punto- punto, mentre non tutti supportano quella punto-multipunto; L'MCU può mandare flussi ai partecipanti in modalità unicast, e non sono richieste particolari funzionalità di rete.
In alternativa l'MCU può ricevere i flussi dati dai singoli terminali in modalità punto-punto, mixare audio e video, e poi produrre un flusso multimediale trasmesso in multicast, risparmiando banda.
Le conferenze di tipo decentralizzato, d'altronde, non richiedono la presenza di un MCU, che è un componente costoso e comunque una risorsa limitata.
Proxy
Per la descrizione di questa entità, del suo funzionamento e delle sue possibili realizzazioni rimandiamo al capitolo ad esso dedicato.
Un piccolo riassunto dei punti fondamentali della "filosofia" H.323.
Quando viene iniziata una chiamata H.323 tipicamente gli endpoint:
Interazione tra endpoint e gatekeeper
Se un gatekeeper è presente gli endpoint si devono registrare ad esso. Agli endpoint ad esso registrati questa entità offre, tra gli altri, i servizi di controllo di chiamata e risoluzione di indirizzo.
Uso dei canali
Su una rete IP le entità comunicano per mezzo di canali. Una chiamata H.323 consiste in una serie di canali, che usano sia meccanismi di trasporto affidabili sia non affidabili. Nello specifico, il trasporto affidabile viene operato mediante il protocollo TCP, mentre quello inaffidabile usa il protocollo UDP.
Un endpoint usa canali affidabili per mandare i messaggi di instaurazione e di abbattimento di chiamata a un altro endpoint, mentre usa un canale inaffidabile (RAS) per la comunicazione con il gatekeeper.
All'inizio di una chiamata H.323 l'endpoint chiamante manda una richiesta di ammissione al servizio al gatekeeper su un canale inaffidabile, seguita da un setup di chiamata verso un indirizzo su un canale affidabile. L'indirizzo cui è diretto il setup può essere contenuto nel messaggio di conferma ricevuto dal gatekeeper oppure essere già noto al terminale chiamante. A questo punto si avvia la sequenza di call setup basata sul protocollo H.225.0 (vedi figura 1.10).

Figura 1.10 Setup di chiamata
La sequenza termina quando il terminale chiamante riceve un indirizzo di strato di trasporto affidabile al quale spedire i messaggi di controllo H.245.
Una volta instaurato il canale di controllo affidabile H.245 verranno aperti altri canali per audio, video e dati in base al risultato della procedura di capability exchange.
Audio e video sono trasportati dal protocollo inaffidabile UDP; l'uso di un trasporto inaffidabile per dati di tipo real-time ha senso, in quanto, se dei pacchetti arrivano fuori ordine o vengono persi non sono di alcuna utilità per il terminale, e vengono scartati.
La condivisione di applicazioni (protocollo T.120) usa un canale affidabile TCP.
Canali Logici
I canali logici sono in generale unidirezionali e indipendenti in ciascuna direzione di trasmissione; alcuni canali logici possono essere bidirezionali (T.120) .
Non c'è un limite al numero di canali logici che possono essere aperti per una chiamata, mentre il canale di controllo H.245 sarà sempre uno solo per chiamata. In aggiunta ai canali logici gli endpoint usano due canali di segnalazione per il controllo di chiamata e per l'interazione col gatekeeper: il formato e l'uso di questi è descritto nella raccomandazione H.225.
Alias addressing
Gli alias costituiscono un metodo alternativo di indirizzamento di un terminale H.323; per esempio, si può accedere a un terminale da un'altra stazione H.323 cliccando su un link ipertestuale HTML, oppure attraverso un indirizzo e-mail.
Un terminale può avere più di un indirizzo alias, ognuno dei quali viene "tradotto" dal gatekeeper nello stesso indirizzo di trasporto. Tali alias sono unici all'interno di ogni "zona".
Indirizzi H.323
Ogni terminale H.323 deve avere almeno un indirizzo di LAN (TCP/IP o IPX). Tali indirizzi sono condivisi se due entità condividono una stessa macchina "fisica". In aggiunta, ogni entità può avere uno o più indirizzi alias che permettono indirizzamento alternativo, inclusi nomi, numeri di telefono, indirizzi e-mail, etc.
A favore:
INDIPENDENZA DALLA RETE SOTTOSTANTE
H.323 stabilisce uno standard per un'infrastruttura di rete esistente, e permette agli utenti di usare applicazioni multimediali senza cambiare la loro infrastruttura di rete. Inoltre, lavorando "al di sopra" delle architetture di rete, si avvantaggia della loro evoluzione e miglioramento
BENEFICIA DEI PROGRESSI TECNOLOGICI
Le LAN stanno diventando sempre più veloci: l'accresciuta larghezza di banda permette lo scambio di contenuti multimediali che non si limitano alla sola voce, ma si estendono al video e alla condivisione di applicazioni e file. I PC sono sempre più potenti: all'aumentare della potenza di calcolo i terminali sono in grado di gestire meglio un maggior numero di flussi di media
POSSIBILITA' DI VIDEOCOMUNICAZIONE E APPLICAZIONI CONDIVISE
COSTI INFERIORI
Si parla di costi di esercizio, manutenzione e di upgrade di un sistema esistente: per una prima installazione di un sistema telefonico H.323 il discorso varia caso per caso.
INTEROPERABILITA' - SI
Definendo uno standard si fa in modo che gli elementi hardware e software siano compatibili tra loro, anche se prodotti da differenti costruttori
INDIPENDENZA DALLA PIATTAFORMA
L'H.323 non è legato ad alcun sistema operativo né ad alcun tipo di hardware. Possiamo trovare piattaforme H.323-compatibili di ogni tipo, dai computer multimediali ai telefoni IP, etc.
SUPPORTO PER LE CONFERENZE MULTIPUNTO
GESTIONE DI BANDA
Poiché il traffico video e audio è molto pesante in termini di occupazione di banda, si può limitare il numero di connessioni contemporanee oppure la banda totale riservata per applicazioni multimediali. In questo modo ci si assicura che il traffico "critico" non venga rallentato
SUPPORTO PER IL MULTICAST
COMUNICAZIONE CON ALTRI TIPI DI RETE
Come già visto, la presenza dei gateway permette l'interazione con altre infrastrutture di rete

Figura 1.11 Comunicazioni con altri tipi di rete
A sfavore:
NON SCALABILITA' DEL SERVIZIO DI TRASPORTO
Le reti IP, per loro natura, non sono scalabili, ovvero le caratteristiche del servizio peggiorano all'aumentare delle dimensioni delle reti, e delle distanze in gioco; questo significa che due utenti, ad esempio, durante una chiamata, percepiranno una minore qualità, dovuta alla perdita di pacchetti, e maggiori ritardi, dovuti al maggior numero di router che i pacchetti hanno dovuto attraversare
COMPLESSITA'
L'enorme flessibilità dell'H.323 lo rende anche, purtroppo, enormemente complicato da implementare; la maggior parte dei produttori si accontenta di implementare un sottoinsieme delle funzionalità che soddisfi i loro bisogni immediati
INTEROPERABILITA' - NO
L'ITU-T non fornisce, in effetti, delle linee guida per l'implementazione, ed è difficile avere una reale compatibilità multi-vendor. Prendiamo ad esempio una chiamata tra due telefoni sulla rete IP (vedi figura 1.12).

Figura 1.12 Chiamata tra telefoni attraverso la rete IP
Il setup della chiamata, per andare a buon fine, richiede che i due terminali (i telefoni) siano compatibili, che i due gateway siano compatibili, e che ognuno dei due terminali sia rispettivamente compatibile con il proprio gateway. Se i prodotti sono di costruttori differenti ci sono ottime probabilità di avere problemi.
Tali problemi, specifichiamo, non riguardano in genere i codec, l'implementazione dei quali è ben sviluppata, ma riguardano soprattutto la fase di capability exchange e quella di segnalazione, spesso non implementate in maniera completa dai costruttori.
Il problema, come ci si può aspettare, cresce esponenzialmente all'aumentare del numero dei vendor.
L'inserimento di un proxy nell'architettura può aiutare a migliorare le cose: se si hanno vari tipi di endpoint su una LAN, ad esempio, essi vengono "mascherati" dalla presenza del proxy, e le comunicazioni in uscita da tale LAN apparirebbero come iniziate da un solo tipo di endpoint, riducendo i problemi di compatibilità.
MANCANZA DI SERVIZI DI VALORE AGGIUNTO
Ad oggi, nonostante gli sforzi di standardizzazione, concretizzati nella serie H.450.x, i servizi aggiuntivi che può offrire un sistema di telefonia IP non sono di qualità paragonabile a quelli che può offrire, ad esempio, un PABX sulla rete telefonica tradizionale, a meno di avere tutti prodotti di uno stesso vendor. In quest'ultimo caso, purtroppo, spesso il funzionamento non è del tutto compatibile con lo standard
SICUREZZA
In una comunicazione H.323 i dati viaggiano "in chiaro", il che non è opportuno nelle comunicazioni intra o inter-aziendali, così come non è gradito in quelle personali. Il problema viene affrontato dalla Raccomandazione H.235, che tratta dei problemi di autenticazione e criptaggio dei dati, ma in realtà la maggior parte dei prodotti presenti sul mercato non supporta queste funzionalità.
Lo standard H.323 trova sul suo cammino alcuni ostacoli: per prima cosa la tecnologia H.323 non ha conquistato la quota di mercato che era nelle previsioni dei suoi sostenitori, e tuttora la telefonia su IP ha un ruolo marginale nel panorama internazionale delle comunicazioni.
Inoltre, L'IETF (Internet Engineering Task Force) ha proposto un protocollo di strato di applicazione detto SIP (Session Initiation Protocol) per comunicazioni multimediali, che presenta diversi vantaggi teorici rispetto al suo omologo "targato"
ITU-T:
Gli esperti sono d'accordo in generale nell'indicare il SIP come il futuro, ma la tecnologia SIP non ha ancora raggiunto un grado di maturità paragonabile a quello dell'H.323, che ha cominciato il suo percorso nel 1996, e ha dalla sua una buona esperienza "sul campo" e elementi software e hardware ben collaudati, soprattutto per l'Europa.
Probabilmente, nei prossimi anni, il SIP comincerà a diffondersi soprattutto in ambito casalingo, mentre in campo aziendale sarà ancora l'H.323 che avrà la maggior diffusione; più avanti il SIP potrà prenderne il posto, a patto di diventare altrettanto affidabile.