Plus qu'un protocole, H.323 ressemble davantage à une association de plusieurs protocoles différents et qui peuvent être regroupés en trois catégories : la signalisation, la négociation de codec, et le transport de l’information.
Les messages de signalisation sont ceux que l’on envoie pour demander d’être mis en relation avec une autre personne, qui indiquent que la ligne est occupée, que le téléphone sonne… Cela comprend aussi les messages que l’on envoie pour signaler que tel téléphone est connecté au réseau et peut être joint de telle manière. En H.323, la signalisation s’appuie sur le protocole RAS (Registration Admission Status) pour l’enregistrement et l’authentification, et le protocole Q.931 pour l’initialisation et le contrôle d’appel.
La négociation est utilisée pour se mettre d’accord sur la façon de coder les informations qu’on va s’échanger. Il est important que les téléphones (ou systèmes) parlent un langage commun s’ils veulent se comprendre. Il serait aussi préférable, si ils ont plusieurs alternatives de langages qu’ils utilisent le plus adapté. Il peut s’agir du codec le moins gourmand en bande passante ou de celui qui offre la meilleur qualité. Le protocole utilisé pour la négociation de codec est le H.245
Le transport de l’information s’appuie sur le protocole RTP qui transporte la voix, la vidéo ou les données numérisées par les codec. On peut aussi utiliser les messages RTCP pour faire du contrôle de qualité, voire demander de renégocier les codecs si, par exemple, la bande passante diminue.
Pour le contrôle et la signalisation : H.225 H.245 Q.931 RTCP
Pour la voix : G.711 G.722 G.723 G.726 G.728 G.729
Pour la vidéo : H.261 H.263 H.264
Pour les données : T.123 T.124 T.125