How to make sure SMS messages are routed properly

Who has never received an SMS from a company, be it promoting a sale or tracking an order? In 2017, the French A2P (Application to Person) SMS market reached 4.5 billion messages, representing an increase of more than 20 percent compared to 2016. How can we ensure that each message safely reaches its destination? Since 2011, the Telecom branch of OVH has been offering a successful SMS distribution service. We work daily to improve the quality of SMS routing in order to be able to deliver our customers' messages reliably and as quickly as possible.

SMS Graph

SMS traffic graph showing the loss of two routes around 10.24am, then the redirected traffic (blue zone) and the return to normal. One route returned at around 10.46am and the other at 10.54am.

To achieve this, we have structured our technical solution around the use of as many different interconnections as possible. This allows us to extend our traffic distribution capacity in the event of high traffic volumes and to be able to forward all messages, even during outages on certain parts of the network.

Behind this customer-oriented strategy is a powerful monitoring tool that our teams have developed. Each mobile operator on the receiving end is tested automatically in real time on all our interconnections. These sets of tests allow us to quickly detect any reductions in performance that may occur outside our network. The tool then adapts, in real time, the traffic routing rules to ensure maximum service quality for our customers. In this degraded mode, the logic of the interconnection choice is therefore different from usual: we only deliver messages to valid routes during the entire duration of the incident. So we can now afford to lose up to two thirds of the interconnections without any impact on message delivery and customer experience.

By following this logic of maximum redundancy, we realised that the choice of interconnections and different routes is crucial to ensure the proper routing of messages in all circumstances. With OVH's offer, there are only direct routes. "Grey routes" are totally ruled out!

In the world of SMS, there are different types of routes. There are so-called "white" legal routes, which have a direct interconnection with the operator managing the subscriber we are trying to reach. Grey" routes bypass these interconnections, generally via "normal" SIM cards intended for private individuals' subscriptions. Corporate messages must use white routes, which are secure, reliable, fast and give recipients the mandatory option to unsubscribe from some messages. Despite this, some suppliers opt for grey routes. The lower prices, however, come with lower quality and these routes do not meet the requirements of the telecom market.

Integrated into our message routing algorithm, these two principles of redundancy and "white routes only" allow us to constantly optimise the deliverability of our traffic. It means we can process each message in the same way, from an authentication code that must reach the user in a few seconds, to heavy traffic during sales periods.

To monitor and manage our SMS distribution capacity, we use software components from OVH’s offers. For example, all our logging files are sent to the Logs Data Platform, which gives us a real-time view of the behaviour of our applications and the ability to detect abnormalities as quickly as possible. The previous graph, which allows us to visualise any routing changes made automatically in the event of a problem or a drop in performance on a route, is a perfect illustration of this. By collecting this log data, we can also quickly detect when an error has occurred on the platform, and then cross-check the information to determine whether the error is due to non-compliant use of the platform or whether it is the cause.

SMS API

Supervision of http return codes from the SMS API

Another OVH service that we use a lot is the Metrics platform. We have actually developed a significant number of application probes, largely via the ovh-go public library (https://github.com/ovh/go-ovh). These allow us to test our connectors and monitor their performance over time.

For example, a probe is launched at regular intervals on the OVH SMS API. We check that the return code is in line with what it should be, in order to detect a possible performance reduction or incident, as well as the time it takes the platform to return this information to us. All these values are sent via the OpenTSDB protocol on Metrics, which then allows us to summarise them and monitor their evolution over time.

SMS API

Monitoring of the SMS API response time measurements over a day

We can then use this data to ensure that we are meeting the commitments in our SLAs. It also allows us to have a more medium-term vision for better capacity planning for this activity.

SMS API

Monitoring of SMS distribution flow via the different routes

Speaking of capacity, our infrastructure has been designed to handle up to 1,000 SMS per second. A regular marketing campaign of 500,000 SMS messages is swallowed and digested in less than 10 minutes. In the event of a campaign launched during a period of high traffic, a queuing and prioritisation system allows us to handle the usual traffic while interspersing it with the campaign's SMS messages. We monitor the average SMS delivery time on each of our routes, with a target of 10 seconds for receiving the SMS and returning the acknowledgement of receipt.

OVH is, of course, a very good customer of its own solutions. Two-step authentication, customer contacts and internal alerts are sent via the same infrastructure that our customers use.

Over the years, the offer has grown. There are now many media fully integrated into our ecosystem and it is easy to send or receive messages via the OVH customer control panel, the API or email. In addition to sending messages ("MT" for Mobile Terminated), we added the functionality of response management ("MO" for Mobile Originated) followed by sending and collecting SMS messages via dedicated virtual mobile numbers. All at a highly competitive price. After gaining approval this summer from Arcep, the French agency in charge of regulating communications, we are testing a new feature that would allow voice calls to be received on the same virtual phone number as the one that receives SMS messages.