Installation de la téléphonie par le Manager
Toute l'infrastructure de téléphonie s'installe par l'assistant d'installation du Navin Manager (permission
services:install sur le cluster) ; aucun service ne s'installe à la main. Chaque service a sa page de référence
générée depuis son descripteur : Asterisk,
Kamailio,
RTPengine,
LiveKit,
LiveKit SIP,
LiveKit Egress,
LiveKit Ingress et
workers des agents vocaux.
Systèmes pris en charge
| Service | Ubuntu 24.04 | Debian 13 | RHEL |
|---|---|---|---|
asterisk | 20.6.0 (paquet de la distribution) | non : aucun paquet asterisk | non : EPEL n'a qu'Asterisk 18, hors support amont |
kamailio | 5.7.4 | 6.0.1 | non : aucun paquet maintenu dans RHEL ni EPEL |
rtpengine | 11.5.1.18 | 12.5.1.31 | non : aucun paquet |
livekit, livekit-sip, livekit-egress, livekit-ingress | oui | oui | oui (binaire ou Podman) |
livekit-agents | oui (Python 3.12, 3.11 ou 3.10) | oui | oui |
Le planificateur refuse un hôte dont le système n'a pas le paquet (packages_unavailable) : placer les nœuds
Asterisk sur Ubuntu 24.04. Le bundle hors ligne reprend les dépôts de la machine de construction.
Ordre d'installation
- Socle existant. PostgreSQL (facultatif, pour une copie des CDR et CEL par
cdr_pgsql), Redis (obligatoire pour LiveKit, LiveKit SIP et Egress ; en HA pour les modes à plusieurs instances), SeaweedFS (pour Egress et les enregistrements), LiteLLM (pour les agents vocaux), Prometheus et Alloy. asterisk, modesingleoupool.livekit(déjà présent dans la plupart des installations, conservé tel quel), puislivekit-sip, puislivekit-egresssi les appels des agents IA doivent être enregistrés par LiveKit.rtpengine, seulement en cas de NAT difficile, d'ancrage média exigé par l'opérateur ou d'interconnexion média.kamailio, lié àasterisk(obligatoire), àlivekit-sipet àrtpengine(facultatifs) : le Manager écrit la liste du dispatcher à partir de ces liaisons.navin-enterprise(ou sa mise à jour), avec ses liaisons de téléphonie (section suivante).livekit-agents, lié àlivekit,navin-enterpriseetlitellm.
L'assistant affiche l'ordre réel calculé depuis les liaisons avant d'installer.
Modes
| Service | Mode par défaut | Mode à plusieurs instances |
|---|---|---|
asterisk | single (1 nœud) | pool (2 nœuds ou plus derrière le dispatcher de Kamailio) |
kamailio | single | ha (2 instances ou plus, tables répliquées par DMQ) |
rtpengine | single | redundant (2 relais ou plus) |
livekit | single | distributed (sur Redis) |
livekit-sip | single | redundant (sur Redis en HA) |
livekit-egress | single | pool |
livekit-agents | single (1 worker) | pool (2 workers ou plus) |
Un mode à plusieurs instances n'est installé que si ses contrôles de haute disponibilité réussissent. Ce que chaque mode garantit vraiment est décrit dans Haute disponibilité.
Ports
| Service | Port | Exposition |
|---|---|---|
| Kamailio | 5060 UDP et TCP, 5061 TLS (SIP), 7443 WSS (softphones) | public (opérateurs, téléphones, navigateurs) |
| Kamailio | 5071 HTTP ou HTTPS (JSONRPC, /metrics) | réseau d'administration |
| Asterisk | 5070 UDP et TCP (SIP depuis Kamailio et LiveKit SIP seulement) | réseau de signalisation interne |
| Asterisk | 8088 HTTP, 8089 HTTPS (ARI, /metrics), 5038 AMI, 5039 AMI TLS | réseau d'administration |
| Asterisk | 10000 à 19999 UDP (RTP, SRTP, DTLS-SRTP) | réseau média |
| LiveKit SIP | 5090 UDP et TCP (SIP), 20000 à 29999 UDP (RTP) | interne et média |
| RTPengine | 2223 UDP (protocole ng), 30000 à 39999 UDP | administration et média |
| LiveKit Server | 7880 (signalisation), 50000 à 50100 UDP | existant |
Le planificateur refuse deux services sur le même port d'un hôte. Le pare-feu du Manager n'ouvre AMI, ARI, JSONRPC
et les métriques qu'aux réseaux déclarés (admin_networks).
Liaisons avec Navin Enterprise
Le service navin-enterprise du catalogue reçoit par ses liaisons les adresses et les secrets des moteurs :
asterisk_ami, asterisk_ari, kamailio (JSONRPC), livekit et livekit_sip. Les secrets restent dans le coffre ;
le Control Plane ne les renvoie jamais par son API. Les workers livekit-agents s'authentifient auprès du Control
Plane avec une clé d'API d'un tenant de portée telephony:voice-worker.
Une fois les services installés, l'administrateur de la plateforme déclare le pool PBX dans le portail (voir
Configuration dans le portail) ; la page Pools PBX de la section Téléphonie lit
l'inventaire du Manager (GET /v1/telephony/infrastructure) pour proposer les services installés.
Vérification
- Dans Services du Manager, chaque service est en marche et ses contrôles de santé sont verts (Asterisk :
core show uptime, modulesres_pjsip,res_ari,app_queue,cdr_managerchargés, connexion AMI acceptée). - Dans le portail, Téléphonie puis Pools PBX : l'aperçu d'une publication du pool réussit.
- La matrice des scénarios de bout en bout sera dans la page des scénarios de la téléphonie (
docs/fr/guides/telephony/scenarios.md).