Introduction
Ce document décrit les calculs de bande passante du codec vocal et les fonctions permettant de modifier ou de conserver la bande passante lorsque la voix sur IP (VoIP) est utilisée.
Informations générales
Un des facteurs les plus importants à considérer quand vous établissez des réseaux voix par paquets est la planification de la capacité appropriée. Dans la planification de capacité, le calcul de la bande passante est un facteur important à considérer quand vous concevez et dépannez des réseaux voix par paquets pour la bonne qualité vocale.
Remarque : en complément de ce document, vous pouvez utiliser l'outil TAC Voice Bandwidth Codec Calculator (clients enregistrés uniquement). Cet outil fournit des informations sur la façon de calculer la bande passante nécessaire pour les appels vocaux par paquets.
VoIP : bande passante par appel
Ces hypothèses d'en-tête de protocole sont utilisées pour les calculs :
-
40 octets pour IP (20 octets)/en-têtes Protocole de datagramme utilisateur (UDP) (8 octets)/Protocole de transport en temps réel (RTP) (12 octets).
-
Le protocole cRTP (Compressed Real-Time Protocol) réduit les en-têtes IP/UDP/RTP à 2 ou 4 octets (cRTP n'est pas disponible sur Ethernet).
-
6 octets pour le l'en-tête MLPPP (Multilink Point-to-Point Protocol) ou Forum Frame Relay (FRF).12 couche 2 (L2).
-
1 octet pour l'indicateur de fin de trame les trames MP et Frame Relay.
-
18 octets pour les en-têtes Ethernet de couche 2, y compris 4 octets pour la séquence de contrôle de trame (FCS) ou pour le contrôle de redondance cyclique (CRC).
Remarque : ce tableau ne contient que des calculs pour les tailles de charge utile vocale par défaut dans Cisco Call Manager ou les passerelles H.323 du logiciel Cisco IOS®. Pour les calculs supplémentaires, qui incluent les différentes tailles de charge utile vocale et d’autres protocoles, tels que la voix sur le relais de trames (VoFR) et la voix sur ATM (VoATM), utilisez l’outil calculateur codec de bande passante voix TAC (pour les clients enregistrés uniquement).
Informations Codec |
Calculs de la bande passante |
Codec et débit binaire (Kbps) |
Taille d'échantillon Codec (octets) |
Intervalle d'échantillon Codec (ms) |
Note moyenne d'opinion |
Taille de la charge utile vocale (octets) |
Taille de la charge utile vocale (ms) |
Packets par seconde (PPS) |
Bande passante MP ou FRF.12 (Kbps) |
Bande passante avec cRTP MP ou FRF.12 (Kbps) |
Bande passante Ethernet (Kbps) |
G.711 (64 Kbps) |
80 octets |
10 ms |
4.1 |
160 octets |
20 ms |
50 |
82,8 Kbps |
67,6 Kbps |
87,2 Kbps |
G.729 (8 Kbps) |
10 octets |
10 ms |
3.92 |
20 octets |
20 ms |
50 |
26,8 Kbps |
11,6 Kbps |
31,2 Kbps |
G.723.1 (6,3 Kbps) |
24 octets |
30 ms |
3.9 |
24 octets |
30 ms |
33.3 |
18,9 Kbps |
8,8 Kbps |
21,9 Kbps |
G.723.1 (5,3 Kbps) |
20 octets |
30 ms |
3.8 |
20 octets |
30 ms |
33.3 |
17,9 Kbps |
7,7 Kbps |
20,8 Kbps |
G.726 (32 Kbps) |
20 octets |
5 ms |
3.85 |
80 octets |
20 ms |
50 |
50,8 Kbps |
35,6 Kbps |
55,2 Kbps |
G.726 (24 Kbps) |
15 octets |
5 ms |
|
|
20 ms |
50 |
42,8 Kbps |
27,6 Kbps |
47,2 Kbps |
G.728 (16 Kbps) |
10 octets |
5 ms |
3.61 |
60 octets |
30 ms |
33.3 |
28,5 Kbps |
18,4 Kbps |
31,5 Kbps |
G722_64k (64 Kbps) |
80 octets |
10 ms |
4.13 |
160 octets |
20 ms |
50 |
82,8 Kbps |
67,6 Kbps |
87,2 Kbps |
ilbc_mode_20 (15.2 kbit/s) |
38 octets |
20 ms |
S. O. |
38 octets |
20 ms |
50 |
34,0 kbit/s |
18,8 Kbps |
38,4 kbit/s |
ilbc_mode_30 (13.33 kbit/s) |
50 octets |
30 ms |
S. O. |
50 octets |
30 ms |
33.3 |
25,867 Kbps |
15,73 kbit/s |
28,8 Kbps |
Explication des termes
Débit binaire Codec (Kbps) |
Selon le codec, il s’agit du nombre de bits par seconde qui doivent être transmis afin de fournir un appel vocal. (débit binaire codec = taille d'échantillon codec/intervalle d'échantillon codec). |
Taille d'échantillon Codec (octets) |
Basé sur le codec, c'est le nombre d'octets captés par le processeur de signal numérique (DSP) à chaque intervalle d'échantillon codec. Par exemple, le codeur G.729 fonctionne selon des intervalles d’échantillonnage de 10 ms, ce qui correspond à 10 octets (80 bits) par échantillon à une vitesse de transmission de 8 kbit/s. (débit binaire codec = taille d'échantillon codec/intervalle d'échantillon codec). |
Intervalle d'échantillon Codec (ms) |
C'est l'intervalle d'échantillonnage auquel opère le codec. Par exemple, le codeur G.729 fonctionne selon des intervalles d’échantillonnage de 10 ms, ce qui correspond à 10 octets (80 bits) par échantillon à une vitesse de transmission de 8 kbit/s. (débit binaire codec = taille d'échantillon codec/intervalle d'échantillon codec). |
Note moyenne d'opinion |
Le MOS est un système utilisé pour noter la qualité vocale des connexions téléphoniques. Un grand nombre d'utilisateurs évaluent la qualité de la voix avec une échelle de 1(mauvais) à 5 (excellent). Les scores sont calculés en moyenne afin de fournir le MOS pour le codec. |
Taille de la charge utile vocale (octets) |
La taille de la charge utile vocale représente le nombre d'octets ou de bits contenus dans un paquet. La taille de la charge utile vocale doit être un multiple de la taille d'un échantillon du Codec. Par exemple pour G.729 les paquets peuvent avoir une charge utile vocale de 10, 20, 30, 40, 50 ou 60 octets. |
Taille de la charge utile vocale (ms) |
La charge utile vocale peut également être exprimée en échantillons Codec. Par exemple, une charge utile vocale G.729 de 20 ms (deux échantillons de codec de 10 ms) représente une charge utile vocale de 20 octets [ (20 octets *
/ (20 ms) = 8 Kbits/s ] |
PPS |
PPS représente le nombre de paquets par seconde devant être transmis pour assurer le débit binaire du Codec. Par exemple pour une communication G.729 avec une charge utile vocale par paquet de 20 octets (160 bits), 50 paquets par seconde devront être transmis pour respecter le débit de 8 Kbit/s [50 pps = (8 Kbps) / (160 bits par paquet) ]. |
formules de calcul de bande passante
Les calculs suivants sont utilisés :
-
Taille totale du paquet = (en-tête L2 : MP ou FRF.12 ou Ethernet) + (en-tête IP/UDP/RTP) + (taille de la charge utile vocale)
-
PPS = (début du Codec)/(taille de la charge utile vocale)
-
Bande passante = taille totale du paquet * PPS
Exemples de calcul
Par exemple, la bande passante requise pour un appel G.729 (débit binaire de codec s’établissant à 8 kbit/s) avec cRTP, MP et la charge utile vocale s’établissant par défaut à 20 octets est comme suit :
-
Taille totale paquet (octets) = (En-tête MP (6 Octets)) + ( En-tête IP/UDP/ RTP compressé (2 Octets) + (charge utile vocale (20 octets) = 28 octets
-
Taille totale paquet en bits = (28 octets) * 8 bits par octet = 224 bits
-
PPS = (Débit du Codec 8Kbit/s)/(160 bits) = 50 paquets par seconde
Remarque : 160 bits = 20 octets (charge utile vocale par défaut) * 8 bits par octet
-
Bande passante par communication = taille du paquet voix (224 bits) * 50 PPS = 11,2 Kbps
Configuration des tailles de charge utile vocale dans Cisco Call Manager et les passerelles Cisco IOS
La taille de la charge utile vocale par paquet peut être configurée dans Cisco Call Manager et les passerelles Cisco IOS.
Remarque : si la passerelle Cisco IOS est configurée dans Cisco Call Manager comme passerelle MGCP (Media Gateway Control Protocol), toutes les informations de codec (type de codec, taille de la charge utile, détection de l'activité vocale, etc.) sont contrôlées par Cisco CallManager.
Dans Cisco Call Manager, la taille de la charge utile vocale par paquet peut être configurée sur l'ensemble du système. Cet attribut est défini dans Cisco Call Manager Administration (Service > Service Parameters > select_server > Cisco Call Manager) avec ces trois paramètres de service :
-
PreferredG711MillisecondePacketSize : (paramètre par défaut : 20 ms. Paramètres disponibles : 10, 20 et 30 ms.)
-
PreferredG729MillisecondePacketSize - (paramètre par défaut : 20 ms. Paramètres disponibles : 10, 20, 30, 40, 50 et 60 ms.)
-
PreferredG723MillisecondePacketSize - (paramètre par défaut : 30 ms. Paramètres disponibles : 30 et 60 ms.)
Dans Cisco Call Manager, la taille de la charge utile vocale est configurée en échantillons de millisecondes (ms). Basé sur le Codec, le tableau suivant donne la correspondance entre les échantillons en millisecondes et la taille de la charge utile en octets.
Codec |
Taille de la charge utile vocale (ms) |
Taille de la charge utile vocale (octets) |
Commentaires |
G.711 |
20 ms (par défaut) |
160 octets |
Notez que le débit binaire du Codec est toujours maintenu. Par exemple : codec G.711 = [240 octets * 8(bits/octets)] / 30 ms = 64 Kbits/s |
30 ms |
240 octets |
G.729 |
20 ms (par défaut) |
20 octets |
30 ms |
30 octets |
G.723 |
30 ms (par défaut) |
|
|
Dans les passerelles Cisco IOS, une fonctionnalité a été ajoutée dans le logiciel Cisco IOS Version 12.0(5)T qui permet de modifier la taille de la charge utile vocale (en octets) des paquets VoIP via l'interface de ligne de commande. La nouvelle syntaxe de commande est :
Cisco-Router(config-dial-peer)#codec g729r8 bytes ?
Each codec sample produces 10 bytes of voice payload.
Valid sizes are:
10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120,
130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230
Any other value within the range will be rounded down to nearest valid size.
<10-230> Choose a voice payload size from the list above
Effet d’une modification des tailles des charges utiles vocales
Le nombre d'échantillons de Codec par paquet est un autre facteur déterminant la bande passante et le délai d'une communication VoIP. Le Codec définit la taille de l'échantillon, mais le nombre total d'échantillons placés dans un paquet affecte le nombre de paquets transmis par seconde.
Lorsque vous augmentez la taille de la charge utile vocale, la bande passante VoIP diminue et le délai global augmente. Cet exemple illustre ce principe :
-
Appel G.729 avec charge utile vocale de 20 octets (20 ms) : (40 octets d'en-têtes IP/UDP/RTP + 20 octets de charge utile vocale)* 8 bits par octet * 50 pps = 24 Kbits/s
-
Appel G.729 avec charge utile vocale de 40 octets (40 ms) : (40 octets d'en-têtes IP/UDP/RTP + 40 octets de charge utile vocale) * 8 bits par octet * 25 pps = 16 Kbits/s
Remarques :
- Les en-têtes couche 2 ne sont pas considérés dans ce calcul.
- Les calculs montrent que si la taille de la charge utile est doublée, le nombre de paquets par seconde requis est ensuite réduit de moitié.
- Conformément aux spécifications G.114 du Secteur de la normalisation des télécommunications de l’ITU (ITU-T), le délai d’attente unidirectionnel global recommandé pour la voix est de 150 ms. Pour un réseau privé, 200 ms est un délai raisonnable, et 250 ms doit être le maximum.
Détection d'activité de voix
Avec les réseaux voix à commutation de circuits, toutes les communications voix utilisent une bande passante de 64 Kbps sans tenir compte des silences. Avec les réseaux VoIP, toutes les conversations et tous les silences sont paquétisés. Avec la détection d'activité voix (la VAD), les paquets de silences sont supprimés.
L'expérience a montré que pour un volume de communications supérieur à 24, la VAD fournit en moyenne un gain de 35 pourcent de bande passante. Les gains ne sont pas obtenus par communication voix ou à un point de mesure spécifique. Pour les besoins de conception des réseaux et de l'ingénierie de bande passante, la VAD ne doit pas être prise en compte, notamment pour les liaisons qui transportent simultanément moins de 24 communications voix. Certaines fonctionnalités comme les musiques d'attente et le fax rendent la VAD inefficace. Quand le réseau est conçu en tenant compte de la bande passante totale utilisée par les communications voix, tous les gains de bande passante autorisés par la VAD sont disponibles pour les applications de type données.
La VAD permet aussi la génération d'un bruit de confort (CNG - Comfort Noise Generation). Étant donné que vous pouvez confondre le silence avec un appel déconnecté, le GNC produit un bruit blanc généré localement de sorte que l'appel semble normalement connecté aux deux parties. G.729 Annex-B et G.723.1 Annex-A incluent une fonction VAD intégrée, mais fonctionnent de la même manière que G.729 et G.723.1, respectivement.
Dans Cisco Call Manager, VAD peut être activé (il est désactivé par défaut) avec les paramètres de service suivants :
-
SilenceSuppressionSystemWide : ce paramètre sélectionne le paramètre VAD pour tous les terminaux skinny (par exemple, les téléphones IP Cisco et les passerelles Skinny).
-
SilenceSuppressionWithGateways - ce paramètre sélectionne le paramètre VAD pour toutes les passerelles MGCP. Ceci n'a pas d'effet sur les passerelles H.323. La VAD sur passerelles H.323 doit être désactivée sur la passerelle.
Vous pouvez trouver ces paramètres de service sous Cisco Call Manager Administration (Service > Service Parameters > select_server > Cisco CallManager).
Compression d'en-tête RTP ou Compressed RTP (cRTP)
Tous les paquets VoIP sont composés de deux composants : des échantillons vocaux et des en-têtes IP/UDP/RTP. Bien que les échantillons voix soient compressés par le DSP (le traitement de signal numérique) et qu'il puissent varier de taille selon le Codec utilisé, les en-têtes ont une taille constante de 40 octets. Comparés aux échantillons voix de 20 octets dans une communication G.729 par défaut, ces en-têtes constituent un surdébit très important. Avec l'utilisation de cRTP, ces en-têtes peuvent être compressés en deux ou quatre octets. Cette compression permet des économies de bande passante significatives. Par exemple, une communication VoIP G.729 par défaut consomme 24 Kb sans cRTP activé et seulement 12 Kb lorsque le cRTP est activé.
Comme le cRTP compresse les communications VoIP liaison par liaison, les deux extrémités de la liaison IP doivent être configurées pour le cRTP.
Dans les versions logicielles 12.0.5 T ou antérieures de Cisco IOS, cRTP est à commutation de processus, ce qui limite sérieusement l’évolutivité des solutions cRTP en raison des performances du processeur. La plupart de ces questions ont été résolues par diverses améliorations des performances du cRTP introduites dans le logiciel Cisco IOS versions 12.0.7T à 12.1.2T. Voici un récapitulatif de l'historique.
-
Le cRTP est un processus commuté dans le logiciel Cisco IOS version 12.0.5T et antérieure.
-
Dans le logiciel Cisco IOS Version 12.0.7T, puis dans 12.1.1T, la commutation rapide et la prise en charge de la commutation Cisco Express Forwarding pour cRTP sont introduites.
-
Dans le logiciel Cisco IOS version 12.1.2T, les performances de l'algorithme ont été améliorées.
Lorsque vous déplacez cRTP dans le chemin de commutation rapide, cela augmente considérablement le nombre de sessions RTP (appels VoIP) que les passerelles VoIP et les routeurs intermédiaires peuvent traiter.
Heuristiques de compression
Comme le protocole RTP ne possède pas d’en-tête de paquet distinct qui lui est propre, un flux RTP (pour cRTP) se distingue par l’utilisation d’heuristiques d’un flux de données UDP (cUDP). Les heuristiques précise utilisées actuellement pour détecter les paquets RTP sont :
-
Le numéro du port de destination est pair.
-
Le numéro du port de destination est compris dans la plage 16384-32767 ou 49152-65535.
-
Le champ de la version RTP est défini à deux.
-
Le champ de l'extension RTP est défini à zéro.
Informations connexes