Optus SMS Delivery Retry Process

Q and A regarding Optus’s Retry Patterns when delivered via Optus or another Australian Carrier via Optus

Do you have a default delivery retry pattern for messages that are not delivered on the first attempt?

The retry profile is dependent on the error message. For example, absent page-fail would have a more aggressive retry profile vs absent detached.

See the Optus Retry Profiles section below this Q&A section for more detail of the retry patterns.

For messages delivered to recipients outside of your network, does your retry pattern still apply or is it controlled by the recipient’s network? If the latter, can you please provide the retry patterns?

Australian recipient networks perform in transactional mode for messages sent from Optus. Thus the Optus retry pattern still applies. For any message sent via Optus to international operators the retry and final delivery status is dependent on recipient carrier, some can be transactional and therefore the Optus retry pattern would still apply, others would use their own retry patterns.

Is there a way to have our messages adhere to a custom retry pattern by default?

Unfortunately Optus does not allow ESME to inject custom retry patterns at the moment.

How is the validity period on messages handled for messages to recipients inside your network? For recipients outside of your network, do you pass the validity period to the delivering network and is it handled similarly?

Default and maximum is 7 days. For outside of the Optus network, whether this is ignored will be dependent on whether they are configured transactional (in control by Optus), or SnF (recipient carrier takes control). Customers can request for shorter validity period as part of their request. However, this will be ignored by recipient networks that deployed SnF proxying, as those messages transact as MT-FSM, the validity period isn’t carried as part of the message.

What status is returned if the retry period passes and no DLR was returned from the handset?

DLR will return Expired status (if this is visible to Optus)

How long do you store associated message IDs for returning DLRs to us?

For Optus the MsgID is hashed in such a way to avoid anchance of looping but otherwise they don’t store the message-id, when final status is reached, it will be purged.

Optus Retry Profiles

The following retry descriptions are in this format 1R30s,1 where the 1R is the Retry Level, the 30s is the time between retries and the ,1 is the number of times that retry level is applied.

Absent page-fail

1R60s,1;2R2m,1;3R5m,3;4R10m,1;5R15m,2;6R45m,1;7R3h,56;8R0s,0;

Absent detached

1R3m,1;2R15m,1;3R45m,1;4R8h,56;5R8h,0; 

To explain Absent page-fail:

Retry Level Period
1st level retry 1 times every 60 seconds
2nd level retry 1 time every 2 minutes
3rd level retry 3 times every 5 minutes
4th level retry 1 time every 10 minutes
5th level retry 2 times every 15 minutes
6th level retry 1 time every 45 minutes
7th level retry 56 times every 3 hours

After each level is exhausted its number of retries, it will climb to the next level.

Note that other functions such as alert_sc will trigger SMSC to deliver without following the retry profile.