Architecture Overview
PSAPLink is a two-application system. PSAPLink PSAP runs inside each dispatch center's firewall; PSAPLink Cloud is the hosted hub that routes notifications to response companies.
[PSAP Network] [Cloud Infrastructure]
CAD System (TriTech, CentralSquare,
NewWorld Aegis, etc.)
|
| XML export files
v
PSAPLink PSAP
(behind PSAP firewall)
|
| signed HMAC event (HTTPS)
| POST /api/v1/core/events/incident
v
PSAPLink Cloud
(hub routing)
|
NotificationService
|
+-------------+-------------+
| | |
email SMS Slack ...
| | |
Company users notified via 11 transport channels
|
Company users ACK
(web dashboard or transport reply)
|
AckIngestionService
|
| ACK routed back |
|<--------------------------+
|
PSAPLink PSAP
Dispatcher sees ACK confirmation
Core Domain Entities
Agency (psap)
├── CfsConfiguration (1..*) → CfsImport → CfsIncident → Incident
├── Incident (1..*)
│ ├── IncidentAgency — which company agencies are on this incident
│ ├── Notification (1 per company user per incident)
│ │ ├── NotificationDelivery (1 per transport preference)
│ │ └── IncidentReply (0..*)
│ └── IncidentCommunication (append-only audit)
├── TransportChannel (1..*)
├── EscalationRule (1..*)
└── NotificationRule (1..*)
Agency (company)
├── User (1..*)
│ └── UserTransportPreference (1..*)
└── CannedMessage (1..*)
Key relationships:
Notification= one row per (incident, user) pairNotificationDelivery= one row per (notification, transport preference) pair- ACK at the
Notificationlevel — when any delivery is ACKed, all deliveries for that notification are marked acknowledged CommandConnectionlinks a PSAPLink PSAP instance to its PSAP agency in Cloud