Comment garantir le bon acheminement des SMS ?

Temps de lecture estimé : 6 minute(s)

De l’annonce des soldes au suivi de commande, qui n’a jamais reçu de SMS de la part d’une entreprise ? En 2017, le marché français du SMS A2P (Application to Person) représentait un volume de 4,5 milliards de messages, avec une progression de plus de 20 % par rapport à 2016. Comment faire en sorte que chaque message arrive bien à bon port ? Depuis 2011, au sein de son activité Télécom, OVH propose une offre de diffusion SMS qui rencontre un succès certain. Et tous les jours, nous travaillons à la qualité des routes SMS, afin de pouvoir délivrer les messages de nos clients de manière fiable et dans le délai le plus court possible.

 

Graphique du trafic des SMS montrant la perte de deux routes vers 10h24, puis le trafic redirigé (zone bleue) et le retour à la normale avec vers 10h46 le retour d’une route et, à 10h54, le retour de la seconde perdue.

Pour y parvenir, nous avons architecturé notre solution technique autour de l’utilisation d’un maximum d’interconnexions différentes, ce qui nous permet d’étendre notre capacité de diffusion de trafic en cas de fortes affluences et de pouvoir acheminer tous les messages, même lors de pannes sur certaines parties du réseau.

Derrière cette stratégie orientée client se cache un puissant outil de monitoring qui a été développé par nos équipes. Chaque opérateur mobile de destination est en effet testé en temps réel et de façon totalement automatisée sur toutes nos interconnexions. Ces batteries de tests nous permettent de détecter rapidement les baisses de performance qui peuvent survenir en-dehors de notre réseau. L’outil adapte alors, en temps réel, les règles de routage du trafic pour assurer une qualité de service maximale à nos clients. Dans ce mode dégradé, la logique du choix de l’interconnexion est alors différente de d’habitude : nous délivrons les messages uniquement vers les routes valides, durant toute la durée de l’incident. Ainsi, nous pouvons, aujourd’hui, nous permettre de perdre jusqu’à deux tiers des interconnexions sans aucun impact sur la livraison des messages  et le ressenti client.

C’est en suivant cette logique de redondance maximum qu’il nous est apparu que le choix des interconnexions et des différentes routes est d’une importance capitale pour garantir le bon acheminement des messages en toutes circonstances. Sur l’offre d’OVH, il n’y a que des routes directes, les « routes grises » sont totalement proscrites !

Dans le monde du SMS, il y a différents types de routes. Les routes légales dites « blanches » qui se font via une interconnexion directe avec l’opérateur gérant l’abonné que l’on cherche à joindre. Les « grises » qui sont un contournement de ces interconnexions, généralement via des cartes SIM « normales », destinées aux abonnements de particuliers. Les messages de types professionnels  doivent emprunter les routes blanches, qui sont sécurisées, fiables, rapides et proposant l’option de désabonnement obligatoire pour certains envois. Malgré cela certains fournisseurs optent pour des routes grises offrant des prix bien plus bas avec une qualité moindre et qui ne répondent pas aux contraintes du marché des télécoms.

Intégrés dans notre algorithme de routage des messages, ces deux principes de redondance et de « uniquement des routes blanches » nous permettent d’optimiser constamment la déliverabilité de notre trafic, et nous permettent de traiter de la même manière chaque message : du code d’authentification devant atteindre l’utilisateur en quelques secondes, au trafic massif lors des périodes de soldes.

Pour monitorer et gérer notre capacité de diffusion des SMS, nous utilisons les briques logicielles proposées par OVH. Par exemple, l’ensemble de nos fichiers de journalisation sont envoyés sur Logs Data Platform ce qui nous permet d’avoir une vue, en temps réel, sur le comportement de nos applicatifs et de détecter, au plus vite, un comportement anormal. Le graphique utilisé précédemment qui nous permet de visualiser les modifications de routage effectuées automatiquement en cas de problème ou de baisse de performance d’une route, en est la parfaite illustration. Via cette collecte de journaux, nous pouvons également détecter rapidement qu’une erreur est survenue sur la plateforme, puis recouper les informations pour savoir si l’erreur provient d’une utilisation non conforme de la plateforme, ou si celle-ci en est la cause.

 

Supervision des codes retours http de l’API SMS

Un autre service OVH utilisé de manière intensive est la plateforme Metrics. En effet, nous avons développé un nombre conséquent de sondes applicatives, en grande partie via la librairie publique ovh-go (https://github.com/ovh/go-ovh), cela nous permet de tester nos connecteurs et d’en suivre les performances au fil du temps.

Par exemple, à intervalle régulier, une sonde est lancée sur l’API SMS OVH. En retour, nous validons à la fois que le retour de cet appel est bien conforme à ce qu’il devrait être, pour détecter une éventuelle régression ou un incident, mais aussi le temps que met la plateforme à nous retourner cette information. Toutes ces valeurs sont envoyées via le protocole OpenTSDB sur Metrics ce qui nous permet ensuite de les synthétiser et de suivre leur évolution dans le temps.

 

Suivi de la mesure du temps de réponse de l’API SMS sur une journée

Nous pouvons donc ensuite utiliser ces données pour nous assurer de la bonne tenue de nos SLA, mais aussi pour avoir une vision plus orientée à moyen terme, sur la gestion du capacity planning de cette activité.

 

Monitoring du flux de diffusion SMS par les différentes routes

 

À propos de capacité, notre infrastructure a été conçue pour écouler jusqu’à 1 000 SMS / seconde. Une campagne marketing conséquente de 500 000 SMS est avalée et digérée en moins de dix minutes. En cas de campagne déclenchée lors d’une période de forte affluence, un système de mise en queue et de priorisation nous permet d’écouler le trafic habituel, en l’intercalant parmi les SMS de la campagne. Nous surveillons le temps moyen de livraison des SMS sur chacune de nos routes, avec un objectif à 10 secondes pour la réception du SMS et le retour de l’accusé réception.

OVH est, bien entendu, un très bon client de sa propre solution. La double authentification, les contacts aux clients et les alertes internes sont envoyés via la même infrastructure que celle des clients.

 

Au fur et à mesure des années, l’offre s’est étoffée et propose de nombreux médias totalement intégrés dans notre écosystème : via l’espace client OVH, l’API ou via e-mail, il est facile de faire parvenir ou recevoir des messages. Aux fonctionnalités d’envois de messages (« MT » pour Mobile Terminated) s’est ajoutée la gestion des réponses (« MO » pour Mobile Originated) puis l’envoi et la collecte de SMS via des numéros de mobiles virtuels dédiés avec une offre au tarif très compétitif. L’Arcep ayant donné son autorisation cet été, nous sommes en train de tester une nouvelle fonctionnalité qui permettrait de recevoir des appels vocaux sur le même numéro de téléphone virtuel que celui où l’on reçoit ses SMS.