Message Status - Description
The “Message Status” are grouped into Categories and range of Code.
Category “Not Sent”
Message Status less than 100 means the message is not yet sent to mobile Providers.
When scheduling messages, the messages appear in the system with a Message Status equal to 0.
Category “Delivered”
This category contains only 2 message statuses (200-201) , this code means that the message, or part of the message, was successfully delivered to the end-user.
Category “Not Delivered”
This category contains 2 ranges of message status.
The range 300-399 (3xx) is used to classify messages that were not delivered by the mobile provider.
The range 800-899 (8xx) is used to define messages that were not correctly sent by The Ring Ring Company to the mobile provider (Internal Error).
Category “Unknown”
The range 400-499 (4xx) defines messages for which we never received a Message Status from the mobile provider. The message can be correctly delivered or not.
Category “Pending”
The Range 100-199 (1xx) is used for messages that were submitted to the mobile providers.
The range 900-999 (9xx) is used to classify messages that are in progress. This last range will be updated to 2xx or a 3xx range or 8xx or 4xx eventually.
Status codes
Message Status is representing an internal status code used to standardize the different
Delivery Notification Codes received by mobile providers
Message Status | Category | State | Reason | Detail |
0 |
Not Sent |
Temporary | Message scheduled to be sent in the future | The message has not been sent out yet. |
10 |
Not Sent |
Temporary | The message is being submitted to the provider | The message is in the process of being sent to the provider |
20 |
Not Sent |
Temporary | Message is scheduled to be sent in the future | The message has been sent to a distributor, but that distributor has not sent it yet to a provider (like Proximus, Base, ...) Most likely, your message is in a queue and will be sent out later. |
100 |
Pending |
Temporary | Acknowledgment received | The operator has received your message and sent an acknowledgement, but the recipient has not yet received the message. |
101 |
Pending |
Temporary | Message is partially submitted | The message was submitted to the provider partially, it's still waiting on the other parts |
200 |
Delivered |
Final OK | Delivered | The message was delivered |
201 |
Delivered |
Final OK | Message is partially delivered | All SMS-parts have been delivered, but we have received the confirmation of the last part before we have received the confirmations for (one of) the other parts. Can be considered as fully delivered (except for some exceptional cases) |
300 | Not Delivered | Final Error | General Error | We succesfully submitted the message to the provider. However, the provider sent back an error. Since we work with hundreds of providers and each provider has different errorcodes, we cannot be more specific. If it concerns a vital message or you have this error multiple times with the same number, please contact support@ringring.be |
301 | Not Delivered | Final Error | Subscriber absent (mobile device is switched off, ...) | Your recipient has not turned on his phone in a while. |
302 | Not Delivered | Final Error | Subscriber cannot receive premium messages | Your recepient may have asked his/her provider to block all premium messages, both outgoing and incoming |
303 | Not Delivered | Final Error | Subscriber cannot receive premium when roaming | Your recipient cannot receive premium message when roaming |
305 | Not Delivered | Final Error | No more credit on the prepaid sim card | Your recipient is using a depleted prepaid SIM card. Since the amount of the Premium SMS will be subtracted from the amount of his prepaid card, we cannot deliver the message. |
309 | Not Delivered | Final Error | End-user doesn’t belong to a mobile provider | This number doesn't have a provider. Sometimes this means the number is incorrect. It's also possible that the recipient has changed provider and it can take up to a few days for this change to be implemented. |
310 | Not Delivered | Final Error | Validity Period expired or refused by mobile provider | The provider has tried to deliver this message several times, but gave up after a certain amount of time. |
320 | Not Delivered | Final Error | Problem in operator network | |
321 | Not Delivered | Final Error | Refused by operator network | |
322 | Not Delivered | Final Error | Wrong number for operator network | |
323 | Not Delivered | Final Error | Filtered by operator route. Policy on operator route level | |
324 | Not Delivered | Final Error | Unknown number on operator route | |
325 | Not Delivered | Final Error | Problem with number on operator route | |
326 | Not Delivered | Final Error | Message not delivered. Unknown reason | |
330 | Not Delivered | Final Error | Handset issue | |
340 | Not Delivered | Final Error | Phishing message blocked | Your message was flagged as a phishing message |
400 | Unknown | Final Unknown | An unknown error occurred | When we don't receive any status updates from the provider, we cannot know if the message was delivered or not. Unknown error does not necessarily mean it was not delivered, we just don't know. |
501 |
Partial Error |
Temporary | Message is partially erroneous | One or more parts of your message has generated an error and we don't know the status of the other parts yet. |
800 | Not Delivered | Final Error | Message was canceled by RingRing | Sometimes our customer (you) ask us to cancel a mailing. |
801 | Not Delivered | Final Error | Source address not available | If you are trying to send out a message with a source number that was not configured at our side, you will get this error. |
802 | Not Delivered | Final Error | The Validity Period of the message expired | When RingRing gets an error from the provider, we keep trying to send out the message. After a certain time we stop trying. This time is called the "validity period" and depends on your application. |
803 | Not Delivered | Final Error |
Wrong number |
The format of your number is not correct |
804 | Not Delivered | Final Error |
Fix Number not supported |
We cannot send messages to fix numbers. |
805 | Not Delivered | Final Error |
Blocked trial |
Your trial credits are depleted or the trial period has expired. |
806 | Not Delivered | Final Error |
Message Content Length invalid |
Your message was either empty or too long. If you are using Email to SMS, check if your signature is in the message. Remember to use <end> tags. |
808 | Not Delivered | Final Error | The message is MSISDN is blacklisted | People that send "STOP" will appear in the blacklist. Default, this list is ignored. However, when you enable this option, people in that list cannot be contacted. |
810 | Not Delivered | Final Error | Total trial messages exceeded | Your trial messages are depleted, contact us if you need more. |
811 | Not Delivered | Final Error | Trial period expired | You tried to send out a message with an expired trial account |
850 | Not Delivered | Final Error | Destination number invalid | |
900 | Pending | Temporary | Technical error, message will be sent later (retry mechanism) |
We have encountered a technical error, but we are going to retry. If we do not succeed in delivering the message, we will provide you the error message. |
901 | Pending | Temporary | Subscriber absent, message will be sent later (retry mechanism) |
The recipient's phone is not on or he is not connected to a mobile network at the moment. We will retry later. |
902 | Pending | Temporary | Bad mobile provider, message will be sent to another mobile provider (retry mechanism) |
There are many roads to the same goal. When one provider cannot deliver the message, we will ask another provider to deliver the message. |
903 | Pending | Temporary | Subscriber not able to receive message, message will be sent later (retry mechanism) | The same as 902, but instead of changing the provider, we will change the sender's number and try again. |
905 |
Pending |
Temporary | Subscriber doesn't have enough Credit (retry mechanism) | The recipient is using a prepaid card and he does not have enough credit on it to receive your message. |
906 |
Pending |
Temporary | The route of the message is unavailable (retry mechanism) | One of the operators is down and we will retry until we succeed in sending the message. |
911 |
Pending |
Temporary | Message is partially buffered | Some parts of your message have been sent, but not all of them. We will retry sending the remaining parts. |
940 |
Pending |
Temporary | Phishing messages suspected | We suspect this is a phishing message. It has been put into quarantaine until our admin can validate it. |
Flow : Checking Constraints
The first step in the process is to check if the message must be sent or not.
There are some checks on the Validity Period, shortcode... If the message cannot be handled, then the Message Status value will be set to 8xx.
This important check is performed whenever a message must be submitted.
Flow : Submitting Messages
When sending a message to the mobile provider, it is sending back a positive (ACK-Acknowledgment) or negative response (NACK -Negative Acknowledgment).
This operation is called “Submitting” the message.
When the ACK is received then the Message Status becomes 100 (Submitted).
When a NACK is received then the Message Status will change depending on the number of remaining retries: If the number of retries is exhausted then the Message Status will become 3XX.
If retries are still possible then the Message Status will become 9XX and the complete process will restart after a delay.
NACK means mainly that there is a technical issue at the mobile provider side or that the mobile subscriber cannot receive premium SMS (account blocked or prepaid card is empty: 302, 303, 305).
For Message Status equals to 302 or 303, the retries are not performed.
The delay between retries depends on the type of error received.
Receiving the Delivery Notification Codes
This step is asynchronous and is not linked to the sending of the message. The mobile
providers decide when the delivery notification is sent.
The Ring Ring Company translates all Delivery Notification Codes from mobile providers into a standardized list of Message Status. The Message Status will pass from 100 to 200 or 3XX.
Closing Message Status
This step is asynchronous and performed by the Ring Ring Company.
The Ring Ring Company “closes” the Message Status after 96 hours if the messages has not received a delivery notification code (for example, if the mobile provider has issues.
For all messages not having a Final State, the Message Status is put to 400 (Unknown).
Note that if for any reason, the mobile provider is sending the delivery notification code after 96 hours, The Ring Ring Company takes it into account and updates the Message Status.
Cautions on Delivery Time
Depending on the mobile providers, the timestamps used to determine the delivery time is subject to caution.
When timestamps are provided by mobile providers, the date & time depends on the clock synchronization of the mobile providers.
For information, clocks of servers owned by The Ring Ring Company are synchronized with the Network Time Protocol (NTP) every 30 minutes.
For non-premium message on Proximus(MT), the timestamp provided by Proximus doesn’t indicate the seconds.
A message can be sent at 10:55:26 and the delivery time will be 10:55:00, meaning that the message seems to be delivered before it was sent.
For premium message on Proximus(MTR), the timestamp is not delivered.
The Ring Ring Company provides the timestamp when the report was received.
Based on these remarks, the time between the Message Sent and the Message Delivery cannot be taken into account to measure the performances of delivery; the information must be used as is.
These constraints are linked to mobile providers and all application service providers are facing the same issue and limitations.
SMS Service Level
The Service level cannot be measured from the creation to the delivery of SMS for the following reasons:
- The phone number used by the customer to send the message can be inactive then the delivery will fail.
- The GSM device can be off or simply out of range then first delivery attempt will fail.
- The delivery notification received from mobile providers is asynchronous and the timestamp provided is not always accurate or present.
In conclusion, the guaranteed delivery percentage (or the speed to deliver) is not depending on the services of The Ring Ring Company but depends first on the end-user and mobile providers.
This statement is valid for ALL application service providers.
The Ring Ring Company can provide Service Level based on the availability of the tools (SMS Gateway, SMS mailer, web interface, SMS infrastructure ... ) and on the submit of messages to the mobile providers.
The submit process can be measured in term of quantity and speed between The Ring Ring Company and the mobile provider. The Service Level will exclude all issues related to the mobile providers (out of the scope of Ring Ring’s responsibility).
The Ring Ring Company provides information about the percentage of delivery, the reasons of non-delivery and performs also a close monitoring of the transactionsn enabling a faster reaction than mobile providers in case of issue.
These constraints are linked to mobile providers and all application service providers are facing the same issue and limitations.
0 Comments