Le SMPP (Short Message Peer-to-Peer) est un protocole ouvert, binaire, fondé sur TCP, pour échanger des SMS entre une application externe (ESME) et un centre de service de messages courts (SMSC). C'est l'interface standard du SMS A2P à haut débit car elle est à état, à faible latence et prend en charge nativement les accusés de réception.
bind_transceiverOuvrir et authentifier la sessionbind_transceiver_respSession acceptéesubmit_smEnvoyer un messagesubmit_sm_respAccepté, ID du message renvoyédeliver_smAccusé de réception ou message entrantdeliver_sm_respConfirméenquire_linkKeepalive en cas d'inactivité
Ce qu'est le SMPP et pourquoi il existe
Le SMPP est un protocole applicatif de niveau 7 qui permet à une application de messagerie d'échanger des messages courts avec un SMSC ou une passerelle de routage. Là où une API REST est pratique pour de faibles volumes, le SMPP est une session binaire persistante qui évite la surcharge HTTP par message, soutient des milliers de messages par seconde sur une seule connexion, et porte les opérations submit, delivery, query, replace et cancel ainsi que les accusés de réception asynchrones. Il est agnostique quant au réseau sous-jacent — le SMSC gère la remise SS7/MAP, SIGTRAN ou IP jusqu'au combiné. Publié pour la première fois par Aldiscon/Logica à la fin des années 1990, il est aujourd'hui maintenu par le SMPP Developers Forum ; la v3.4 (1999) reste la version la plus déployée.
L'ESME et le SMSC
Les deux pairs sont l'ESME (External Short Message Entity — votre application) et le SMSC (Short Message Service Centre — la passerelle de l'opérateur ou de l'agrégateur). L'ESME ouvre une connexion TCP vers le port d'écoute du SMSC (2775, enregistré à l'IANA pour le trafic en clair) et s'authentifie par un bind. Malgré l'appellation « peer-to-peer », la relation est généralement de type client (ESME) à serveur (SMSC) ; chaque côté peut émettre des PDU une fois la session liée, ce qui permet au SMSC de renvoyer vers l'ESME les messages mobile-originated et les accusés de réception.
| Terme | Signification |
|---|---|
| ESME | Entité de message court externe — l'application de connexion (votre expéditeur) |
| SMSC | Short Message Service Centre — la passerelle de l'opérateur/agrégateur |
| MC | Centre de messagerie — terme v5.0 qui généralise SMSC |
| MT | Mobile-Terminated — message remis à un terminal |
| MO | Mobile-Originated — message envoyé depuis un terminal vers l'ESME |
Modèle de session et transport
Le SMPP fonctionne sur une seule connexion TCP de longue durée. Après l'établissement TCP, l'ESME envoie une PDU de bind ; sur un bind_resp réussi, la session passe à l'état lié et reste ouverte indéfiniment, maintenue en vie par des PDU enquire_link périodiques. Les opérations sont des paires requête/réponse corrélées par sequence_number, et plusieurs requêtes peuvent être en attente simultanément (mode fenêtré / asynchrone) jusqu'à une taille de fenêtre négociée. La session se termine par un échange unbind ou une fermeture TCP. Le SMPP n'a pas de chiffrement intégré ; la confidentialité s'ajoute en faisant passer la session sur TLS.
Versions : v3.3, v3.4 et v5.0
Trois versions comptent en pratique. La v3.3 est historique et rarement utilisée. La v3.4 a introduit le bind transceiver et les paramètres optionnels TLV ; c'est la norme de fait du secteur aujourd'hui. La v5.0 est rétrocompatible avec la v3.4 et ajoute la signalisation de contrôle de congestion, les opérations de diffusion et des états de message supplémentaires, mais elle est moins largement déployée. La version négociée est portée par le champ interface_version du bind : 0x34 pour la v3.4 et 0x50 pour la v5.0.
| Valeur | Version |
|---|---|
| 0x33 ou inférieur | SMPP v3.3 ou version antérieure |
| 0x34 | SMPP v3.4 |
| 0x50 | SMPP v5.0 |
Questions fréquemment posées
Le SMPP est-il encore utilisé en 2026 ?
Oui. Le SMPP reste le protocole dominant du SMS A2P à fort volume entre applications, agrégateurs et SMSC d'opérateurs. Les API REST se posent au-dessus du SMPP pour la commodité, mais l'interconnexion côté opérateur est presque toujours du SMPP sur TCP, généralement sécurisé par TLS.
Quel port utilise le SMPP ?
Le port par défaut enregistré à l'IANA est le TCP 2775 pour le SMPP en clair. Il n'existe pas de port TLS standardisé unique, aussi les fournisseurs exposent-ils un port distinct compatible TLS (par exemple 3550 ou un port par compte) pour les binds chiffrés. Utilisez toujours le port que votre fournisseur provisionne.
Quelle est la différence entre SMPP et SMTP ?
Ils sont sans rapport. SMTP transporte le courrier électronique ; le SMPP transporte les SMS entre les applications et un SMSC. La similitude des acronymes prête à confusion, mais les protocoles ne partagent ni conception, ni ports, ni format de message.
Ai-je besoin du SMPP ou une API SMS REST suffit-elle ?
Une API REST est plus simple et convient aux volumes faibles à modérés et aux intégrations rapides. Le SMPP prend tout son sens à haut débit, où une session binaire persistante offre une latence plus basse, un TPS soutenu plus élevé et des accusés de réception natifs en temps réel sur la même connexion.
Spécifications sources
Les normes publiées sur lesquelles repose cette page. S'ouvre dans un nouvel onglet.