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).
| Hyperviseur | KVM, Proxmox ou OpenStack (image qcow2) ; VMware ou VirtualBox (image OVA). |
| Processeur et mémoire | 2 vCPU et 4 Go par défaut, jusqu’à 200 appels simultanés ; voir Dimensionnement. |
| Disque | 12 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ès | Une 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) :
| Port | Protocole | Pour |
|---|---|---|
| 443 | TCP | Portail et API (HTTPS). |
| 80 | TCP | Redirection vers HTTPS, et validation d’un certificat Let’s Encrypt. |
| 5060 | UDP et TCP | SIP des téléphones et softphones (profil internal). |
| 5061 | TCP | SIP en TLS des softphones (profil internal). |
| 5080 | UDP et TCP | SIP du trunk : fournisseur ou C5 (profil external). Peut être limité aux adresses du fournisseur. |
| 16384 à 32768 | UDP | Voix (RTP). |
| 22 | TCP | Administration (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).