A2P SMS Routing Decision Log: An Operational Guide
A practical guide to documenting the rationale, scope, evidence, and review of routing decisions—separate from executable rules and their change history.

What a routing decision log is and what problems it solves
A decision log is explanatory documentation: it records why a routing decision was made, what traffic it was intended to cover, what observations informed it, and who should review it. It does not determine by itself how a message is processed.
It is useful when operations, engineering, procurement, and traffic management teams need to understand a rule without reconstructing its history from conversations or configuration changes. It also helps identify provisional decisions, unresolved assumptions, and evidence that may no longer reflect current conditions.
Documentation does not prove that a route will continue to produce a particular outcome, nor does it replace verification of applicable technical, commercial, or regulatory requirements.
- Helps answer “Why does this rule exist?” and “What scope does it cover?”
- Makes the limits of available evidence explicit.
- Helps identify decisions without an owner, a review date, or a removal condition.

Differences between executable policy, change history, and a decision log
Executable policy contains the conditions the system applies, such as selection criteria or restrictions defined by the team. Its format and behavior depend on each implementation; do not assume that a particular platform provides specific fields, logs, or controls.
Change history records configuration modifications—what changed and when, if that information is available. A decision log explains the rationale, intended scope, and evidence behind a decision. These documents are related but serve different purposes.
To avoid discrepancies, the explanatory log should reference the rule or configuration using a stable identifier, when one exists, rather than copying its full logic. If the policy changes, update the reference and assess whether the rationale is still valid.
- Executable policy: which conditions are applied.
- Change history: which modifications were recorded.
- Decision log: why the decision was made and under what conditions it should be reconsidered.

Minimum fields for an understandable decision
Use a brief, consistent, dated record. The following fields are a documentation-governance proposal, not a technical standard or a requirement attributed to any platform.
Define the scope precisely enough for another team to distinguish covered traffic from excluded traffic. If the scope depends on destination, message type, sender, or another condition, record only the elements relevant to the decision and verifiable in practice.
Record restrictions and assumptions separately. A condition observed in a test does not automatically amount to a guaranteed condition or a permanent rule.
- Decision identifier and reference to the related rule or configuration.
- Rationale: the operational problem or need being addressed.
- Scope: included traffic, relevant exclusions, and observed context.
- Known restrictions, assumptions, and dependencies.
- Evidence: source, observation period or context, and limitations.
- Decision owner and consulted teams, where applicable.
- Approval or logging date, status, and review date or condition.
How to link decisions to tests without turning them into guarantees
Describe what was observed and under what conditions: for example, the type of traffic evaluated, the relevant destination or context, the observation period, and the data source, provided that information is available and can be shared. Distinguish reported results from independent verification.
In SMS, a delivery receipt (DLR) is a status reported by the messaging chain; by itself, it does not prove that the message was displayed or received on the handset. If a decision relies on a DLR, record what the status means in the system that produced it and what uncertainty remains.
Use qualified wording, such as “under the conditions observed, the test recorded…”. Avoid absolute claims about delivery, latency, availability, or future performance unless there is sufficient evidence to support them.
- Record the source and context for each observation.
- Separate observed data, interpretation, and the decision made.
- Note known sample, coverage, or verification limitations.
- Do not turn a past result into a promise of future behavior.
Exceptions, uncertainty, and provisional decisions
If a decision is made with incomplete information, say so explicitly. Record what is unknown, which assumption allows work to proceed, and what information or condition will trigger a new assessment. This prevents a provisional exception from being interpreted as general policy.
Describe exceptions in limited terms: rationale, scope, owner, expected duration or review event, and relationship to the main decision. Do not include personal data or sensitive information that is not necessary to understand the rationale.
When a relevant regulatory or contractual condition applies, cite the source and define its scope. For example, the available excerpt of a Colombian provision mentions restrictions on certain A2P traffic related to E.164 numbering, an A2P short code, an assigned Sender ID, and an approved content template. That excerpt alone is not enough to determine the scope, current validity, or application in other contexts; consult the full text and appropriate guidance before making a decision.
- Mark the status as provisional when appropriate.
- Record uncertainties and assumptions without presenting them as facts.
- Assign an owner and a specific trigger for reviewing the exception.
- Consult the rules and conditions that apply to the actual context.
Decision approval, review, and retirement workflow
An auditable workflow can be simple and tailored to each organization’s governance. First, the person proposing the decision describes the problem and defines the traffic scope. Then the functions responsible for operations and engineering—and, where appropriate, procurement or compliance—review the scope, evidence, and restrictions.
Before applying a change, compare the record with the executable policy and log a reference to the change in accordance with the internal process. After implementation, document what was observed and whether the evidence supports, limits, or contradicts the original rationale.
Schedule a review by date or event: changed conditions, unexpected results, revised requirements, or the problem no longer existing may all prompt reassessment. If the decision is no longer relevant, mark it as retired or superseded and retain the historical reference in line with internal rules. Do not delete context needed to explain earlier decisions.
- Proposal: rationale, scope, and available evidence.
- Review: validation by the responsible functions, according to risk and organizational practice.
- Implementation: reference to the policy and corresponding change, if one exists.
- Follow-up: subsequent observations and their limitations.
- Review or retirement: owner, date or event, and link to a replacement decision, if applicable.
Hypothetical example of a decision record
The following example is deliberately generic: it does not describe a real route, provider, coverage, or commercial outcome. It shows how to separate a decision from the executable rule and the observations supporting it.
Identifier: DEC-001. Rationale: evaluate a routing alternative for an authorized type of transactional traffic. Scope: only the segment defined in internal policy; other messages and destinations are excluded. Restriction: apply only after confirming internal sender and content requirements. Evidence: test observations identified by source and period; they are not a future guarantee. Owner: team designated by the organization. Status: provisional. Review: when the agreed evaluation is complete or if the conditions underlying the decision change.
The record does not include the full executable condition. That logic remains in the team-controlled configuration; the record explains the rationale and points to the relevant reference.
Checklist for maintaining traceability
Before marking a record complete, check that another person can understand the decision without confusing its rationale with the current configuration. The documentation should make it possible to locate the evidence and recognize its limits—not promise outcomes.
Avoid keeping copies of rules that may become outdated. If an executable condition changes, review the related record; if the rationale no longer applies, record the retirement or replacement according to the organization’s process.
- Does the decision have an identifier and a locatable reference to the related rule?
- Are the rationale and scope described with clear limits?
- Does the evidence distinguish observations, interpretations, and guarantees that cannot be claimed?
- Are restrictions, assumptions, and uncertainties recorded?
- Is there an owner and a review date or condition?
- Are exceptions limited in scope and marked provisional when appropriate?
- Does the record avoid duplicating executable logic and change history?
- Have obsolete decisions been retired or superseded without losing relevant traceability?
Frequently asked questions
Is a decision log the routing policy?
No. The log explains why a decision was made, its scope, and the evidence considered. Executable policy contains the conditions applied by the system; change history, when available, documents modifications.
What evidence should be kept?
Keep evidence that helps explain the decision: its source, context, and observation period, along with known limitations. Separate what was observed from its interpretation, and avoid presenting isolated results as future guarantees.
Does a DLR prove that the user received the SMS?
Not necessarily. A DLR is a status reported by the messaging chain and does not, by itself, prove that the message was displayed or received on the handset. Document what the status represents and what uncertainty remains.
Does every decision need a review date?
The organization should establish how its decisions are reviewed. A date or review event helps identify changed conditions, outdated evidence, or decisions that no longer address the original need.
How should I document an exception made with incomplete information?
Mark the decision as provisional, state what is unknown and which assumptions are being used, limit its scope, and assign an owner and review trigger. Do not present it as general policy or a guarantee.
Sources consulted
- 3GPP specifications by series3GPP
- ITU-T Recommendation E.164International Telecommunication Union
- GSMA network resourcesGSMA
- Resolución CRC 5050 de 2016Comisión de Regulación de Comunicaciones de Colombia