Industrial Alerts
SMS Delivery Reports, Retries and Duplicate-Message Prevention
Track message states and uncertain outcomes without flooding recipients with repeated alarms.
Reliable notification processing requires a message history, not a single sent flag. Submission, provider acceptance, delivery status and human acknowledgement represent different stages.
Store event and message identities
Give the original machine event a durable ID and keep a separate record for each recipient delivery. Save the provider message identifier when available. This relationship lets the application distinguish a new fault from a retry and investigate whether one event was intentionally sent to several people.
Process status updates defensively
Providers may return asynchronous callbacks after the original request. Authenticate these requests using the provider’s documented method and retain their timestamps. Handle repeated or delayed callbacks without generating a second message. Do not assume every carrier supplies the same delivery detail, and keep unknown outcomes visible in reports.
Retry according to the failure
An invalid number needs correction, while a temporary service error may justify a bounded retry. Use backoff, a maximum age and an attempt limit. After a timeout, the provider may already have accepted the message; reconcile its status where possible before resubmission. Expired alarms should not emerge hours later as apparently current events.
Test recovery and auditability
Test a lost API response, duplicate callback, gateway restart and unavailable handset. Check event IDs and recipient histories after recovery. Define when a failed delivery escalates to another route. Dashboard totals should separate submitted, delivered, failed and unknown messages from acknowledgements, so a delivery report cannot be mistaken for operator action.
FAQ
Does delivered mean the operator read the SMS?
No. Treat a delivery status and an explicit operator acknowledgement as separate evidence.
Technical References
Need Help Applying This?
Baztech can assess the hardware, connectivity, software and deployment constraints for your specific project.
