Notification Channels
The Notification service supports three delivery channels, all backed by Azure Communication Services.
Emailβ
The IEmailService sends HTML-formatted emails:
- Uses Azure Communication Services Email
- Renders the
EmailTemplate.htmlwith dynamic variable substitution - Supports batch sending to multiple recipients
Email Contentβ
Emails include:
- Alert type and severity
- Camera name and location
- Timestamp of the event
- Direct link to the camera in the frontend
SMSβ
The ISmsService sends text messages:
- Uses Azure Communication Services SMS
- Concise message format due to character limits
- Includes essential alert details and a shortened link
- Currently blocked pending resolution of a legal issue
Phone Callβ
The IPhoneCallService initiates automated phone calls:
- Uses Azure Communication Services Call Automation
- Delivers a text-to-speech notification message repeated 3 times
- Each alert type has a dedicated callback endpoint for handling call lifecycle events
- See Phone Call Callbacks for details on the callback flow
Alert Serviceβ
The IAlertService manages alert state:
- Creates and tracks alert records
- Associates alerts with cameras and events
- Provides alert history for the Admin API dashboard
Recipient Groupingβ
When a notification is triggered, users are grouped by their delivery preference:
- Email only β Users who opted for email notifications
- SMS only β Users who opted for SMS notifications
- Phone call β Users who opted for phone call notifications
- Combinations β Users may have multiple delivery types (flags-based enum)