If an SMS message cannot be delivered to its destination immediately, the MX Telecom SMS Gateway will normally make several submission attempts before the message is considered to have failed. This increases messaging reliability and delivery success rates.
Delivery of MO messages and delivery reports to a content provider's server is always done using the general retry strategy. For MT messages, depending on the type of failure, one of three types of retry strategy may be used. The delivery reports reason codes page documents the types of failure more precisely.
Billing retry strategy
This strategy applies only to premium MT messages, and is used when a message cannot be delivered due to billing reasons, such as the end user being out of credit.
Such an error is unlikely to be rectified rapidly; however, the user may well add credit to their account during the lifetime of the message; the SMS Gateway will therefore resubmit the message to the carrier at regular periods until the message expires. The exact schedule varies according to individual carrier rules; however, a typical schedule is as follows:
- If the initial submission is unsuccessful, a second submission attempt occurs after 6 hours.
- If the second attempt is also unsuccessful, a third attempt is made after a further 18 hours.
- Further attempts are made at 24-hour intervals until the message expires.
This behavior can be disabled by enabling single-shot billing or by setting a short validity period when submitting the message to the SMS Gateway.
This retry strategy is used in all regions aside from Australia. In Australia, the Gateway will only attempt to bill the end user once (due to regulatory requirements). Note that, in each region, this behavior only takes place on carriers where MX Telecom has control of the billing process. On other networks, the message is held by the carrier until it can be billed, or until it expires.
General retry strategy
This strategy is used for any unexpected error, for both MO and MT messages, and delivery reports. All regions use this retry strategy. Example of such errors are:
- Any failure to deliver an MO message or delivery report to a content provider's server, including networking errors, application errors, and so on.
- System problems at the destination carrier when submitting MT messages.
- Networking problems between MX Telecom and the destination carrier when submitting MT messages.
The aim in this case is to deal gracefully with temporary outages, without utilizing excessive resources due to queueing messages. An exponential-backoff strategy is used to meet these requirements:
- If the initial submission is unsuccessful, a second submission attempt occurs after about 30 seconds.
- If the second attempt is also unsuccessful, a third attempt is made after a further 60 seconds.
- A third submission attempt is made after a further 120 seconds.
- The interval is doubled each time, until a total of 10 submission attempts have been made.
- If the 10th submission attempt is still unsuccessful, the message is treated as permanently failed, and no more submission attempts are made. In the case of MT messages, a REJECTED delivery report is then returned.
The 10th submission attempt therefore typically occurs around four hours after the initial attempt. Note, however, that if the message has a validity period of less than four hours, the message may expire before all submission attempts have been made - in which case, no more submission attempts are made, and a REJECTED delivery report is returned in the case of MT messages.
Note that single-shot billing does not affect retries made under the general retry strategy.
If it is unlikely that an MT message will ever be delivered in its current state, it is considered to have failed immediately, and a REJECTED delivery report is returned.
Examples of such permanent errors include:
- Invalid/unknown destination number.
- End-user barred from receiving premium content.
- Binary messages on a carrier/service which does not support them.