So why does this happen? Over-simplified SMS sending flow looks something like this:
- Send SMS from Messente
- Messente forwards the SMS to operator
- Operator sends SMS to cell phone
- Cell phone responds to Operator, that it got the message
- Operator tells Messente, that the message was delivered
The issue lies in step 4, where cell phone does not correctly respond to Operator, that it got the SMS. Due to this, Operator thinks that the SMS was not delivered and tries to send it again and again.
Mostly this happens when the destination number / cell phone is in roaming – out of Operators home network.
Unfortunately Messente has no idea that the Operator is flooding the cell phone with this one message and due to technical limitations there is also no way to tell Operator to stop it.
As a safeguard Messente limits the period of delivery to 6 hours – this means, that when the message does not get delivered in 6 hours, operator has no right to send this message again.