Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Prérequis

Ce qu’il faut réunir avant d’installer le centrex : une machine virtuelle, son réseau, un nom et un certificat, un trunk SIP et un serveur d’e-mails.

Machine virtuelle

Le centrex se livre en image de VM complète : Debian 13, PostgreSQL, FreeSWITCH, FusionPBX, le centrex et nginx, prêts à démarrer (voir Installer depuis l’image).

HyperviseurKVM, Proxmox ou OpenStack (image qcow2) ; VMware ou VirtualBox (image OVA).
Processeur et mémoire2 vCPU et 4 Go par défaut, jusqu’à 200 appels simultanés ; voir Dimensionnement.
Disque12 Go au minimum ; l’image s’agrandit au premier démarrage à la taille donnée. Prévoir davantage pour les enregistrements d’appels et la messagerie (environ 1 Mo par minute en WAV 8 kHz).
AccèsUne clé SSH publique, donnée au premier démarrage par cloud-init : l’image n’a aucun mot de passe.

Pour la haute disponibilité, deux VM identiques sur le même réseau, plus une adresse IP libre (l’IP flottante) : voir Actif/passif.

Réseau

Une adresse IP publique fixe, de préférence portée directement par la VM : les téléphones et le fournisseur du trunk la joignent. Derrière un NAT, vérifiez que FreeSWITCH annonce bien l’adresse publique (variables external_sip_ip et external_rtp_ip de FusionPBX), sinon la voix ne passe que dans un sens.

Ports à ouvrir vers la VM (l’image n’installe pas de pare-feu : filtrer en amont, ou sur la VM) :

PortProtocolePour
443TCPPortail et API (HTTPS).
80TCPRedirection vers HTTPS, et validation d’un certificat Let’s Encrypt.
5060UDP et TCPSIP des téléphones et softphones (profil internal).
5061TCPSIP en TLS des softphones (profil internal).
5080UDP et TCPSIP du trunk : fournisseur ou C5 (profil external). Peut être limité aux adresses du fournisseur.
16384 à 32768UDPVoix (RTP).
22TCPAdministration (SSH), depuis vos adresses seulement.

Entre les deux VM d’un actif/passif : VRRP (protocole IP 112), PostgreSQL (5432) et SSH (22).

Le SIP des téléphones est en clair sur 5060, comme le centrex actuel, et en TLS sur 5061, avec le certificat de la machine : Linphone l’utilise chez les clients qui choisissent les appels chiffrés (Réglages). Un téléphone qui échoue trop souvent à s’authentifier fait bannir son adresse (voir Diagnostic) : ajoutez vos propres adresses à la liste blanche dès l’installation.

Le profil external a aussi le TLS (5081) : les connecteurs SIP des clients s’enregistrent en TLS auprès de leur service. Ces connexions partent de la machine : le port 5081 n’a pas à être ouvert en entrée.

Nom et certificat

  • Un nom de machine complet (pbx.operateur.exemple), avec son enregistrement DNS vers l’adresse publique. Il donne l’adresse du portail et le domaine par défaut.
  • Un domaine pour les clients, de préférence en joker (*.pbx.operateur.exemple) : chaque client a son domaine SIP (client.pbx.operateur.exemple), sur lequel ses téléphones s’enregistrent.
  • Un certificat TLS au nom de la machine, pour le portail et le SIP en TLS : celui de l’opérateur, ou Let’s Encrypt (certbot). Au premier démarrage, la VM utilise un certificat autosigné, à remplacer : les softphones le refusent.

Trunk SIP

Un compte chez un fournisseur SIP (ou un C5) pour chaque client qui appelle l’extérieur : identifiant et mot de passe, ou authentification par adresse IP. Les appels entre clients sortent aussi par le trunk. Voir Trunk d’un client.

E-mails

Un serveur SMTP (adresse, port, identifiants, expéditeur) : les invitations, les liens de mot de passe, les messages vocaux et les alertes partent par e-mail. Il se règle dans le portail, avant de créer les premiers utilisateurs.

Facultatif

  • Transcription des messages vocaux : un service compatible avec l’API de transcription d’OpenAI (service en ligne, ou moteur local : voir Transcription locale).
  • Assistant de configuration : une clé de l’API de Claude (Anthropic).
  • Supervision : Prometheus, pour les métriques et les alertes livrées (Supervision).
  • Sauvegardes : un espace hors de la VM où copier les archives (Sauvegarde).