Maxi SMPP Sandbox

Guide

Simulating SMS Delivery Failures: Delays, Expiry and Retries

Failure handling is the part of SMS software that is hardest to test against a real provider. Here is how to make it repeatable.

Real networks fail rarely and unpredictably, which is exactly what makes failure handling hard to test. A sandbox turns that around: you choose how often and how late things go wrong.

Statuses worth handling

OutcomeReceipt statWhat your code should usually do
DeliveredDELIVRDMark done
Not deliveredUNDELIVReport failure, maybe try another route or channel
ExpiredEXPIREDTreat as failed after the validity period
RejectedREJECTDDo not retry the same content blindly
Pending / unknownACCEPTD / UNKNOWNWait, then time out

The exact receipt text differs between providers, so map by status and keep the raw text in your logs.

Rules to verify

  1. Retry policy. A failed delivery should not trigger an unbounded retry loop. Cap attempts and back off.
  2. Idempotency. A retry after an ambiguous result must not send the same SMS twice if the first one eventually arrived.
  3. Timeouts. If no final report arrives within your limit, the message must move to a defined state instead of waiting forever.
  4. Out-of-order reports. Reports can arrive in a different order than the submissions.
  5. Metrics and alerts. A rising failure rate should be visible to you before customers complain.

Scripting failures with a delivery scheme

For each client account in the Maxi panel, a scheme defines the delay before the report is sent and the share of messages ending in each status. Some useful setups:

  • 100% Not Delivered: test fallback and user-facing errors.
  • High delay: test timeouts and the "resend" behaviour.
  • 50% Delivered, 50% Not Delivered: check statistics, dashboards and alerting thresholds.
  • Mostly Pending or Expired: test the code path for missing final reports.

Combined with the live queue and statistics in the panel, you can compare what the sandbox did with what your application believes happened.

Want to try this against a real SMPP endpoint? Register for the sandbox and use it free for 3 days, or tell us about your scenario.

Keep reading

Ready to test your SMS traffic?

Get your SMPP sandbox in minutes and use it free for 3 days - or tell us what you are building and we will help you choose a plan.