La norme H.323, recommandation de l’UIT-T (Union Internationale des Télécommunications, secteur Télécoms), propose des bases pour le transport de la voix, de la vidéo et de données sur des réseaux IP, ce qui inclut bien sûr Internet. Elle fait beaucoup parler d'elle pour la téléphonie sur IP.
H.323 s’appuie sur des protocoles de communications (RTP, RTCP, …), mais également sur des codecs audio (G.711,G723.1, G.728,…) et des codecs vidéo (H.261 et H.263).
Les différents protocoles sont représentés ci-dessous dans le modèle OSI :
La signalisation se fait avec les protocoles suivants :
- RAS : Gère l’admission et l’état des communications
- Q.931 : Gère les appels et le raccrochage
- H.245 : Gère l’utilisation des canaux et leur capacité
Des fonctions optionnels sont également proposées par les protocoles H.235 (sécurité et authentification) et H.450.x (divers services supplémentaires).
Certains en-têtes de protocoles sont détaillés à titre d’exemple : RTP, RTCP et H.261.
RTP : Real-time Transport Protocol
Le protocole RTP est décrit dans la RFC 1889.
RTP s’occupe du transport de données en temps réel. Il ne gère pas les ressources du réseau et ne garantit pas de qualité de service.
Le format de l’en-tête est le suivant :
- V : Version : numéro de version de RTP utilisée
- P : Padding : à 1, il signifie que le champ des données ont une partie de bourrage
- X : Extension bit : à 1, il indique que l’en-tête principale à une partie d’en-tête supplémentaire
- Compteur CSRC : contient le nombre d’identifiants CSRC qui suivent l’en-tête fixe
- M : Marker : la signification du marqueur est variable
- Type de données : identifie le format des données
- Numéro de séquence : incrémenté de 1 à chaque paquet envoyé
- Marque de temps : permet de synchroniser ou de faire des calculs de gigue
- SSRC : identifie la source de la synchronisation
- CSRC : identifie la source des données
RTCP : RTP Control Protocol
Le protocole RTCP est décrit dans la RFC 1889.
Ce protocole a pour but de transmettre périodiquement des paquets de contrôle à tous les participants d’une session.
Le format de l’en-tête est le suivant :
V : Version : numéro de version de RTP
P : Padding : à 1, il signifie qu’il contient des octets de bourrage à la fin de la trame
Compteur de réception : le nombre de rapport de réception contenu dans ce paquet.
Type de paquet : contient 200 pour identifier un paquet RTCP SR.
Lenght : longueur totale du paquet moins 1 en nombre de mots de 32 bits (en-tête et bourrage compris).
H.261
Le protocole H.261 est décrit dans la RFC 2032.
La norme H.261 décrit le transport d’un flux vidéo sur RTP. Le format de l’en-tête est le suivant :
- SBIT : Start Bit : Nombre de bits de poids forts à ignorer dans le premier octet de données
- EBIT : End Bit : Nombre de bits de poids faible à ignorer dans le dernier octet de données
- I : Intra-frame encoded data flag
- V : Motion Vector flag
- GOBN : GOB number
- MBAP : Macroblock Address Predictor
- QUANT : Quantizer
- HMVD : Horizontal Motion Vector Data
- VMVD : Vertical Motion Vector Data