Tout ce qui mérite d'être su, rien qui ne le mérite pas.
Pourquoi la version 3.4 a conquis la base d'utilisateurs
Le protocole SMPP 3.4 a été déployé simultanément à l'essor du SMS A2P. Tous les principaux fournisseurs de SMSC ont développé des implémentations 3.4 robustes et stables. Ce protocole, concis (une trentaine de types de PDU et seulement huit commandes envoyées), est bien maîtrisé et fonctionne même à travers les NAT et pare-feu. Vingt-sept ans plus tard, la spécification SMPP 3.4 reste le protocole de référence de tout contrat d'interconnexion A2P.
Qu'est-ce que la version 5.0 a ajouté ?
SMPP 5.0 a corrigé plusieurs imperfections : prise en charge native de la charge utile des messages UTF-8, registre des types de services, gestion des messages broadcast_sm, query_broadcast_sm et cancel_broadcast_sm pour la diffusion cellulaire, TLV de facturation optionnels et contrôle de la congestion renforcé grâce à congestion_state. Cette version a également introduit le concept de machines à état de messages que le SMSC peut piloter pour le compte de l'ESME.
Pourquoi presque personne n'utilise Android 5.0
Trois raisons. Premièrement, les fournisseurs de SMSC n'ont pas été rémunérés pour la mise à niveau, les opérateurs disposant déjà de piles 3.4 fonctionnelles. Deuxièmement, le cas d'usage de diffusion cellulaire ciblé par la version 5.0 concernait les centres de diffusion cellulaire dédiés (CBC), et non les SMSC. Troisièmement, les problèmes résolus par la version 5.0 (gestion d'Unicode, TLV de facturation) sont généralement pris en charge au niveau de la couche application grâce aux TLV, en complément de la version 3.4. Résultat : chez BroadNet, nous n'avons qu'une seule liaison 5.0 en production, contre plus de 1 000 liaisons 3.4 actives.
Conseils pratiques
Connectez-vous en tant qu'émetteur-récepteur via SMPP 3.4, avec TLS sur le port fourni avec votre compte. Utilisez `submit_sm` avec le TLV `message_payload` pour les messages longs (au lieu de la concaténation UDH) lorsque le SMSC destinataire le prend en charge. Négociez `enquire_link` toutes les 30 secondes et désassociez-vous proprement. Si votre agrégateur impose la version 5.0, demandez-lui pourquoi : cela n'apporte aucun gain de délivrabilité sur les routes A2P commerciales.
SMPP 3.4 vs SMPP 5.0 en un coup d'œil
| SMPP 3.4 | SMPP 5.0 | |
|---|---|---|
| Publication | 1999 | 2003 |
| Base installée en production | Quasiment tous les binds A2P | Rare — peu déployé |
| En-tête Unicode natif | — | |
| Prise en charge du Cell Broadcast | — | |
| Contrôle de la congestion | Basique | Signalisation congestion_state |
| Avantage en matière de délivrabilité | Référence | Aucun sur les routes A2P commerciales |
| Recommandé aujourd'hui | Oui — transceiver sur TLS | Uniquement si un partenaire l'exige |