Fonctions documentées: Télécom et cellules carrier

Frontière télécom et cellules carrier9 composants
Carrier UE, DID et publication A/BExterne
Rôle / owner
PSTN, DIDs E.164, trunk SIP et média. Owner opérateur cible non 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
Le contrôle interne signé v1 lie tenant, carrier, provider, configuration, preuves et fenêtre de validité. Contrat A priorité 10 puis B priorité 20; aucun DID, trunk, DNS/SRV, ACL ou interopérabilité provisionné.
HA / panne
Navy Phone refuse l’activation si la qualification interne manque, expire ou diverge. Le carrier cible non contracté posséderait la bascule réelle: 503 ou timeout 4 s vers B, hold-down modèle 30 s; aucun appel établi ne migre.
Sécurité / preuve / source
Admission interne implémentée, modèle local fermé PASS, mais zéro qualification terrain, aucun carrier/PSTN ou appel externe. Caller-ID, SLA, fraude et support restent externes. Production NO-GO. Voir contrat de résilience.

Ouvrir la fiche composant

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.

Ouvrir la fiche composant

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, proxy stateful et mTLS séparé. np_admission ferme les nouveaux appels sans bail santé; np_oa_lock sérialise ensuite par Call-ID, avec admission CSeq typée, owners et tombstone BYE. Le runtime-lab prouve drain initial, OPTIONS, bail/expiration et dialogue établi survivant. Les labs ciblent aussi 491/500/500/481; l’ACK anormal reste sans observation PBX indépendante et PRACK unmatched garde un risque aval. Détails: profil SIP.

Ouvrir la fiche composant

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, SDP 8.8.8.8:10000-11000 et RTP bidirectionnel synthétique >0 sont exercés sur le même appel exact-edge local. Le lab SBC séparé borne 4 sessions, sans prouver la capacité. Source: component-lock.json, runtime-lab, lab SBC.

Ouvrir la fiche composant

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 PJSIP TLS 127.0.0.1:5062 exercés dans le namespace partagé. Le même appel impose un canal PJSIP corrélé au Call-ID et un bridge ARI contenant exactement les canaux PJSIP et Media WS attendus. Aucune image cloud construite. Source: templates Asterisk, runtime-lab et lab SBC.

Ouvrir la fiche composant

ARI TLS et Media WebSocketCode + lab
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
Un vrai Asterisk 22.9.0 local ouvre WSS/slin16, envoie 56 frames, reçoit de l’audio non silencieux et observe la queue, DTMF, MARK_MEDIA, FLUSH_MEDIA et le mark post-flush.
HA / panne
La purge invalide l’ancien mark; perte WSS, reconnexion, reprise worker et charge restent à prouver.
Sécurité / preuve / source
Runtime local borné, zéro erreur protocole, cleanup attesté, pstnOutbound=false et aucune action externe. Ne prouve ni voix humaine, audition, VAD, pipeline STT-LLM-TTS, cloud ou production. Source: lab media-websocket et job CI dédié.

Ouvrir la fiche composant

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, variable inbound_routes.

Ouvrir la fiche composant

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.

Ouvrir la fiche composant

Bridge public Twilio vers VoiceBotCode
Rôle / owner
Admet un webhook Twilio et une session Media Streams par appel. Owner intégration téléphonie et sécurité.
Interfaces / confiance
HTTPS public puis WSS Twilio via ingress approuvé; le processus écoute par défaut sur 127.0.0.1:3103. Signature, URL publique, To allowlisté et CallSid réservé sont contrôlés.
État / dépendances
Code existant, une réservation active et un seul socket média correspondant. Dépend de Twilio, d’un ingress, du VoiceBot, du STT et du TTS; aucun numéro ni webhook public n’est attesté.
HA / panne
Une seconde session est refusée; une perte du bridge coupe l’appel actif. Aucune réplication, reconnexion, bascule ou capacité multi-instance n’est prouvée.
Sécurité / preuve / source
Les requêtes invalides sont détruites avant média. Egress et ingress Twilio franchissent une frontière tierce. Source: server/twilio-crisis-bridge.ts, lib/twilio-request-security.ts. Appel public, DDoS, rotation, charge et SLO: NO-GO.

Ouvrir la fiche composant