SMS is a pretty resilient service as messages are first stored on a server and then delivery is attempted. When the mobile is switched-off when an SMS is to be delivered, the network is aware of the fact and the message is stored right away. But what about mobiles leaving the coverage area for a while? If they later-on “re-surface” again in the same location area and the periodic location update timer has not yet expired, no communication takes place with the network. So how long does it take in this case before a stored SMS is delivered?
The only way the SMS can be delivered in a timely fashion in such scenarios is that the network periodically retries to deliver the SMS. The periodicity is not standardized so it depends on the network operator how quickly another delivery attempt is made. In the network I used for testing, the retry period must be in the order of around 2-3 minutes when the mobile only leaves the coverage area for a few of minutes. Specifically, I tested “out of coverage times” from 5-12 minutes.
At some point the periodicity is increased. When I put the mobile out of coverage for around 50 minutes, it took about 10 minutes after regaining coverage before the SMS was delivered. Still, a pretty good value in my opinion.