There are scenarios where message delivery can be delayed for a variety of reasons
Examples of these can be:
- Handset temporarily unavailable (such as a loss of signal). This is more than often the main cause of delays in message delivery, due to the handset not always being readily available. This is particularly true when travelling, when in mountainous or uneven environments or when the general network signal isn’t strong enough.
- Handset is assigned to a new base station. Handsets and SMSCs constantly “ping” each other, in order for the SMSC to determine the handset status and vice versa. As part of its operation, the SMSC needs to determine where the handset’s closest Base Station is. During times of switching from one Base Station to another, messaging delays can occur.
- SMSC’s and Base stations have their own retry schedules when attempting to deliver messages. Depending on the volume and activity load of the base station, certain messages can take longer to get delivered than others. There is no prioritisation on delivering messages, but rather how often the message has been retried. The more often a message is retried, the longer the time-interval will be before the next retry is attempted (until the message ultimately expires).
- SMSC’s and Base station reliability. If a Base station fails for any particular reason, SMSC’s automatically reroute all messages through the next closest base station. This results in the surrounding base stations to increase in activity and volume, for which their internal logic aren’t prepared for and results in huge delays in message delivery for that area. This scenario hardly ever occurs.
There are other reasons as well, but these are more technically detailed and are not always thoroughly explained by the Operators.