Delivery Status and Error codes
What are the different SMS statuses? What do they mean exactly?
There are three different SMS statuses, with ‘Delivered’, ‘Failed’, and ‘Rejected’ being final statuses for an SMS message.
- Delivered - The SMS message was either delivered to the handset or accepted for delivery by the network operator.
- Failed - The SMS message was not delivered.
- Sent - The SMS message was sent, but no final status is available.
- Rejected - The SMS message was rejected, meaning that it was not accepted for delivery. Your account will not be credited for rejected messages.
For ‘Delivered’ messages, depending on the specific market, the SMS message was either delivered to the handset or accepted for delivery by the network operator.
P.S. Network-based delivery reports are mainly used in Southeast Asia and South America.
For 'Sent' messages, the SMS message was sent, but no final delivery status is available from either the handset or the network operator. P.S. In some cases, SMS messages go through a retry cycle (standard retry cycle is 6 hours set by the operators), as they couldn't be delivered due to connectivity issues, or were, in fact, already delivered, but the delivery report is not available.
For ‘Rejected’ messages check ‘err’ values 004; 006; 007; 008 below.
When SMS messages fail, what are the most common issues?
When SMS messages fail, we can investigate the reason behind the delivery issue by examining the error code.
001 - Failed to deliver SMS to this number
Messente has successfully forwarded the message, but we received a response from the carrier that they are unable to deliver this message. Most common causes are as follows:
- the phone number format is invalid
- the handset is switched off
- the number is deactivated or unallocated
- operator-side error
- signaling issues between the handset and the network operator
- the sender ID or a word in the message has been blacklisted by the local carrier(s)
- the sender ID has not been whitelisted by the local carrier(s)
- sending messages to the given country has been disabled
In most cases, the exact reason needs to be determined manually.
- Restart the handset as it will reset the connection between the network operator and the handset, thus solving the issue 90% of the time.
002 - Sending SMS expired in 6 hours
The phone number format itself is correct, but the message could not be delivered due to an unavailable network connection between the carrier and the handset.
- the handset was switched off
- the handset was out of coverage area
- the handset itself is experiencing a temporary error and needs a restart
In this situation, the mobile operator pings the mobile phone every now and then to check whether the phone is able to receive the SMS. After 6 hours of unsuccessful attempts, the error code will be set to "expired".
003 - Invalid number
The number is invalid.
- invalid number format
- the number is invalid and not reachable
- number contains the local country’s trunk prefix ‘0’E.g. +44 (0) XXXXXXXX
004 - Error crediting Account
The account has run out of prepaid credits.
005 - Could not determine the destination country/operator or invalid number format
The number format seems to be valid but there are no countries with this particular prefix.
- invalid number
- number is missing the area code/country prefix
- number contains local country’s trunk prefix ‘0’
006 - Too many identical messages sent to the same number, blocked for 60 minutes
Messente triggers a filter by restricting messages being sent to the same phone number.
- sending 5+ messages with identical content and sender ID within 60 minutes
- sending 20+ messages to the same phone number with the same sender ID
Messente does this to prevent:
- any unwanted message requests due to technical errors
- our customer from sending too many identical messages to the end-customer
- the end-customer from making too many SMS requests (e.g. requesting an unusually large amount of PIN codes)
For all of the above cases, the goal is to cut costs and protect the customer. The filter applies for 60 minutes starting from the 6th, or the 21st SMS message respectively.
P.S. This only applies to the affected numbers and not the account as a whole.
007 - Sender name not allowed
- using a sender ID that has not been whitelisted for your account
P.S. Whitelisted sender IDs are case sensitive, e.g. "CoffeeShop" is not the same as "coffeeshop" or "COFFEESHOP". They are all different for Messente. Incorrectly formatted sender IDs will be rejected.
008 - Number is in the ‘blacklist’
- the phone number is blacklisted in your account's phonebook and you can't send any SMS messages to that specific number
P.S. To remove a phone number from the blacklist, go to Messente Dashboard and navigate to the Phonebook (Contacts & Groups).