What is Message Retry
One of the main core feature of SMSC is its ability to store and forward the message. In events of unsuccessful delivery attempt to destination, SMSC supports a feature to retry attempting delivery at configured intervals and for configured number of attempts. Usually such attempt retries are configured for temporary errors returned for delivery attempt and not for permanent errors. SMSC stores the message in its database either until delivery is successful / delivery fails after maximum number of retries.
What are temporary and Permanent Errors
Temporary Errors are those returned by HLR / MSC for SRISM or MTFSM operations attempted by SMSC, which are momentary situation in nature and after some time or event situation turns normal. For example, when subscriber mobile handset is switched off or subscriber is not reachable due to weak network – after some time subscriber may be reachable and come out of such events.
Permanent Errors are those returned by HLR / MSC MSC for SRISM or MTFSM operations attempted by SMSC, which usually indicate a failure condition which remains to exist. For example a improper PDU submitted which the node cannot understand, protocol errors etc.
From above it can be understood – message delivery attempt retry is configured only for the temporary error.
How SMS retries and delivers message
In below flow diagram of a AOMT, we shall understand step by step how SMSC handles retry management for a subscriber who is not reachable during the first delivery attempt.
- External application bind to SMSC on SMPP protocol as transceiver submits a message using SUBMIT_SM operation to SMSC which includes info on source number, destination number, SMS content. SMSC on receiving the message and validation acknowledges with a SUBMIT_SM_RSP
- SMSC on successful validation, attempts to deliver the message by initiating a MAP SRISM to HLR. As subscriber location is not available, HLR responds with a SRISM error with reason Absent Subscriber.
- SMSC on receiving SRISM Absent Subscriber error initiates a MAP Report SM towards HLR to register SMSC in HLR Message Waiting Data List. HLR acknowledges with a MAP Report SM response
- When the subscriber is back to network and reachable, HLR reports to SMSC with a MAP Alert SC operation. SMSC then reattempts the message delivery
- On the second delivery attempt, with subscriber in network - message delivery is successful.