SMS 101: Why Messages Fail to Deliver
Despite being one of the most popular mediums for real time communications and used in many high priority and time sensitive applications, global SMS delivery is not always perfect and the distributed design of the telecommunication industry means that many different factors can intervene in the delivery of any SMS.
In this blog, I’ll share some of the different factors that can influence the delivery of a message, which a user should take into account when delivering a SMS.
Factors that Affect Message Delivery:
Validity of the Number
The first, and probably the most common reason for messages not to arrive, is when the number is not valid or does not exist. There are several reasons for the number to be invalid, including:
- No international country code in the phone number. Nexmo sends messages to over 200 countries and territories around the world, so all numbers must be sent in an international format with the international calling code. For instance, all messages to the USA must start with 1 since 1 is the international prefix for the country. For a complete list of international calling codes, please visit the list of country calling codes.
- The phone number included the international country calling code in the wrong format. This error occurs quite frequently when sending messages to countries in northern Europe. In certain countries, such as the UK, Germany, Netherlands and others, calling a mobile number from within the country without an international calling code, one must add a 0 to the beginning of the phone number, however, when using the same number in the international format, the 0 must be removed.
- The phone number is a landline. In some countries, landlines can receive SMS, however, this is not the general rule and sometimes even in countries in which the fixed telephony infrastructure supports SMS transmission, the phones do not support SMS. In these cases, the messages are generally rejected and will not be delivered to the user.
- The phone number is invalid. End users buy new phones, change carriers and cancel contracts. In many cases, when filling in a form, users fill in their phone number incorrectly. Due to these factors, there are always some invalid numbers in any database of users. This factor leads to messages not arriving and being considered undeliverable when a SMS is sent to that number.
During the evolution of telephony, mobile operators around the world concluded that they needed to block their subscribers from unwanted content such as phishing messages, spam and other illegal traffic. Carriers also learned that they had to protect their revenue streams by preventing Person-to-Person (P2P) messages from being sent through Application-to-Person (A2P) streams, and preventing A2P messages from using P2P routes.
Different operators addressed the risks of spam and phishing in different ways. In some markets, operators have used regulation to address these concerns, however, in other markets, technology has been used to block these messages. Naturally, spam filters have their weaknesses and have occasionally block legitimate traffic.
Spammers are continuously adapting their approach to circumvent the spam filters and for this reason, mobile operators are continuously changing their heuristics to block the messages. Here is a list of reasons why messages are blocked and how to minimise/circumvent the impact of these filters:
- Many mobile network operators around the world filter alphanumeric senderIDs. This is the easiest way for spam filters to block unwanted traffic because all P2P traffic has a numeric senderID. This way, operators can block unwanted traffic without affecting legitimate traffic. SenderID filtering is also used on P2P routes to block A2P traffic from going through. To minimize the impact of this type of filtering, use a numeric senderID and if you own a pool of numbers, and try to switch between the numbers in the pool. Some operators also do senderID to GT matching, which consists of allowing only senderIDs from the number ranges of the operator sending the SMS. In other words, if the messages are sent by Movistar Spain, then the operator might block all senderIDs except long numeric senderIDs from Spain.
- Many operators scan the traffic coming in and will search for keywords which might indicate that the traffic is not legal traffic. Messages which are of a sexual, political or religious nature will be more likely be filtered. To minimize the chances of messages being blocked, be sure to send only valid and legal traffic and to avoid words which might be sensitive.
- Some operators also attempt to block repeated messages which enter their network. By doing so, they block all A2P messages leaving out only P2P messages. To minimize the chances of having your traffic caught by this type of filter, try to send messages through A2P enabled routes. To further minimize the chances of being caught in these type of routes, keep throughput within acceptable boundaries and randomize the content of the message.
In the telecommunications world, there are several routes which can be used to deliver a message to a handset, however, not all routes perform the same. Although some paths will result in high delivery with all possible filters, other routes will result in high latency or even non-delivery. At Nexmo, the largest possible effort is made to use the best possible routing to deliver the messages. Here’s how routing can affect the delivery of the messages:
- Use direct connections as much as possible. Using a direct connection means that the number of points of failure is lower. Not only are there fewer points of failure, but also, by having a direct connection to the operator means that the operator is less likely to block by filtering on throughput.
- In most of the modern world and in many developing countries, portability systems exist to allow users to change from one network to another network. This dynamic and distributed mobile operator market means that at times, messages might not arrive to a handset if the user has ported to another network. To minimize the situation, network look-ups are used to guarantee that the message is routed over the correct route, however, due to the complexity of the portability databases, as well as the fact that these databases aren’t updated in real time, and the fact that the databases are unavailable in some countries, means that the messages aren’t always routed correctly.
- In countries where mobile number portability does not exist, prefix routing can be used to guarantee that the messages are routed correctly through the correct connection. However, regulators sell new ranges for mobile telephony every single day and it is not always possible to be up-to-date in every country. In countries where the prefixes aren’t up to date, SMS may be routed over the wrong connections.
- Even though we might think that we can send anywhere with our mobile phone, the truth is that our mobile network operator is able to deliver to only about a third to half of the operators worldwide. Furthermore, the list of operators which each mobile network operator can deliver SMS to is ever changing since operators block each other and attain new reach on a daily basis. In certain cases, the destination operator might block the sending operator over which Nexmo piggybacks, which in turn means that messages will fail until the Nexmo team adjusts the routing to the destination.
Other Factors that Affect Message Deliverability
- Due to local regulations, different countries have different rules with regards to message delivery. In some countries such as India, message delivery is forbidden between 9 pm and 9 am. In other countries, “do not deliver” lists block specific numbers from receiving SMS.
- Phones might not be able to receive SMS due to several reasons such as full memory, coding error, temporary disconnection from the network, etc. In addition, some phones do not support binary messages, WAP push messages or can not read messages with special characters.
- In the SMS world, several encodings can be used to deliver messages to the handset, however, the local carriers might not be able to process the message. For instance, some European operators might not be able to support messages with Unicode characters and therefore, it is best not to send such messages in these markets. Another example is Iusacell in Mexico which cannot process concatenated messages which means that concatenated messages to Iusacell subscribers will either arrive as two separate messages or not arrive at all.
- If the user is out of reach, then the message will not be delivered to the handset at that moment. Generally, operators work with a “store and forward” model in which they hold a message from 48 to 72 hours and if the phone is unavailable for this period, then the message will be discarded.
- Despite the fact that messages should arrive when users are roaming, this does not always occur. Users that are roaming are traditionally harder to reach due to the distributed design of the telecommunication networks.
Despite all of these challenges, Nexmo has adapted to provide one of the the most robust global services available on the market. To learn more about Nexmo’s leading SMS solutions, please click here.