Softwarestatus · 29. september 2026Pilotforberedelse · kvalificering afventer · Se detaljer

Status er kontrolleret mod projektkilderne den 29. september 2026. Udviklingskode, beståede softwaretests og pilot-/produktionsklarhed vurderes hver for sig. De aktuelle GitHub-kandidater er åbne kladder; hjemmesidens offentliggørelse er ikke en softwarefrigivelse.

Call Guard

Pilotforberedelse · kvalificering afventer

Dokumenteret nu

Qualification v2, evidensbinding og rollback-kontroller er implementeret i udviklingsgrenen.

Næste milepæl

Eksekveret CI, operatørtest, rettigheder, signering og releasegodkendelse.

Den aktuelle CI-status indeholder ikke eksekverede jobtrin. Den kan derfor ikke bruges som bevis for, at programtests er kørt og fejlet.

KKERNESANSCALL GUARDTal om en pilot ↗
← Tilbage til Call Guard
ENGINEERING / TEKNISK BYGGEPLAN

Fra SIP-signal
til dokumenteret beslutning.

Den foreslåede konstruktion af Call Guard: datamodel, opkaldsflow, policy-motor, integration, sikkerhed, drift og test.

Produkt- og udviklingsoplæg · September 2026 · Ikke dokumentation for en færdig implementering

ArkitekturDatamodelOpkaldsflowPolicySikkerhed & driftTest & byggeforløb
Dette er en implementeringsspecifikation, ikke en beskrivelse af verificeret kildekode. Teknologierne er forslag; endelige versioner, licenser og operatørintegrationer vælges og afprøves før drift.
01 / ARKITEKTUR

Adskil opkaldets beslutning
fra administrationen.

Lokal beslutningsmotor

En lokal tjeneste modtager et normaliseret beslutningsinput fra operatørens betroede SIP-proxy eller SBC. Den bruger et versionsbundet snapshot af nummerrettigheder og policies. Den kritiske vej skal kunne fungere uden et synkront kald til den centrale cloud.

Central kontrolplatform

Administrerer kunder, rettigheder, delegationer, policyversioner og roller. Signerede konfigurationspakker distribueres til de lokale motorer, som validerer og aktiverer dem atomisk. Hændelser sendes asynkront til analyse og rapportering.

KomponentForeslået konstruktionHvorfor
BeslutningstjenesteGo med lokal, skrivebeskyttet snapshot-cacheBegrænset afhængighed i opkaldsvejen og enkel distribution.
Administrations-APIGo REST API med OpenAPI-kontraktValideret input, versionsstyring og integration til operatørens systemer.
RettighedsregisterPostgreSQL med tenant-nøgler, constraints og migrationsstyringTransaktioner og sporbare rettighedsændringer.
OperatørportalTypeScript/React med rollebaseret adgangGennemgang af regler, undtagelser og beslutninger.
HændelseskøLokal holdbar buffer; central kø vælges efter målt behovRapportering må ikke blokere opkald ved cloududfald.
ObservabilityOpenTelemetry-signaler og Prometheus-kompatible målingerLatens, kødybde, fejl og snapshot-alder skal kunne overvåges.

En separat grafdatabase er ikke et krav til første version. Autorisationsgrafen kan modelleres som relationer i PostgreSQL; mere kompleks grafanalyse tilføjes kun ved et dokumenteret behov.

02 / DATAMODEL

Retten til nummeret
skal have en kilde.

EntitetCentrale felterKontrol
Tenanttenant_id, status, policy_scopeEntydig adskillelse mellem operatørens kunder.
Trunktrunk_id, tenant_id, trusted_ingress, statusBindes til autentificeret kontekst fra betroet integration.
NumberRightnumber/range, holder, valid_from, valid_to, source_refRetten skal være dokumenteret, aktuel og uden uafklarede overlap.
Delegationgrantor, grantee, numbers, routes, expiry, approvalDelegation må ikke overstige afgiverens egen rettighed.
PolicyVersionversion, rules, priority, hash, signatureGennemgang, integritetskontrol og atomisk aktivering.
Decision / Enforcementdecision_id, rule_id, snapshot_id, desired_action, actual_actionSkelner motorens anbefaling fra den faktisk udførte handling.

Numre normaliseres efter aftalt nummerplan. Originalt input bevares kun, hvor nødvendigt for fejlfinding og dokumentation. Skjult nummer, servicekoder, viderestilling og internationale formater kræver eksplicit behandling; de må ikke blot afvises som ukendte E.164-numre.

03 / OPKALDSFLOWET

Syv trin for hvert beslutningskald.

  1. Modtag betroet kontekst. SIP-integrationen leverer autentificeret kunde, trunk, retning, rute og relevante identitetsfelter. Et tenant-id i en vilkårlig SIP-header må ikke betragtes som autentificeret.
  2. Normalisér input. Parse numre og adresser, begræns inputstørrelse, og klassificér malformed eller manglende data. Fortolk From og P-Asserted-Identity efter det aftalte trust boundary.
  3. Vælg ét konsistent snapshot. Brug samme rettigheds- og policyversion gennem hele evalueringen, så en samtidig opdatering ikke ændrer beslutningsgrundlaget halvvejs.
  4. Kontrollér nummerrettigheden. Tjek aktiv kunde, trunk, nummer/nummerserie, delegation, udløb og rute. Ukendt datagrundlag skal adskilles fra dokumenteret manglende rettighed.
  5. Tilføj relevante signaler. Brug lokale tællere og eventuelt cachede eksterne signaler med kendt alder. Eksterne feeds må ikke være eneste sandhedskilde.
  6. Returnér beslutningen. Svaret indeholder handling, begrundelse, rule-id, snapshot-id og beslutnings-id. Operatørens integration omsætter svaret til en understøttet handling.
  7. Registrér resultatet. Log både beslutningen og integrationslagets kvittering for udførelsen. Manglende kvittering vises som ukendt udførelse, ikke som et stoppet opkald.
Illustrativ API-kontrakt
POST /v1/decisions
// Autentificeret lokal integration; alle værdier er syntetiske.
{
  "request_id": "example-001",
  "tenant_id": "tenant-demo",
  "trunk_id": "trunk-demo",
  "direction": "outbound",
  "presented_cli": "<normaliseret nummer>",
  "route_id": "egress-demo"
}

{
  "decision_id": "decision-demo",
  "action": "REJECT",
  "reason_code": "CLI_NOT_AUTHORIZED",
  "rule_id": "outbound-cli-001",
  "policy_version": "example-v1",
  "rights_snapshot": "example-r1",
  "enforcement_status": "PENDING"
}

Den endelige kontrakt skal også definere timeout, fejl, idempotens, datakvalitet og kompatibilitet. Eksemplet er ikke et tilgængeligt API.

04 / POLICY & INTEGRATION

Regler først.
Analyse som et ekstra lag.

Første motor er deterministisk: samme input og snapshot skal give samme resultat. Adfærdsmodeller må tilføje signaler uden at skjule, hvilke regler der udløste handlingen.

SituationForeslået behandling
Gyldig rettighed og ingen regelkonfliktALLOW efter operatørens policy; dette siger intet sikkert om hensigten.
Dokumenteret manglende rettighedOBSERVE i pilot; REJECT efter godkendt håndhævelse.
Manglende eller forældede rettighedsdataEksplicit datakvalitetsstatus og aftalt fallback, ikke automatisk fraud-stempel.
Gyldig identitet, men adfærdsafvigelseAlarm og eventuelt understøttet rate limit efter validering.
Indgående eget nummer via ekstern ruteObservation og kontrol af legitime undtagelser, fx viderestilling og alternative ruter.

Integration skal kunne håndhæve før opkaldet fortsætter

Første connector bygges til én valgt SIP-proxy/SBC eller PBX. Et synkront hook i kaldopsætningen skal kunne afvente beslutningen inden for et aftalt tidsbudget. Et hændelsesfeed alene er ikke tilstrækkeligt til at bevise blokering før opkaldsetablering.

CHALLENGE og QUARANTINE er integrationsafhængige arbejdsgange, ikke universelle SIP-handlinger. Første version bør kun tilbyde verificerede handlinger. Nødopkald, viderestilling, roaming-lignende ruter og driftsundtagelser skal gennemgås særskilt med operatøren.

05 / SIKKERHED & DRIFT

Design også til den dag,
hvor noget fejler.

Adgang og konfiguration

  • mTLS mellem betroede tjenester; ingen hemmeligheder i kildekoden.
  • Rollebaseret adgang, MFA og tenant-kontrol på alle dataoperationer.
  • To-personers godkendelse af særligt indgribende regler.
  • Signeret konfiguration, beskyttelse mod versionsnedgradering og nøgleudskiftning.

Fejl og genetablering

  • Senest gyldige snapshot med eksplicit maksimal alder.
  • Operatøraftalt fail-open/fail-closed efter trafikklasse.
  • Begrænsede køer, alarmer ved fyldt buffer og synlig registrering af eventuelle datatab.
  • Redundans, backup, restore-prøver og dokumenteret rollback.

Dokumentation med begrænset dataindsamling

Log regel, inputkilder, versioner, tidspunkt og udført handling. Begræns rå signaleringsdata, og beskyt nødvendige identifikatorer med kryptering, adgangsstyring og passende pseudonymisering. En hash af et telefonnummer alene er ikke anonymisering.

Manipulationsspor kan bygges med hashkæder og signerede checkpoints med separat beskyttelse. Det kan gøre ændringer sporbare, men er ikke i sig selv en garanti for korrekt evidens. Opbevaringsperioder, eksport, sletning og databehandlerforhold skal aftales før persondata behandles.

06 / BYGGEFORLØB & ACCEPTKRITERIER

Hver fase skal kunne bestå en prøve.

01

Kontrakt og testlaboratorium

Afgræns én integration, normaliseret input og understøttede handlinger. Etablér syntetiske SIP-testkald i et isoleret miljø. Godkend nummerplan og undtagelser.

02

Register og autorisationsmotor

Byg migrationsstyret register, delegationskontrol, snapshots og deterministiske regler. Test gyldige, udløbne, tilbagekaldte og overlappende rettigheder samt kryds-tenant-forsøg.

03

Connector og udførelsesbevis

Test ALLOW/OBSERVE/REJECT, timeouts, retransmissioner, dubletter og manglende kvitteringer. Dokumentér med kontrollerede SIP-spor, at afvisning faktisk sker ved det aftalte punkt.

04

Belastning og sikkerhed

Mål p50/p95/p99-latens, maksimal bæredygtig kaldhastighed, CPU og hukommelse. Test cloududfald, nodefejl, forældet snapshot, køpres og restore. Gennemgå afhængigheder, SBOM, licenser og adgangskontrol.

05

Pilot og gradvis aktivering

Start i observation. Lad operatøren efterprøve alarmer, legitim trafik og falske positiver. Aktivér på en afgrænset trafikgruppe med dokumenteret rollback og godkendte grænseværdier.

Ingen faste løfter om millisekunder, opkald pr. sekund eller detektionsrate før måling. Falske positiver kræver et efterprøvet referencegrundlag; tælling af afviste opkald alene dokumenterer ikke forhindret svindel.

Efter den første validerede leverance

Prioritér adfærdsbaseline, gennemgang af delegationer, flere connectors og eksterne identitetssignaler efter pilotens fund. Maskinlæring, central grafanalyse og avancerede workflows skal have en målt gevinst, før de øger systemets kompleksitet.

TEKNISK PARTNER ELLER PILOTOPERATØR?

Lad os definere den første integration.

Det næste konkrete skridt er en gennemgang af jeres SIP-miljø, nummerregister, driftskrav og kriterier for en vellykket pilot.

Kontakt om teknikken ↗