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

Installer le paquet

Le centrex se livre aussi en paquet Debian, centrex-v3, pour une machine où FusionPBX et FreeSWITCH sont déjà installés. L’image reste la voie recommandée : elle règle FreeSWITCH et FusionPBX comme le centrex l’attend, ce qu’il faut ici faire à la main.

Machine attendue

  • Debian 13, PostgreSQL (le client postgresql-client de la même version, pour les sauvegardes) ;
  • FreeSWITCH 1.11 et FusionPBX 5.6.5, les versions testées ;
  • nginx devant le portail, en TLS.

Ce que contient le paquet

CheminRôle
/usr/bin/centrexLe binaire : API, portail, serveur MCP, tâches de fond, commandes d’exploitation.
/usr/share/centrex-v3/portailLe portail et ce guide (guide/, guide/en/).
centrex.serviceLe service, sous le compte centrex (groupe www-data, pour les fichiers de FreeSWITCH et le cache de FusionPBX).
/etc/centrex-v3/centrex.envLes réglages, créés à la première installation depuis le modèle /usr/share/centrex-v3/centrex.env, jamais réécrits ensuite.
/etc/centrex-v3/clesLe trousseau des clés de chiffrement des secrets, créé avec une première clé.
/usr/share/doc/centrex-v3/Licence, mentions des bibliothèques tierces, alertes Prometheus de référence.

Installer

  1. Déclarer le dépôt de l’éditeur (Mises à jour), puis sudo apt update && sudo apt install centrex-v3.

  2. Régler FreeSWITCH comme le fait le premier démarrage de l’image :

    • event socket : écoute sur 127.0.0.1, ACL loopback.auto, mot de passe propre à la machine (event_socket.conf.xml) ;
    • CDR : charger mod_json_cdr et l’envoyer vers http://127.0.0.1:8085/cdr, en authentification basic avec un identifiant et un mot de passe tirés pour l’occasion (json_cdr.conf.xml) ;
    • sessions : sessions-per-second à 100 (switch.conf.xml) ;
    • SIP en TLS : variables internal_ssl_enable à true et sip_tls_version à tlsv1.2,tlsv1.3 (FusionPBX, Avancé > Variables), puis dans /etc/freeswitch/tls agent.pem (certificat, chaîne et clé) et cafile.pem (la chaîne), lisibles par www-data ; fs_cli -x reloadcert les fait relire à chaque renouvellement ;
    • fichiers : groupe www-data et bit setgid sur /var/lib/freeswitch/recordings, /var/lib/freeswitch/storage (et voicemail, json_cdr en dessous) et /var/cache/fusionpbx, où le centrex écrit.
  3. Remplir /etc/centrex-v3/centrex.env (Réglages du serveur) : base PostgreSQL de FusionPBX, adresse publique, event socket, identifiants des CDR.

  4. Créer l’opérateur et son premier administrateur, comme pour l’image :

    sudo -u centrex sh -c 'set -a; . /etc/centrex-v3/centrex.env; centrex migrate; \
        centrex initialiser --operateur "…" --admin-courriel … --admin-nom "…"'
    
  5. Facultatif, la voix de synthèse : sans elle, les annonces se déposent en fichiers audio. Installer Piper et ses voix comme l’image, puis régler CENTREX_PIPER, CENTREX_VOIX_PIPER et CENTREX_VOIX_PIPER_EN :

    sudo apt install python3-venv
    sudo python3 -m venv /opt/centrex-v3/piper
    sudo /opt/centrex-v3/piper/bin/pip install piper-tts==1.8.0
    sudo mkdir -p /usr/share/centrex-v3/voix && cd /usr/share/centrex-v3/voix
    v=https://huggingface.co/rhasspy/piper-voices/resolve/main
    for f in fr/fr_FR/siwis/medium/fr_FR-siwis-medium en/en_US/ljspeech/medium/en_US-ljspeech-medium; do
        sudo curl -fsSLO "$v/$f.onnx" && sudo curl -fsSLO "$v/$f.onnx.json"
    done
    
  6. sudo systemctl start centrex, puis nginx en TLS devant, vers 127.0.0.1:8080, en transmettant Host (avec le port), X-Forwarded-For et X-Forwarded-Proto, et en acceptant des envois de 21 Mo (fichiers audio).

  7. Donner aux enregistrements leur propre volume (Volume des enregistrements).

  8. Dans le portail : les e-mails (page Paramètres), puis votre équipe et vos revendeurs (fonction Revendeurs à activer d’abord, même page).

Le service applique les migrations de la base à chaque démarrage. Tant que les réglages sont vides, le paquet ne le démarre pas.

Retirer

apt remove arrête le service et retire le binaire ; apt purge retire aussi les réglages, mais garde le trousseau : sans lui, les secrets de la base seraient illisibles.