Parfois, l’héritage gagne : implémenter UCP pour les SMS

Bien que l’UCP (Universal Computer Protocol) soit considéré comme un protocole hérité pour l’envoi de SMS, il existe encore des cas – en particulier avec certains opérateurs mobiles européens – où il reste obligatoire de l’utiliser.

Dans l’un de nos projets, nous avons dû implémenter UCP nous-mêmes, faute de bibliothèques Java activement maintenues. Heureusement, l’UCP est un protocole basé sur du texte, ce qui le rend relativement simple à manipuler – mais uniquement si l’on respecte scrupuleusement les détails.

Un message UCP typique ressemble à ceci :

02/51/O/51/username/password/123456/0044170000000/Hello World//////////1/7

Le secret ? Bien respecter les formats de champs, les règles d’échappement des caractères et la logique de la somme de contrôle. Lorsqu’il est correctement implémenté, l’UCP fait toujours le travail – même dans un système moderne.

Jamais demandé à quoi ressemble vraiment un message mobile envoyé à Orange, Vodafone ou O2, côté technique ?

0000003F00000004000000000000000100010153656E64657249440001013338

336313237363530350000000100000000000D48656C6C6F20416E6472697921

Cette ligne hexadécimale, c’est ce qui circule réellement sur le fil lorsque vous vous connectez aux opérateurs mobiles via le protocole SMPP (Short Message Peer-to-Peer).

La mise en œuvre de SMPP en Java a été l’un des premiers défis techniques – complexes mais passionnants – que nous avons relevés en construisant une nouvelle plateforme pour Echovox, il y a plus de 12 ans !

Ce protocole est le moteur caché derrière chaque « ping » ou « buzz » que vous recevez des entreprises à travers le monde.
À l’époque, maîtriser SMPP, c’était comme déchiffrer un langage secret de l’univers télécom – et il alimente encore aujourd’hui tout l’écosystème de la messagerie mobile.

Catégories Masquer