Spark and Skinny SMS Delivery Retry Process

Does Skinny have a default delivery retry pattern for messages that are not delivered on the first attempt? *E.g. how soon after an unsuccessful delivery attempt will you retry and so on, and for how long?

Default is immediate delivery followed by multiple retry attempts in intervals likes of [ 20s, 60s, 120s, 300s, 900s, 3600s ] for up to 5 days then message is deleted. In case of non-delivery retry could be aggressive or passive but only for up to 5 days.

Is there a way to have all messages for one of our customers adhere to a custom retry pattern by default?

No, it’s a global routing configuration

How is the validity period on messages handled for messages to recipients on your network? What is your default Validity period for an SMS message (if not set within the message)

5 days

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

As we understand it when the validity period expires we are returned an ’expired’ status DLR, is this always the case or are there circumstances where no DLR is ever returned?

DLR is returned by the SMSC, not the UE device. Expiration reason is returned when the SMSC deletes the message after 5 days. When DLR is requested it will always be returned.