Operational Continuity in A2P SMS: RTO, RPO and Traffic Priorities
A practical guide to designing an A2P SMS operational continuity plan: define RTO and RPO, classify traffic, control retries, and distinguish technical redundancy from confirmed delivery.

What problem does an A2P SMS operational continuity plan solve?
An A2P SMS operational continuity plan defines how to maintain or recover messaging processes after a disruption, with pre-approved decisions on which traffic may continue, which traffic must wait, and which communications require an alternative procedure. It is not merely a technical failover document: it coordinates processes, people, data, controls, and communications.
In A2P SMS, the issue is not limited to whether an SMPP or HTTP connection is available. A service may accept send requests while still lacking final evidence of delivery. It may also lose callbacks, receive late DLRs, or retain uncertainty about messages submitted before an outage. The plan must distinguish these situations so that partial recovery is not turned into a promise of deliverability.
The starting point is the business process. An OTP with a short validity window, a transactional alert, an operational notification, and a consented marketing campaign may require entirely different decisions during the same incident.
- Define which business processes depend on SMS and who controls them.
- Identify the impact of delaying, duplicating, suppressing, or resending each message type.
- Establish technical owners and business decision owners.
- Document how evidence for each message is preserved during and after the contingency.

RTO and RPO in messaging: what they mean and what they cannot promise
RTO, or recovery time objective, is the maximum time a resource may remain unavailable before its impact becomes unacceptable for the processes it supports. In an A2P SMS service, it is useful to define it by capability or process: for example, the ability to accept requests, generate an internal identifier, submit to a provider, receive callbacks, or reconcile states.
RPO, or recovery point objective, defines how far back before the disruption data must be recoverable. In messaging, the relevant data is not only the SMS content. It includes the sending intent, traffic class, internal identifier, sender used, time, DLR request, acceptance response, the identifier assigned by the SMSC where available, and subsequent events.
Neither RTO nor RPO guarantees that an SMS reaches the handset. RTO addresses recovery of an operational capability; RPO addresses limiting data or state loss. Final deliverability depends on subsequent states and confirmations, which must be assessed separately.
The RTO must leave room within the maximum tolerable interruption time. If messages need to be reprocessed, states queried, or duplicates reviewed before operations resume, that time also consumes the available window.
- Acceptance RTO: time to resume accepting traffic in a controlled manner.
- Submission RTO: time to resume submitting authorized traffic through available connectivity.
- Observability RTO: time to recover logs, callbacks, queries, and alerts.
- Sending-intent RPO: maximum tolerable loss of recorded requests.
- State RPO: maximum tolerable loss of state changes, identifiers, and contingency decisions.

Dependency inventory: do not plan only for the route
A route or alternative connection may be an important dependency, but it is not the complete service. The inventory should follow the flow from the application requesting the send through to the subsequent recording of states. If an unidentified element fails, switching providers may not restore the business process.
Document technical, operational, and control dependencies. For each one, specify the owner, recovery mechanism, required credentials, available observability, and effect of unavailability. Also identify single points of failure and shared dependencies between options that appear redundant.
In SMPP, the SMSC may assign an identifier when it accepts a message, and the subsequent DLR may refer to that identifier. Therefore, the ability to retain and correlate IDs is part of recovery. Without that correlation, an operation may not know whether a message was resent, accepted through more than one path, or reported late.
- Sending application, internal queue, and request storage.
- Credentials, authorizations, and secure access management.
- HTTP or SMPP connectivity, sessions, limits, and technical monitoring.
- Provider, SMSC, or interconnection available for authorized traffic.
- Sender, applicable rules, and destination-specific configuration.
- Internal and external identifiers for correlation.
- Callbacks, DLRs, status queries, and asynchronous event handling.
- Persistent logs, alerts, dashboards, and communication procedures.
Classify traffic by impact before the incident occurs
Priority should not be based solely on volume, customer, or the available route. It should be based on the impact of the message arriving late, not arriving, or arriving twice. Classification must be agreed with business process owners and turned into actionable operational rules.
OTPs are usually time-sensitive, but that does not authorize indiscriminate resending. If there is uncertainty about an earlier attempt, issuing a new OTP may be preferable to resending the same code, provided the authentication process and security policy allow it. The decision belongs to the process design, not to a universal transport rule.
Transactional and operational alerts require assessment of the consequences of duplication, ordering, and validity. Consented marketing can normally tolerate a safer pause than an accelerated switchover, especially if traceability cannot be preserved or the relevant frequency and consent rules cannot be applied.
- OTP and authentication: high priority, short usefulness window, and strict retry controls.
- Transactional alerts: priority according to impact, with attention to ordering, duplication, and validity.
- Operational communications: assess whether the SMS channel is essential or whether an authorized alternative procedure should be used.
- Consented marketing: generally suitable for throttling or pausing when operational evidence is incomplete.
Define safe degradation modes
The plan must state what to do when the service is not operating under normal conditions. Throttling, queuing, pausing, diverting, or applying a manual procedure are different degradation modes. Each should have entry conditions, an authorization owner, scope, maximum review duration, and exit criteria.
Throttling reduces volume or reserves capacity for a priority class. Queuing retains requests for later processing, but it is appropriate only if the message retains value after delay and if the queue preserves the necessary context. Pausing prevents traffic from being sent when this cannot be done in a traceable or compliant manner. Diverting to an alternative channel is appropriate only when that channel is authorized for the use case and the process can support it.
Do not use an alternative route as an automatic policy for all traffic. Before diverting, assess whether the sender, connectivity, applicable requirements, message validity, correlation capability, and risk of duplication remain acceptable.
- Throttle: reserve capacity and reduce non-critical sends.
- Queue: retain messages only if their expiry and context allow later processing.
- Pause: stop sends when uncertainty or potential non-compliance outweighs the benefit.
- Divert: use another authorized and documented channel for the affected process.
- Temporary manual procedure: apply only if it is designed, authorized, and traceable.
Why an alternative route does not equal guaranteed recovery
An alternative may restore the ability to submit traffic to another provider, SMSC, or connection. That is valuable, but it does not prove that the previous message was not accepted, that the new attempt can use the same sender, or that the recipient will receive the message.
In SMPP, submit acceptance and the DLR are different events. The SMSC may return an identifier when it accepts the message, while the DLR is received later, usually through deliver_sm or data_sm. In addition, the DLR request depends on the registered_delivery configuration and does not imply that a receipt will exist for every message.
Similarly, a sending status may reflect acceptance by an upstream carrier, while a delivery status requires a subsequent confirmation. Even when a delivered status is recorded, its interpretation must follow the semantics documented by the specific provider or interconnection. It should not be confused with an absolute, independent guarantee of receipt by an individual recipient.
Technical redundancy reduces certain availability risks. It does not eliminate destination restrictions, sender behavior, lost callbacks, uncertainty before failover, or the risk of duplicating traffic.
- Alternative sending capability does not equal confirmed delivery.
- An acceptance acknowledgement does not replace a subsequent DLR.
- A requested DLR does not guarantee that one will be received for every message.
- The decision to retry must consider uncertainty, validity, and the cost of duplication.
Activation criteria: signals, thresholds, and human validation
A contingency should not be activated based only on an isolated impression or depend on an alarm without context. Define observable signals for each dependency: connection errors, authentication failures, callback unavailability, queue buildup, abnormal absence of subsequent states, or request rejection. Thresholds should align with the traffic class and the process's tolerable impact.
To avoid excessive changes, assign human validation before applying measures that significantly alter traffic handling. Automation can throttle or protect a queue within pre-approved rules, but broad diversion, sender changes, or resending uncertain messages require an explicit, recorded decision.
Activation criteria should include scope: which destinations, senders, traffic classes, connections, or components are affected. A localized incident should not trigger an unnecessary change across the entire service.
- Observed technical signal and evidence source.
- Assessment time window and affected scope.
- Traffic class authorized for each action.
- Owner who activates, validates, and communicates the contingency.
- Record of the decision, time, and variables changed.
- Criteria for reviewing, maintaining, or withdrawing the measure.
Preserve traceability during a contingency
Continuity depends on being able to explain what happened to each message. Retain a persistent internal identifier from the creation of the request and associate it, where available, with identifiers returned by the connectivity layer, provider, or SMSC. Do not rely solely on the callback to record creation: the initial state may come from the synchronous acceptance response.
Treat callbacks and DLRs as asynchronous events. They may arrive after a route change, pause, or retry. The record must retain the initial state, state changes, timestamps, event source, applied decision, and the link to any subsequent attempt.
Retain evidence for the period defined by your obligations and internal policies, applying data minimization and appropriate access controls. The goal is to reconcile and audit the contingency, not to store information indefinitely or extend the use of data beyond its purpose.
- Internal request ID or idempotency key.
- Acceptance ID or external message ID where available.
- Traffic class, sender, destination, and attempt timestamp.
- Initial state captured from the creation or send response.
- Subsequent events: callback, DLR, status query, and errors.
- Contingency decision, owner, and reason.
- Relationship between the original attempt, retry, and replacement message.
Frequently asked questions
What is an A2P SMS operational continuity plan?
It is a coordinated set of procedures, owners, and technical measures for recovering or maintaining A2P messaging processes after a disruption. It should cover the business process, technical dependencies, state data, degradation decisions, and subsequent reconciliation.
What is the difference between RTO and RPO in A2P SMS?
RTO defines how long a capability may remain unavailable before the impact becomes unacceptable. RPO defines how far back before the disruption data and states must be recoverable. Neither guarantees delivery of an SMS to the recipient.
Does an alternative route guarantee service recovery?
No. It may restore the ability to submit messages through another connection or provider, but it does not guarantee final delivery, eliminate uncertainty about previous attempts, or independently prevent duplicates, late DLRs, or restrictions associated with the sender and destination.
Should an SMS be resent automatically if no DLR arrives?
Not as a general rule. The absence of a DLR does not by itself prove that the message was not delivered. Before resending, assess message validity, duplication risk, available correlation, process policy, and the possibility of querying or reconciling states.
What should be recorded during a messaging contingency?
At a minimum, record a persistent internal ID, the initial state, available external IDs, timestamps, received callbacks or DLRs, the source of each event, retries, and the operational decision applied. This allows pending messages, late events, and possible duplicates to be reconciled.
How often should the plan be tested?
Periodically through tests, training, and controlled exercises. Each test should have owners, scope, success criteria, exit criteria, and a subsequent review of the changes required.
Sources consulted
- NIST SP 800-34 Rev. 1 — Contingency Planning Guide for Federal Information SystemsNational Institute of Standards and Technology (NIST)
- NIST CSRC — Contingency PlanningNational Institute of Standards and Technology (NIST)
- SMPP Protocol Specification v3.4, Issue 1.2SMS Forum / SMPP Developers Forum
- SMPP Delivery ReceiptsSMPP Developers Forum
- 3GPP TS 23.040 change-request portal3rd Generation Partnership Project (3GPP)
- Best Practices for Messaging Delivery Status LoggingTwilio
- Outbound Message Status in Status CallbacksTwilio
- Messages resourceTwilio
- Messaging ServicesTwilio
- Message Status StreamTwilio