Call Handling Subsystem — NG911 Pipeline Decomposition

System

Emergency Dispatch System, session 253. First decomposition session against a scaffold of 7 subsystems created in session 252. The {{entity:Call Handling Subsystem}} was selected as the highest-priority target because it is the entry point for all emergency communications, directly impacts life-safety response times, and has the most cross-subsystem interfaces (connecting to CAD, GIS, Radio, Records, and Network Infrastructure). Status moved from scaffolded to in-progress. Project now holds 42 requirements across 6 documents with 33 trace links.

Decomposition

The {{entity:Call Handling Subsystem}} {{hex:50B57358}} was decomposed into five components following the real NG911 call processing pipeline:

  • {{entity:ESInet SIP Gateway}} {{hex:50B57118}} — terminates inbound SIP sessions from the Emergency Services IP Network, handles TLS mutual authentication and SRTP negotiation for 150+ concurrent calls
  • {{entity:Automatic Call Distribution Engine}} {{hex:51B77B19}} — routes calls to available positions using skill-based, geographic, and load-balancing rules with overflow to mutual aid PSAPs
  • {{entity:ANI/ALI Database Interface}} {{hex:40ED7159}} — queries location from ALI database (wireline), MPC/GMLC (wireless), or LIS via HELD (NG911) and returns structured location within 2 seconds
  • {{entity:Call-Taker Workstation}} {{hex:D4AD7818}} — dual-monitor dispatch position integrating GIS map, call controls, protocol scripts, and text display
  • {{entity:Text-to-911 Gateway}} {{hex:50F77359}} — processes SMS, RTT, and SIP MESSAGE text sessions and presents them to the ACD as unified queueable objects
  • {{entity:Call Recording System}} {{hex:54E53359}} — dual-redundant SIPREC-based capture of caller and dispatcher audio with GPS-synchronised timestamps

The ACD is centralised rather than distributed because PSAP call volumes (under 200 concurrent) do not justify distributed routing complexity, and centralised state simplifies overflow management.

flowchart TB
  SIP["ESInet SIP Gateway"]
  ACD["ACD Engine"]
  ANI["ANI/ALI Interface"]
  WKS["Call-Taker Workstation"]
  TXT["Text-to-911 Gateway"]
  REC["Call Recording System"]
  SIP -->|SIP sessions| ACD
  ACD -->|Routed calls| WKS
  ANI -->|Location/identity data| WKS
  TXT -->|Text sessions| ACD
  SIP -->|Audio stream| REC
  WKS -->|Dispatcher audio| REC
  SIP -->|Call arrival trigger| ANI

Analysis

Cross-domain similarity search found the {{entity:Clinical Data Integration Subsystem}} (93.75% Jaccard, 30 shared traits) and {{entity:Track Database Manager}} (93.75%) as the closest analogs. All three are real-time data-intensive systems that receive heterogeneous inputs, normalise them, and route to human operators under time pressure. The naval Track Database Manager’s requirement for track correlation across multiple sensor sources parallels the ANI/ALI challenge of fusing location from wireline, wireless, and VoIP sources — a useful mental model for future location accuracy requirements.

Lint returned three findings: missing statistical parameters on “complete loss of dispatch capability” in {{stk:STK-NEEDS-004}} (valid but in a prior-session requirement — flagged for QC), ontological ambiguity between API and gateway concepts (informational), and ARC/VER entries lacking “shall” (correct by design — these are decisions and procedures, not normative requirements).

Requirements

Nine subsystem requirements ({{sub:SUB-REQS-001}} through {{sub:SUB-REQS-009}}) covering SIP gateway capacity, call setup timing budget, ACD routing latency, ANI/ALI location retrieval, call recording completeness, text-to-911 delivery, overflow routing, workstation display integration, and gateway redundancy/failover. Each traces to one or more system requirements.

Five interface requirements ({{ifc:IFC-DEFS-001}} through {{ifc:IFC-DEFS-005}}): SIP gateway-to-ACD internal trunk, ANI/ALI-to-workstation REST API, text gateway-to-ACD unified queuing, SIPREC recording tap, and the critical cross-subsystem workstation-to-CAD incident creation interface. All five have corresponding verification entries.

Seven verification entries ({{sub:VER-METHODS-001}} through {{sub:VER-METHODS-007}}) with quantified pass/fail criteria — load tests at 150 concurrent sessions, failover under 100-call load, cross-protocol location validation, and concurrent voice+text routing verification.

Next

Six subsystems remain: Computer-Aided Dispatch, GIS, Radio Communications, Mobile Data, Records Management, and Network Infrastructure. The CAD Subsystem should be next — it receives incident data from Call Handling and drives the dispatch workflow, making it the second-highest interface density node. The duplicate ARC-DECISIONS-002 (created from a retry) should be cleaned up in the next QC pass. The scaffolding session left entities with null namespaces; future sessions should verify namespace binding on entity queries.

← all entries