← Tilbage til Call GuardENGINEERING / 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
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.
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.
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.
- 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.
- 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.
- Vælg ét konsistent snapshot. Brug samme rettigheds- og policyversion gennem hele evalueringen, så en samtidig opdatering ikke ændrer beslutningsgrundlaget halvvejs.
- Kontrollér nummerrettigheden. Tjek aktiv kunde, trunk, nummer/nummerserie, delegation, udløb og rute. Ukendt datagrundlag skal adskilles fra dokumenteret manglende rettighed.
- Tilføj relevante signaler. Brug lokale tællere og eventuelt cachede eksterne signaler med kendt alder. Eksterne feeds må ikke være eneste sandhedskilde.
- 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.
- 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.
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.
01Kontrakt 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.
02Register og autorisationsmotor
Byg migrationsstyret register, delegationskontrol, snapshots og deterministiske regler. Test gyldige, udløbne, tilbagekaldte og overlappende rettigheder samt kryds-tenant-forsøg.
03Connector 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.
04Belastning 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.
05Pilot 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 ↗