Aller au contenu principal

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​

QuiFait quoiNe fait pas
Navin Manager et ses agentsinstalle 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, quotasaucune 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​

ServiceRôleMéthodeObligatoire
asteriskPBX : PJSIP, dialplan, SVI, files, messagerie vocale, conférences, enregistrements, ARI, AMI, CDR et CELpaquet Ubuntu 24.04oui
kamailiobord SIP public : TLS, WSS des softphones, NAT, anti-flood, anti-bruteforce, dispatcher vers Asterisk et LiveKit SIPpaquetoui
livekitserveur LiveKit (salles des agents vocaux)binaire ou Podmanpour les agents IA
livekit-sippasserelle SIP vers les salles LiveKitPodmanpour les agents IA
livekit-agentsworkers des agents vocaux IA de Navin (paquet navin-voice-agent)Pythonpour les agents IA
livekit-egressenregistrements LiveKit vers SeaweedFSPodmannon
rtpenginerelais média : ancrage RTP, NAT difficile, interconnexion médiapaquetnon, jamais installé par défaut
livekit-ingressentrées RTMP et WHIPPodmannon, 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é ai va 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​

PageContenu
Installation par le Managerordre d'installation, modes, systèmes, ports, liaisons
Configuration dans le portailpools PBX, réglages, trunks, numéros, extensions, routage, SVI, files, agents, publication
Exploitationappels 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 restaurationce que sauvegarde le Manager, ce qui reste dans Navin Enterprise
Licenceslicence exacte de chaque brique, obligations, exceptions en attente