Conception VoIP

Ce chapitre s’intéresse à la manière d’optimiser le trafic vocal grâce aux codecs (protocole d’encodage) qui influencent la charge du trafic sur les liaisons, sans oublier le calcul de la surcharge des en-têtes. Il est aussi possible de compresser des en-têtes. Enfin, le chapitre évoque des protocoles sécurisés pour la VoIP.   

1. Codecs Définition

PCM (Configuration Guide for Asterisk PBX (Flavio E. Goncalves))

Source : Configuration Guide for Asterisk PBX (Flavio E. Goncalves)

Un codec est un dispositif capable de compresser et/ou de décompresser un signal numérique. Ce dispositif peut être un circuit électronique, un circuit intégré ou un logiciel. Le mot-valise « codec » vient de « codage-décodage » (- COde-DECode en anglais). D’un côté, les codecs encodent des flux ou des signaux pour la transmission, le stockage ou le chiffrement de données. D’un autre côté, ils décodent ces flux ou signaux pour édition ou restitution. Les différents algorithmes de compression et de décompression peuvent correspondre à différents besoins en qualité de restitution, de temps de compression ou de décompression, de limitation en termes de ressource processeur ou mémoire, de débit du flux après compression ou de taille du fichier résultant. Ils sont utilisés pour des applications comme la téléphonie, les visioconférences, la diffusion de médias sur Internet, le stockage sur CD, DVD, la télé numérique par exemple.

2. Exemples de codecs/MOS

Le MOS pour Mean Opinion Score évalue la qualité audible de la voix sur une échelle de 0 à 5.

Exemples de codecs devant être disponible sur les UA :

  • GSM: 13 Kbps, MOS 3.8
  • iLBC: 13.3 Kbps, MOS 4.14
  • ITU G.711: 64 Kbps, MOS 4.1
  • ITU G.723.1: 5.3/6.3 Kbps MOS3.8
  • ITU G.726: 16/24/32/40 Kbps MOS 3.85
  • ITU G.729: 8 Kbps MOS 3.92
  • ITU G.722: 64 Kbps - High definition MOS 4.13   

    3. Comment choisir son codec ?

Comment choisir son codec ? (Configuration Guide for Asterisk PBX (Flavio E. Goncalves))

Source : Configuration Guide for Asterisk PBX (Flavio E. Goncalves)

  • Qualité du son (MOS – Mean Opinion Score)
  • Coût de licence
  • Consommation CPU
  • Consommation bande passante
  • Gestion de la perte de paquets
  • Support des périphériques (PBX/Téléphones)

http://www.voip-info.org/wiki/view/Codecs   

4. Surcharge d’en-têtes

Un appel G.729 avec un voice payload size of 20 octets (20 ms) :

  • 18 octets Ethernet header and trailer +
  • 40 octets IP/UDP/RTP headers +
  • 20 octets voice payload

= 78 octets

Total packet size (bits) = (78 octets) * 8 bits per octet = 624 bits

PPS = (8 Kbps codec bit rate) / (160 bits) = 50 pps

Note: 160 bits = 20 octets (default voice payload) * 8 bits per byte

Bande passante par appel = voice packet size (624 bits) * 50 pps = 31.2 Kbps

Exercice avec un appel G.711 avec une charge de 160 octets (20 ms).

5. Calcul de bande passante et dimensionnement de lignes

Calculateurs de bande passante

6. Réduction de la bande passante nécessaire

   Il y a trois méthodes pour réduire la bande passante nécessaire des appels VoIP

  • Compression d’en-têtes RTP (cRTP) : à placer sur des liens WAN sur les routeurs (voir la documentation Cisco).
  • Trunk IAX : protocole ouvert (RFC 5456) de signalisation et de transport fournissant des options de compression d’en-tête et de confidentialité.
  • VoIP payload : sur les passerelles et PBX on peut augmenter taille par défaut (par codec) de la charge RTP. En faisant cela, on réduit la surcharge en en-tête, on diminue la bande passante utilisé mais on augmente les délais.

7. Intégrité et confidentialité des échanges

   Protocoles sécurisés

  • 802.1q
  • SIPS
  • SRTP
  • ZRTP
  • IAX