Configuration de la téléphonie dans le portail
La section Téléphonie du portail (groupe Exploiter) configure les usages ; chaque écran appelle l'API
/v1/telephony du Control Plane. Les modifications sont enregistrées tout de suite dans Navin Enterprise et
atteignent les moteurs à la publication du pool PBX.
Droits
| Rôle | Lecture | Écriture |
|---|---|---|
platform_admin | tout | tout, y compris les pools PBX |
tenant_admin | les objets de son tenant | les objets de son tenant, sauf les pools PBX (nom et mode en lecture) |
support_engineer, auditor | les objets de son tenant | aucune |
Le softphone est ouvert à tout utilisateur qui a une extension WebRTC. Mots de passe SIP, secrets de trunks, codes de messagerie et de conférence sont en écriture seule : l'écran affiche « défini » ou « non défini », jamais la valeur.
Pools PBX
Un pool regroupe les nœuds Asterisk installés par le Manager. Seul l'administrateur de la plateforme le déclare dans
Pools PBX : mode shared (pool commun, jeu 1 du dispatcher) ou dedicated (pool d'un tenant, jeu 100 ou
suivant), cluster et service du Manager, nœuds (nom hôte [port AMI] [adresse SIP]), utilisateurs AMI et ARI avec
la référence de leur secret (openbao:// ou env://, jamais le secret), points d'accès JSONRPC de Kamailio,
référence du secret partagé WebRTC, jeu LiveKit SIP. La création depuis l'inventaire
(POST /v1/telephony/infrastructure/pools) remplit ces champs depuis les services du Manager.
Paramètres du tenant
Paramètres de téléphonie fixe pour le tenant : domaine SIP (par exemple <voice-host>), pool PBX,
indicatif pays, préfixes national et international, numéros d'urgence, fuseau horaire, adresse WSS des softphones et
durée de conservation des journaux d'appels. Quotas et sécurité fixe les appels simultanés, les appels par
seconde (appliqués par Kamailio à chaque nouvel appel), les minutes par mois, les préfixes pays autorisés, les
préfixes surtaxés toujours bloqués, la durée maximale d'un appel et la conservation des enregistrements.
Objets téléphoniques
| Écran | Objet | Points clés |
|---|---|---|
| Trunks SIP | trunk d'opérateur | hôte, port, transport UDP, TCP ou TLS, authentification, enregistrement, codecs (ulaw, alaw, g722, g729, opus, gsm), numéros autorisés, numéro présenté, ordre de secours |
| Numéros | numéro E.164 | trunk, destination (extension, SVI, file, agent vocal IA, conférence, numéro externe), branche pbx ou ai |
| Extensions | téléphone SIP ou softphone WebRTC | droits d'appel (interne, national, international, surtaxé), messagerie vocale, politique d'enregistrement, renvois, appels simultanés |
| Règles de routage | règle entrante ou sortante | motif Asterisk (_0XXXXXXXXX), priorité, plages horaires (mon-fri 09:00-18:00), trunks, chiffres retirés, préfixe ajouté |
| Éditeur de SVI | flux SVI versionné | nœuds de lecture, menu, transfert ; brouillon, version publiée, versions archivées ; messages audio déposés dans SeaweedFS |
| Files d'attente | file d'appels | stratégie (ringall, leastrecent, fewestcalls, random, rrmemory, linear, wrandom), sonnerie, clôture, attente maximale, musique d'attente, niveau de service, membres et pénalités |
| Agents humains | utilisateur de la plateforme | extension, compétences |
| Agents vocaux IA | agent exécuté par les workers | modèle LLM (alias de la passerelle), langue, accueil, instructions, modèles de transcription et de synthèse, voix, outils autorisés, cible de transfert, durée maximale, file de secours |
| Conférences | salle ConfBridge | code PIN, participants maximum, enregistrement |
Un numéro routé ai doit avoir un agent vocal pour destination. Un objet encore utilisé par un numéro ou une règle
ne peut pas être supprimé.
Publication
Publication compile la configuration du pool à partir des objets de tous ses tenants :
- Aperçu (
POST /v1/telephony/pbx-pools/{id}/preview) : fichierspjsip_navin.conf,extensions_navin.conf,queues_navin.conf,voicemail_navin.conf,confbridge_navin.conf, différence avec la version publiée, tables Kamailio et objets LiveKit. Le compilateur refuse tout contexte d'un tenant qui référencerait un objet d'un autre tenant. - Publier (
.../publish) : livraison à chaque nœud par AMI (UpdateConfig), rechargement des modules, relecture (GetConfig), routage poussé à Kamailio par JSONRPC, trunks et règles de dispatch créés dans LiveKit. La version est conservée avec son texte, son empreinte SHA-256 et son auteur. - Revenir (
.../rollback) à la version précédente si un nœud refuse la nouvelle.
Le flux SVI a sa propre publication de version (POST /v1/telephony/ivr-flows/{id}/versions/{version}/publish).
Softphone
Softphone passe et reçoit des appels depuis le navigateur sur une extension de type WebRTC. Le portail demande des
identifiants éphémères (POST /v1/telephony/webrtc/credentials, une heure au plus), s'enregistre auprès de
Kamailio en WSS et échange le média en DTLS-SRTP avec Asterisk. Le mot de passe SIP de l'extension ne quitte jamais
le serveur.