Téléphonie Navin
La téléphonie de Navin réunit un PBX (Asterisk), un bord SIP (Kamailio), une passerelle SIP vers LiveKit, des agents vocaux IA et le stockage des enregistrements dans SeaweedFS. Les décisions sont dans l'ADR-0173 ; l'état de l'existant avant ce travail est dans l'audit de l'existant.
Deux plans
| Qui | Fait quoi | Ne fait pas |
|---|---|---|
| Navin Manager et ses agents | installe et met à jour les services, écrit la configuration système, ouvre les ports, émet les certificats, sauvegarde, restaure, contrôle la santé | aucune extension, aucun SVI, aucune file, aucune règle métier |
| Navin Enterprise (Control Plane et portail) | tenants, trunks, numéros, extensions, règles de routage, SVI, files, agents humains et IA, conférences, enregistrements, journaux d'appels, quotas | aucune commande système ; toute opération d'infrastructure est demandée au Manager |
Navin Enterprise joint les moteurs par leurs interfaces réseau : AMI et ARI d'Asterisk, JSONRPC de Kamailio, API de
LiveKit, S3 de SeaweedFS. Les adresses et les secrets de ces interfaces lui viennent des liaisons du service
navin-enterprise du catalogue du Manager.
Services du catalogue
| Service | Rôle | Méthode | Obligatoire |
|---|---|---|---|
asterisk | PBX : PJSIP, dialplan, SVI, files, messagerie vocale, conférences, enregistrements, ARI, AMI, CDR et CEL | paquet Ubuntu 24.04 | oui |
kamailio | bord SIP public : TLS, WSS des softphones, NAT, anti-flood, anti-bruteforce, dispatcher vers Asterisk et LiveKit SIP | paquet | oui |
livekit | serveur LiveKit (salles des agents vocaux) | binaire ou Podman | pour les agents IA |
livekit-sip | passerelle SIP vers les salles LiveKit | Podman | pour les agents IA |
livekit-agents | workers des agents vocaux IA de Navin (paquet navin-voice-agent) | Python | pour les agents IA |
livekit-egress | enregistrements LiveKit vers SeaweedFS | Podman | non |
rtpengine | relais média : ancrage RTP, NAT difficile, interconnexion média | paquet | non, jamais installé par défaut |
livekit-ingress | entrées RTMP et WHIP | Podman | non, inutile à la téléphonie |
PostgreSQL, Redis, SeaweedFS, Prometheus, Alloy et Alertmanager sont les services existants du catalogue ; la téléphonie s'y raccorde par liaisons.
Flux d'un appel
- Branche PBX. Opérateur ou téléphone, puis Kamailio, puis un nœud Asterisk du pool du tenant (jeu 1 du dispatcher pour le pool partagé, jeux 100 et suivants pour les pools dédiés).
- Branche IA directe. Un numéro routé
aiva de Kamailio à LiveKit SIP (jeu 2), qui place l'appelant dans une salle où un worker d'agent vocal le prend. - Branche IA par le PBX. Un SVI ou une file d'Asterisk compose
PJSIP/{agent}@livekit-sip. - Transfert de l'IA vers un humain. SIP REFER vers Kamailio, qui route l'extension vers son Asterisk.
- Softphone du portail. JsSIP en SIP sur WebSocket sécurisé vers Kamailio, média DTLS-SRTP avec ICE jusqu'à Asterisk, identifiants éphémères délivrés par Navin Enterprise.
Chaque appel porte l'en-tête X-Navin-Call-Id ; la session d'appel de Navin relie cet identifiant, uniqueid et
linkedid d'Asterisk, le Call-ID SIP, la salle et le participant LiveKit.
Pages du guide
| Page | Contenu |
|---|---|
| Installation par le Manager | ordre d'installation, modes, systèmes, ports, liaisons |
| Configuration dans le portail | pools PBX, réglages, trunks, numéros, extensions, routage, SVI, files, agents, publication |
| Exploitation | appels en cours, drain, réconciliation, enregistrements, fraude, statistiques |
| Haute disponibilité | garanties réelles par panne et limites |
| Sécurité | exposition réseau, secrets, identifiants éphémères, protections SIP, isolation des tenants |
| Sauvegarde et restauration | ce que sauvegarde le Manager, ce qui reste dans Navin Enterprise |
| Licences | licence exacte de chaque brique, obligations, exceptions en attente |