Le Short Message Peer-to-Peer (SMPP) est un langage fondamental qui permet la transmission de messages textuels. Il s'agit du protocole qui régit l'interaction entre les ESME (External Short Message Entities), qui englobent les applications de textos d'entreprise et les appareils IoT cellulaires, et les appareils mobiles utilisant les services de messages courts (SMS).
Le SMPP facilite le flux des communications SMS via le centre de service de messages courts (SMSC) d'un fournisseur de réseau. Pour établir une connexion entre les ordinateurs et le centre de service, un système intermédiaire tel qu'une passerelle SMS ou une passerelle SMPP est nécessaire. Ensuite, la passerelle et le SMSC utilisent le protocole SMPP pour régir leurs interactions.
Quels sont les mécanismes du protocole SMPP ?
Lorsqu'un appareil ou une application compatible SMS veut envoyer un message texte, il lance une session SMPP avec le centre de messages (MC) ou le centre de services de messages courts (SMSC) d'un opérateur cellulaire. Au cours de cette session, l'appareil et le centre de messagerie communiquent à l'aide du protocole SMPP.
La communication entre l'appareil et le centre de messages s'effectue par le biais d'unités de données de protocole (PDU). Les PDU sont utilisées pour regrouper et échanger des commandes et des réponses entre les deux entités. Elles définissent la nature de la communication SMS, par exemple si l'ESME envoie ou reçoit un message.
Le centre de messages joue le rôle de médiateur, acceptant ou rejetant la transmission du SMS au nom du destinataire. Si une passerelle est impliquée dans la communication, elle sert également de médiateur, relayant les informations vers et depuis le centre de messages.
Types de sessions SMPP
Les sessions SMPP peuvent être classées en quatre catégories :
TL'émetteur (TX) est initié par l'ESME pour envoyer des messages SMS à un appareil mobile ainsi que pour annuler des messages précédemment envoyés.
Le récepteur (RX) est utilisé pour recevoir des messages SMS initiés par un appareil mobile lui-même.
L'émetteur-récepteur (TRX) permet aux ESME d'envoyer et de recevoir des messages SMS. Toutefois, la première version du SMPP ne prend pas en charge ce type de session.
Outbind Session représente une session SMPP initiée par le MC.
Unités de données de protocole (PDU)
Les PDU encapsulent les commandes et les réponses échangées entre le SMSC et le MC, conformément au protocole défini. Au début de chaque session, une commande de liaison est émise pour spécifier la nature de l'interaction. Par exemple, pour initier une session d'émetteur, le SMSC envoie un PDU avec la commande « bind_transmitter ». Ce PDU initial comprend l'identification de l'ESME, son type, son mot de passe et la version du SMPP utilisée, ce qui permet au MC d'interpréter les commandes et de déterminer les PDU compatibles. La direction de la communication SMS est également définie dans les PDU. Par exemple, si un ESME a l'intention d'envoyer un message texte, le SMSC envoie une demande "submit_sm" au MC.
Versions de SMPP
La version de SMPP utilisée doit être explicitement définie lors de chaque session, car elle détermine les méthodes d'interaction autorisées entre les deux entités. Il existe trois versions de SMPP :
SMPP v3.3
SMPP v3.4
SMPP v5.0
Applications de SMPP dans l'IoT
Parmi les applications notables de SMPP dans l'IoT figurent la surveillance environnementale en temps réel, les systèmes de sécurité domestique intelligents, la gestion de flotte, le suivi des actifs et la gestion d'appareils à distance. Avec le SMPP, les appareils IoT peuvent envoyer des alertes critiques, recevoir des commandes, transmettre des mises à jour de données et établir une communication bidirectionnelle, améliorant ainsi la fonctionnalité et la connectivité des écosystèmes IoT.