Hiérarchie:cible carrier =
telephony-edge-ha + edge-cell-imagecompute-planes historique, jamais fusionnéComposants et contrats
Les ports sans source stable sont marqués à figer. Les ownerships Navy Phone et VoiceBot restent séparés.
Frontière télécom et cellules carrier8 composants
Carrier UE, DID et publication A/BExterne
- Rôle / owner
- PSTN, DIDs E.164, trunk SIP et média. Owner opérateur contracté, gouvernance Navy Phone.
- Interfaces / confiance
- SIP mTLS 5061 et RTP/SRTP cible 10000-20000 vers deux IP; CN, CIDR, codecs et DTMF contractuels.
- État / dépendances
- Aucun DID, trunk, DNS/SRV, ACL ou interopérabilité provisionné.
- HA / panne
- Failover des nouveaux appels à fournir; aucun appel actif ne migre.
- Sécurité / preuve / source
- Caller-ID non fiable; SLA/fraude/support externes. Source:
docs/CARRIERS.md, outputstelephony-edge-ha.
Cellules carrier A et BCible
- Rôle / owner
- Deux domaines de panne fr-par-1/fr-par-2, chacun Kamailio + RTPEngine + Asterisk. Owner plateforme téléphonie.
- Interfaces / confiance
- NIC public carrier, Private Network edge 8089, Private Network management SSH 22.
- État / dépendances
- Images zonales et policy cloud-init; aucune image ou Instance produite.
- HA / panne
- Perte cellule coupe potentiellement actifs; nouveaux appels dépendent du carrier.
- Sécurité / preuve / source
- Gates image, firewall, PKI, NTP et VPN. Source:
infra/opentofu/scaleway/telephony-edge-ha/main.tf.
Kamailio SBC A/BLab local
- Rôle / owner
- SBC d’admission SIP par cellule. Owner plateforme téléphonie.
- Interfaces / confiance
- mTLS 5061 carrier, mTLS 5063 interne avec CA cellule, SIP TLS loopback 5062, NG UDP 22222.
- État / dépendances
- Transactions SIP, routes offre/réponse, DID/alias et peer strict; dépend PKI et nftables.
- HA / panne
- Fail-closed si RTPEngine ou politique invalide; aucune réplication cross-cell.
- Sécurité / preuve / source
- Kamailio 6.0.7, mTLS rôles carrier/cellule séparés. Exact-socket: public 8.8.8.8:5061, interne 5063, double Record-Route et BYE retour sur la connexion TLS. Les deux directions offer/answer PRACK et trois refus RAck ciblés sont prouvés en lab; forks, suites de 1xx fiables, teardown et RTP après renégociation restent absents. Pike 12 requêtes/2 s non dimensionné. Source:
kamailio.cfg.tpl, runtime-lab et lab SBC.
RTPEngine A/BLab local
- Rôle / owner
- Ancrage SDP/RTP local à chaque cellule. Owner plateforme média.
- Interfaces / confiance
- NG UDP 127.0.0.1:22222; média public borné vers carrier et Asterisk.
- État / dépendances
- Sessions éphémères; dépend IP publique exacte, plage nftables et SDP valide.
- HA / panne
- Perte process coupe média de la cellule; aucune migration active.
- Sécurité / preuve / source
- 26.0.1.13 userspace UID 1000, source verrouillée, ping
pong. NG 127.0.0.1:22222 et SDP 8.8.8.8:10000-11000 exercés exact-socket; aucun RTP émis par cet appel. RTP bidirectionnel >0 et 4 sessions appartiennent au lab média séparé. Source:component-lock.json, runtime-lab, lab SBC.
Asterisk A/BLab local
- Rôle / owner
- PBX, dialplan minimal, Stasis, bridges et média applicatif. Owner téléphonie Navy Phone.
- Interfaces / confiance
- SIP TLS loopback 5062, média via RTPEngine, ARI TLS et Media WS privé 8089.
- État / dépendances
- Canaux/bridges éphémères; 100rel et timers 90/1800 configurés; dépend secrets, Kamailio et contrôle Navy.
- HA / panne
- État local non répliqué; perte PBX coupe les appels de la cellule.
- Sécurité / preuve / source
- Asterisk 22.9.0 et TLS 127.0.0.1:5062 exercés dans le namespace partagé; ARI answer/hangup et cycle Stasis terminés. Aucune image cloud construite. Source: templates Asterisk, runtime-lab et lab SBC.
ARI TLS et Media WebSocketCode
- Rôle / owner
- Contrôle PBX et échange PCM slin16 avec Navy Phone. Owner contrôle téléphonique.
- Interfaces / confiance
- HTTPS/WSS 8089 sur réseau edge, credential ARI dédié et CA interne.
- État / dépendances
- Connexion, backpressure et génération média; serveur Media WS existe en code/tests mais n’est pas importé dans le runtime.
- HA / panne
- Perte contrôle sans reprise transparente; drain et reconnect à prouver.
- Sécurité / preuve / source
- TLS 1.2+, ACL privée. Source:
http.conf.tpl,ari.conf.tpl,chan_websocket.conf,server/ari-app.ts.
Admission DID vers alias opaqueCode
- Rôle / owner
- Transforme une destination E.164 allowlistée en alias dialplan non devinable.
- Interfaces / confiance
- Entrée To/R-URI validée; sortie locale vers contexte inbound.
- État / dépendances
- Table injectée par policy; aucun tenant secret ou route sortante.
- HA / panne
- DID inconnu = 404/refus; config divergente doit bloquer promotion.
- Sécurité / preuve / source
- Validation E.164 stricte et digest de policy. Source:
edge.py,extensions.conf.tpl, variableinbound_routes.
Pare-feu hôte et trois NICLab local
- Rôle / owner
- nftables fail-closed sur public, edge et management. Owner sécurité plateforme.
- Interfaces / confiance
- 5061/RTP public, 8089 edge, 22/123 management; input/output/forward drop.
- État / dépendances
- Identité lie policy canonique, modes, fichier rendu et règles actives.
- HA / panne
- Une ambiguïté NIC garde le runtime arrêté; politique locale sans dépendance centrale.
- Sécurité / preuve / source
- Mauvaise interface refusée; quatre dérives health-lab détectées. Source:
edge.py:render_nft,health.py.
Contrôle Navy Phone et média utilisateur6 composants
Ingress web, API et WSSCible
- Rôle / owner
- Terminaison HTTPS/WSS des consoles et API. Owner plateforme web.
- Interfaces / confiance
- 443 public ou privé selon rôle; app 3000 et signalisation 4010 en aval.
- État / dépendances
- Certificats, routes, quotas et identité client; ingress HA actuel non prouvé.
- HA / panne
- Panne bloque nouveaux softphones/admin, pas nécessairement un trunk déjà établi.
- Sécurité / preuve / source
- HSTS/CSP/rate limit à figer. Source:
infra/deploy/Caddyfile; compute-planes seulement historique.
Navy Phone app, API et control planeCode
- Rôle / owner
- Organisations, lignes, appels, carriers, files, softphones et contrôle PBX.
- Interfaces / confiance
- App 3000, API HTTPS via ingress, ARI/Media WS 8089 vers edge.
- État / dépendances
- Sessions, lignes et appels; dépend DB, PBX, identité et produits optionnels.
- HA / panne
- Réplicable si état externe; topologie cloud, drain et affinité non prouvés.
- Sécurité / preuve / source
- RBAC/tenant et livez/readyz. Source:
app/,server/ari-app.ts,lib/carrier/.
Service de signalisation softphoneCode
- Rôle / owner
- Présence, commandes temps réel et coordination navigateur. Owner temps réel Navy.
- Interfaces / confiance
- WSS via ingress vers port 4010 historique/documenté.
- État / dépendances
- Connexions éphémères, session appareil et présence.
- HA / panne
- Reconnect et affinité à qualifier; sortie PSTN directe refusée.
- Sécurité / preuve / source
- Bearer interne, origines bornées, quotas. Source:
server/pbx.ts, compose historique.
Media session et preuve de playbackCode
- Rôle / owner
- Buffers, générations, barge-in, playback et corrélation ACK. Owner média Navy Phone.
- Interfaces / confiance
- PCM/frames via PBX ou provider; contrôle local sans route cachée.
- État / dépendances
- Génération courante, mark, AbortSignal, queue bornée.
- HA / panne
- Timeout/worker perdu = aucun commit; pas de reprise transparente prouvée.
- Sécurité / preuve / source
- Mark prouve frontière transport, pas audition. Source:
lib/media-session.ts, external media.
Softphone WebRTCCode
- Rôle / owner
- Appels navigateur et contrôle agent humain.
- Interfaces / confiance
- HTTPS/WSS, ICE et TURN; plage relay cible à figer.
- État / dépendances
- PeerConnection, appareil, credential TURN éphémère.
- HA / panne
- Renégociation/reprise ICE réelle non prouvée.
- Sécurité / preuve / source
- Rôle appareil, tenant,
getStats()/MOS à opérer. Source:lib/softphone-ui.ts, rtc-config.
coturn A/BLab local
- Rôle / owner
- Relais TURN séparés du carrier. Owner plateforme temps réel.
- Interfaces / confiance
- 3478/5349 et plage UDP à figer; TLS/CA et credentials éphémères.
- État / dépendances
- Allocations locales, secret rotatif, DNS/config ICE.
- HA / panne
- Nouveaux clients peuvent choisir B; allocation A active ne migre pas.
- Sécurité / preuve / source
- Anti-pivot, quotas, invalides refusés. Source:
infra/turn/coturn-ha-lab/, preuve TURN HA.
VoiceBot Navy Crisis, produit optionnel9 composants
Ingress VoiceBot API v1 et SDKCode
- Rôle / owner
- Contrat headless entre Navy Phone et VoiceBot. Owner API VoiceBot.
- Interfaces / confiance
/api/v1/voicebot/*HTTPS privé; port cible à figer.
- État / dépendances
- Tenant, session, révision, scopes et idempotence.
- HA / panne
- Panne produit laisse téléphonie/file/humain disponibles.
- Sécurité / preuve / source
- JWT Ed25519 court, clé 0600, scopes. Source: README VoiceBot, intégration produit.
Sessions et tours préparésCode
- Rôle / owner
- Machine d’état prepared-turn/ACK/commit. Owner VoiceBot.
- Interfaces / confiance
- API produit avec token opaque et révision optimiste.
- État / dépendances
- Session, tour, protocole, décision, token, expiration.
- HA / panne
- Conflit CAS, ACK ancien ou timeout = aucun commit.
- Sécurité / preuve / source
- Audit de transition et idempotence. Source: contrats VoiceBot,
voice-turn.ts.
VAD, gestion de tour et barge-inCode
- Rôle / owner
- Début/fin de parole et annulation propagée. Owner média Navy Phone.
- Interfaces / confiance
- Frames PCM, VAD, génération, AbortSignal, clear/FLUSH_MEDIA.
- État / dépendances
- Génération courante, buffers, mark et token invalide.
- HA / panne
- Purge et aucun commit; nouveau final réévalue l’intention.
- Sécurité / preuve / source
- Aucun audio brut dans métriques. Source:
lib/media-session.ts, bridge Twilio, tests média.
STT streamingCible
- Rôle / owner
- Transcription partielle/finale possédée par Navy Phone.
- Interfaces / confiance
- Audio privé vers provider souverain; port à figer.
- État / dépendances
- Partiels consultatifs; final autoritaire après langue/re-décodage.
- HA / panne
- Timeout retire le bot et transfère; pas de transcript inventé.
- Sécurité / preuve / source
- Egress fermé, digest modèle, WER/latence BE à qualifier. Source:
lib/ai/transcribe.ts, registry providers.
Orchestrateur conversationnelCode
- Rôle / owner
- Choisit protocole, faits, outils, dialogue et handoff. Owner VoiceBot.
- Interfaces / confiance
- STT final, session, RAG, LLM et garde via contrats internes.
- État / dépendances
- Contexte minimal, révision, outils allowlistés et provenance.
- HA / panne
- Repli déterministe et humain; aucune boucle outil non bornée.
- Sécurité / preuve / source
- Isolation tenant et audit atomique. Source: moteur/contrats du dépôt VoiceBot.
LLM conversationnelCible qualifiée
- Rôle / owner
- Propose une réponse naturelle; ne décide aucune action critique.
- Interfaces / confiance
- Prompt/context privés vers endpoint souverain à figer.
- État / dépendances
- Modèle, release, digest, tokens et texte candidat.
- HA / panne
- Phrase déterministe, clarification ou handoff.
- Sécurité / preuve / source
- Sortie structurée, pas d’egress implicite; TTFT/qualité à mesurer. Source: runtime map et campagnes.
Garde déterministeCode / contrat
- Rôle / owner
- Décide autorisation, correction, question, refus ou handoff avant action et restitution.
- Interfaces / confiance
- Proposition LLM, protocole, faits, provenance et état courant.
- État / dépendances
- Version de policy, raison et décision; pas un filtre unique post-LLM.
- HA / panne
- Erreur ou fait manquant = fail-closed/handoff.
- Sécurité / preuve / source
- Décision auditée et déterministe aux zones critiques. Source: runtime map, gates produit.
Graph RAG, corpus et protocolesCode / contenu
- Rôle / owner
- Faits sourcés, navigation de protocole et réponses contrôlées. Owner contenu VoiceBot.
- Interfaces / confiance
- Retrieval interne; endpoint/vector store cible à figer.
- État / dépendances
- Documents, version, source, fraîcheur et embeddings.
- HA / panne
- Source absente = clarification/handoff, jamais fait inventé.
- Sécurité / preuve / source
- Isolation tenant, chiffrement et double revue. Source: README VoiceBot et corpus gouverné.
TTS et ACK de lectureCode + cible
- Rôle / owner
- Navy Phone synthétise le texte validé et corrèle transport/ACK.
- Interfaces / confiance
- Endpoint TTS souverain à figer, frames vers PBX/provider.
- État / dépendances
- Génération, frames, mark, ACK et token prepared-turn.
- HA / panne
- Timeout/interruption = aucun commit; retry borné ou humain.
- Sécurité / preuve / source
- Mark = transport, pas audition. Source:
lib/tts.ts, media session, contrat ACK produit.
Données, preuves et exploitation6 composants
PostgreSQL privéCible
- Rôle / owner
- État durable Navy Phone et VoiceBot avec bases/rôles séparés. Owner plateforme data.
- Interfaces / confiance
- TLS privé, port conventionnel 5432 à confirmer, aucun accès public.
- État / dépendances
- Sessions, ledger, révisions, migrations, sauvegardes.
- HA / panne
- Failover/PITR cibles; admission fermée si cohérence critique perdue.
- Sécurité / preuve / source
- RLS/NOLOGIN/IAM, mot de passe hors state; RPO/RTO non mesuré. Source:
data-foundation, stores PostgreSQL.
Stockage objet et audio vaultCible
- Rôle / owner
- Enregistrements autorisés, exports et artefacts. Owner conformité/data.
- Interfaces / confiance
- HTTPS 443/endpoints privés, ACL et clés dédiées.
- État / dépendances
- Objets, métadonnées, consentement, TTL/legal hold.
- HA / panne
- Upload idempotent; appel ne doit pas dépendre du bucket.
- Sécurité / preuve / source
- SSE/KMS/Object Lock cibles; aucun bucket. Source:
infra/scaleway/audio-vault/.
Ledger et audit append-onlyCode
- Rôle / owner
- Transitions téléphonie et preuve technique. Owner Navy Phone, séparé de l’audit VoiceBot.
- Interfaces / confiance
- Événements structurés internes, export cible privé.
- État / dépendances
- Hash chain, séquence, call ID opaque, clock.
- HA / panne
- Buffer borné ou admission fermée; pas de commit fictif.
- Sécurité / preuve / source
- RBAC/redaction, rupture de chaîne à alerter. Source:
lib/audit.ts, audit-center.
Enregistrement, rétention et restaurationCode / politique
- Rôle / owner
- Capture optionnelle, règles de rétention et purge. Owner conformité.
- Interfaces / confiance
- Audio vers vault seulement avec autorité; aucune capture par défaut.
- État / dépendances
- Consentement, objet, checksum, échéance, legal hold.
- HA / panne
- Échec stockage ne doit pas faire croire à un enregistrement réussi.
- Sécurité / preuve / source
- Double contrôle, dry-run purge, restore drill absent. Source:
lib/recording-*, politiques recording.
Liveness applicative et readiness edge localeCode + lab
- Rôle / owner
- livez/readyz applicatifs et collecteur edge 14 checks. Owners applicatif et edge séparés.
- Interfaces / confiance
- HTTP privé app; edge sans listener ni port, timer 15 s.
- État / dépendances
- Trois fichiers /run bornés: snapshot, Prometheus, dernière transition.
- HA / panne
- Snapshot >45 s refusé; panne collecteur ne coupe pas d’appel; aucune consommation/drain réel.
- Sécurité / preuve / source
- 0700/0640, aucune donnée d’appel/adresse/média/payload. Health-lab simulé, runtime-lab réel séparé. Source:
health.py,health-lab/run.py.
Métriques, logs, traces, SLO et alertesBackend absent
- Rôle / owner
- Supervision globale téléphonie, voix, données, sécurité, coût et qualité. Owner SRE/sécurité.
- Interfaces / confiance
- Exporter privé à concevoir; aucun port edge ajouté.
- État / dépendances
- Snapshot local en code/lab; backend, rétention et alert rules absents.
- HA / panne
- Export perte contrôlée; aucun failover carrier ou drain consommateur.
- Sécurité / preuve / source
- Labels fixes, métrique inconnue omise; SLO/burn-rate/astreinte non opérationnels. Source:
health.py, tests observabilité.
Réseau privé, sécurité et supply chain8 composants
VPN S2S, BGP, gateways client et bastionCible
- Rôle / owner
- Accès privé administration/client et routes redondantes. Owner réseau/SRE.
- Interfaces / confiance
- Deux gateways, préfixes bornés, management sans SSH public.
- État / dépendances
- Peers, routes, PSK/certificats et bastion JIT.
- HA / panne
- Deux chemins cibles; convergence BGP non mesurée.
- Sécurité / preuve / source
- Aucun PSK state/output, MFA et approbation. Source:
telephony-edge-ha.
PKI, secrets runtime et NTP privéCible
- Rôle / owner
- Identités carrier/cell/ARI, provisioning et temps fiable. Owner sécurité plateforme.
- Interfaces / confiance
- Management privé; sources root-only vers copies /run UID/GID exact.
- État / dépendances
- Certificats, clés, CA, mot de passe ARI, trust bundles et horloge.
- HA / panne
- Secret/temps invalide garde runtime arrêté; rotation/drain à opérer.
- Sécurité / preuve / source
- Permissions/hash/paires cert-clé vérifiés; PKI/NTP réels absents. Source: README edge,
edge.py.
IAM, KMS et Secret ManagerCible
- Rôle / owner
- Identités machine, chiffrement et secrets cloud. Owner sécurité/IAM.
- Interfaces / confiance
- Endpoints privés, rôles par service, aucune clé API en Terraform.
- État / dépendances
- Principals, policies, clés KMS et versions secrets.
- HA / panne
- Cache/rotation bornés; break-glass et révocation à concevoir.
- Sécurité / preuve / source
- Moindre privilège et audit requis. Source:
iam-foundation/README.md.
Packer et image immuable edgeBundle en code
- Rôle / owner
- Assemble Debian, Docker, systemd et trois runtimes edge. Owner supply chain.
- Interfaces / confiance
- Build contrôlé; runtime cloud sans egress général.
- État / dépendances
- Packer 1.16.0, plugin 1.5.0, Debian snapshot, OCI digests, RTPEngine source.
- HA / panne
- Images zonales A/B attendues; aucune image construite.
- Sécurité / preuve / source
- Hashes locaux; signature/SBOM/CVE/Secure Boot absents. Source:
infra/telephony/edge-cell-image/.
OpenTofu et gates de promotionTests mockés
- Rôle / owner
- Provisionne cible A/B et refuse promotion incomplète. Owner plateforme IaC.
- Interfaces / confiance
- API Scaleway lors d’un apply autorisé; aucun secret output.
- État / dépendances
- State dédié, image UUID, policy, réseaux et gates G0/G2.
- HA / panne
- Apply partiel doit rester fail-closed; rollback cloud non exercé.
- Sécurité / preuve / source
- 14 tests natifs passent avec provider mocké, pas l’API. Source:
telephony-edge-ha, vérificateur policy.
Compute et artefacts STT, LLM, embeddings, TTSÀ qualifier
- Rôle / owner
- Inference voix/texte et retrieval souverains. Owners plateforme IA + produits.
- Interfaces / confiance
- Réseau IA privé; ports fournisseurs à figer, jamais 8000/9000 par héritage.
- État / dépendances
- Modèles, digests, licences, GPU, registry et benchmarks.
- HA / panne
- Pools/circuit breakers/admission à qualifier; repli déterministe.
- Sécurité / preuve / source
- Provenance, egress, isolation; TTFT/TTFA/WER/MOS/capacité non cloud. Source: runtime map et campagnes.
Ancien module compute-planesHistorique
- Rôle / owner
- Profil STRIKE IT single-zone conservé pour traçabilité.
- Interfaces / confiance
- ARI 8088 en lab, ports IA historiques 8000/9000.
- État / dépendances
- Module non déployé, non source de vérité carrier.
- HA / panne
- Aucune HA réelle; trafic Private Network non filtré documenté.
- Sécurité / preuve / source
- Ne jamais fusionner ses claims/ports avec l’image edge actuelle. Source: README
compute-planes.
Conformité télécom, 112, RGPD et homologationExterne
- Rôle / owner
- Autorise mise en service légale. Owners direction, DPO, sécurité et opérateur.
- Interfaces / confiance
- Process humains, IBPT/BIPT, secours et autorités.
- État / dépendances
- Numérotation, portabilité, 112/localisation, RGPD/AIPD, lawful intercept.
- HA / panne
- Absence d’autorisation = NO-GO, indépendamment des tests techniques.
- Sécurité / preuve / source
- Double contrôle, minimisation, rétention et incident. Source:
docs/COMPLIANCE-BE.md, roadmap et sources officielles.