Hébergement VOIP et de communications unifiées sur des serveurs dédiés

Aperçu de l'hébergement VOIP et des communications unifiées sur des serveurs dédiés

Les frais mensuels par poste pour les plateformes UCaaS s'accumulent vite. Une entreprise de 50 employés qui paie entre 30 et 50 $ par poste pour son service téléphonique professionnel dépense entre 18 000 et 30 000 $ par an pour une infrastructure de communication qu'un déploiement Asterisk/FreePBX auto-hébergé sur un serveur dédié peut remplacer pour une fraction du prix. En contrepartie, il faut composer avec la complexité de la configuration et la responsabilité d'assurer le bon fonctionnement du système. Pour…

Pourquoi choisir du matériel dédié plutôt que le cloud pour la VoIP ?

La qualité de la VoIP est plus sensible à la gigue et à la latence du réseau que ne le sont les applications web. Un pic de 50 ms dans une requête web ajoute 50 ms au temps de chargement de la page — c'est perceptible, mais pas catastrophique. Un pic de 50 ms pendant un appel téléphonique se traduit par un clic ou une coupure audible. Un pic de 200 ms provoque des coupures complètes dans la conversation.

Les instances cloud introduisent deux sources de latence que les serveurs dédiés éliminent : la variabilité de la planification de l'hyperviseur (la machine virtuelle attend du temps CPU lorsque l'hôte physique est sous charge) et la congestion réseau due aux voisins bruyants. La documentation d'Asterisk recommande d'ailleurs l'utilisation de matériel dédié pour les déploiements en production, précisément à cause de ces facteurs.

Un serveur dédié doté d'une connectivité 10 Gbps à débit variable, comme ceux proposés par la gamme de serveurs dédiésInMotion Hosting, offre l'environnement réseau à faible gigue et à faible latence indispensable à la qualité des appels. La gamme Essential (64 Go de RAM, processeur Intel) gère sans problème plus de 500 appels SIP simultanés ; la gamme Extreme, équipée d'un processeur AMD EPYC, en gère plusieurs milliers.

Asterisk et FreePBX : Comprendre la pile

Asterisk est un moteur de téléphonie open source. Il gère l'acheminement des appels, la signalisation SIP, le traitement multimédia et l'intégration avec des fournisseurs externes. Il se configure via des fichiers texte et nécessite des connaissances techniques approfondies pour être configuré à partir de zéro.

FreePBX est une interface d'administration web qui s'appuie sur Asterisk. Elle offre une interface graphique permettant de configurer les postes, les menus IVR, les files d'attente d'appels, la messagerie vocale et les connexions de liaisons SIP sans avoir à modifier directement les fichiers de configuration d'Asterisk. La plupart des déploiements VoIP auto-hébergés utilisent FreePBX comme couche de gestion au-dessus d'Asterisk.

Les distributions qui incluent les deux :

  • Distribution FreePBX (basée sur CentOS, gérée par Sangoma)
  • PBX en un clin d'œil
  • La pile recommandée par VoIP.ms

Pour un nouveau déploiement sur les serveurs dédiés d'InMotion, l'ISO FreePBX Distro est le moyen le plus rapide d'obtenir un système opérationnel : elle installe Asterisk, FreePBX et toutes les dépendances en une seule opération.

Configuration matérielle requise pour le serveur

La configuration matérielle requise pour FreePBX dépend du nombre d'appels simultanés et des codecs choisis :

Jusqu'à 504GB2 cœurs ou plusG.711 (sans transcodage)
50-2008GB4 cœurs ou plusG.711 ou G.729
200-50016GB8 cœurs ou plusN'importe quel codec
500 à 1 00032GB12 cœurs ou plusN'importe quel codec
1,000+64 Go et plus16 cœurs ou plusN'importe quel codec avec transcodage

Le choix du codec a un impact significatif sur la charge du processeur. Le G.711 (ulaw/alaw) transmet le son sans transcodage : il s'agit d'un flux audio PCM brut à 64 kbps par canal. Le G.729 est l'alternative compressée à 8 kbps, qui nécessite un transcodage par le processeur à chaque appel. Avec 100 appels G.729 simultanés, le transcodage à lui seul mobilise 2 à 4 cœurs de processeur sur un processeur moderne.

Pour la plupart des déploiements dans les PME (moins de 200 appels simultanés), le serveur Essential d'InMotion (99,99 $/mois) offre une marge de manœuvre considérable. Les 64 Go de RAM dépassent largement les besoins de la VoIP ; le processeur Intel gère aisément la charge de transcodage tout en conservant des cœurs disponibles pour d'autres services.

Installation de FreePBX sur AlmaLinux

AlmaLinux 8 est le système d'exploitation recommandé pour les déploiements FreePBX en production à partir de 2025, suite à la fin de vie de CentOS 8.

# Update base system

dnf update -y

# Install dependencies

dnf install -y wget git

# Download and run FreePBX install script

wget https://github.com/FreePBX/sng_freepbx_debian_install/releases/download/latest/sangoma_freepbx_install.sh

# Review the script before executing

bash sangoma_freepbx_install.sh

# The script installs Asterisk, FreePBX, and web UI

# Access FreePBX admin at http://your-server-ip/admin

Une fois l'installation terminée, l'interface d'administration de FreePBX se charge du reste de la configuration : définir le mot de passe administrateur, configurer les liaisons SIP, créer des postes et mettre en place le serveur vocal interactif (IVR).

Configuration de la liaison SIP

Une liaison SIP relie ton serveur Asterisk au RTPC (réseau téléphonique public commuté), c'est-à-dire le réseau téléphonique classique. Les fournisseurs commerciaux de liaisons SIP facturent à la minute ou proposent des forfaits à nombre de canaux illimité.

Fournisseurs de liaisons SIP recommandés pour les déploiements de serveurs dédiés :

  • Twilio Elastic SIP Trunking — facturation à la minute, pas de forfait mensuel minimum, excellente documentation
  • VoIP.ms — Fournisseur canadien proposant des options de terminaison aux États-Unis, avec forfait illimité ou à la minute
  • Telnyx — des tarifs compétitifs et une documentation pour les développeurs de qualité

Dans FreePBX, les liaisons sont configurées sous Connectivité > Liaisons. Voici un exemple de configuration de liaison SIP :

Trunk Name: Primary_SIP_Trunk

Outbound CallerID: Your DID number

PEER Details:

host=sip.provider.com

type=peer

qualify=yes

nat=force_rport,comedia

dtmfmode=rfc2833

context=from-trunk

Configuration du réseau et du pare-feu pour la VoIP

La VoIP nécessite une configuration spécifique du pare-feu. La signalisation SIP utilise le port UDP/TCP 5060 ; les flux multimédias (audio RTP) utilisent une plage de ports UDP :

# SIP signaling

nft add rule inet filter input udp dport 5060 accept

nft add rule inet filter input tcp dport 5060 accept

# RTP media ports (FreePBX default range)

nft add rule inet filter input udp dport 10000-20000 accept

# FreePBX web interface (restrict to admin IPs)

nft add rule inet filter input ip saddr 203.0.113.0/32 tcp dport 80 accept

nft add rule inet filter input ip saddr 203.0.113.0/32 tcp dport 443 accept

Fail2Ban est indispensable pour les serveurs VOIP. Le port SIP 5060 est constamment scruté par des outils automatisés qui tentent d'enregistrer des extensions et de passer des appels à tes frais. Fail2Ban, associé à la « jail » d'Asterisk, bloque les adresses IP après des tentatives d'enregistrement infructueuses :

# /etc/fail2ban/jail.local

[asterisk]

enabled = true

port = 5060

filter = asterisk

logpath = /var/log/asterisk/security

maxretry = 3

bantime = 3600

Sans Fail2Ban, le piratage d'un identifiant d'extension peut entraîner des milliers de dollars de appels internationaux frauduleux en quelques heures. Ce n'est pas une hypothèse : la fraude SIP est l'un des incidents les plus courants et les plus coûteux sur les déploiements VoIP mal sécurisés.

Optimisation de la qualité des appels

Marquage QoS (Quality of Service) : marque les paquets VoIP avec le code DSCP EF (Expedited Forwarding) pour que les équipements réseau leur accordent la priorité par rapport au trafic de données en masse :

# Mark outbound RTP packets with DSCP EF (46)

nft add rule inet mangle output ip protocol udp udp dport 10000-20000 ip dscp set ef

nft add rule inet mangle output ip protocol udp udp dport 5060 ip dscp set ef

Résolution du temporisateur du noyau : la synchronisation VOIP est sensible aux délais d'ordonnancement du noyau. Sur les serveurs fortement sollicités, définis CONFIG_HZ=1000 dans la configuration du noyau pour réduire la latence d'ordonnancement. Pour la plupart des configurations de serveurs dédiés, la valeur par défaut est déjà adaptée ; vérifie-le avec grep CONFIG_HZ /boot/config-$(uname -r).

Désactive la page de swap pour les tampons RTP. La pagination mémoire pendant le traitement des appels actifs provoque des pics de latence. Avec le serveur Essential d'InMotion doté de 64 Go de RAM et exécutant un déploiement VoIP modeste, la page de swap ne devrait jamais être sollicitée. Vérifie avec la commande `free -m` et définis `vm.swappiness=1` dans le fichier `/etc/sysctl.conf` à titre préventif.

Suivi de la qualité des appels

Asterisk enregistre les enregistrements de données d'appel (CDR) qui fournissent des indicateurs de qualité après l'appel. La variable RTPAUDIOQOS dans le CDR enregistre la gigue, la perte de paquets et le temps aller-retour pour chaque appel. Surveille les éléments suivants :

  • Une gigue supérieure à 30 ms : dégradation audible de la qualité audio
  • Perte de paquets supérieure à 1 % : mots manqués, son saccadé
  • Temps aller-retour supérieur à 150 ms : retard perceptible dans la conversation

La documentation d'Asterisk sur les CDR en temps réel explique comment stocker les données CDR dans MySQL à des fins d'analyse. Dans les déploiements en production, le stockage des données CDR permet d'effectuer des analyses de tendances qui aident à déterminer si les problèmes de qualité d'appel sont liés à l'heure de la journée (charge du serveur), à des liaisons SIP spécifiques ou à des routes géographiques particulières.

L'offre Premier Care d'InMotion comprend une assistance 24 h/24, 7 j/7. Pour les déploiements VOIP où des problèmes de qualité d'appel pourraient affecter les activités de l'entreprise, pouvoir compter sur l'assistance d'experts pour résoudre des problèmes au niveau du serveur, comme les problèmes de réseau, les conflits de ressources ou les anomalies matérielles, vaut bien le coût supplémentaire.

À lire aussi: Meilleures pratiques en matière de renforcement de la sécurité des serveurs | Optimisation de la latence réseau pour les serveurs dédiés

Partager cet article

Laisser une réponse

Ton adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués *