Jasmin et Kannel sont les deux passerelles SMS open source les plus connues. Jasmin est écrit en Python sur le framework Twisted, parle SMPP et HTTP des deux côtés, et intègre le routage, la facturation, une console d'administration et une API REST. Kannel est une passerelle SMS et WAP plus ancienne, écrite en C, qui se connecte aux centres SMS en SMPP 3.4, UCP/EMI et CIMD, ainsi qu'aux modems GSM. Jasmin est plus proche de ce dont une activité A2P moderne a besoin dès l'installation ; Kannel est léger et éprouvé, mais demande plus de travail autour.
Qu'est-ce que la passerelle SMS Jasmin ?
Jasmin est une passerelle SMS open source publiée sous licence Apache 2.0. Sa documentation décrit :
- Protocoles : client et serveur SMPP, client et serveur HTTP.
- Routage : statique, round-robin, failover et least-cost routing, avec des filtres par utilisateur, par connecteur et en logique Python personnalisée, modifiables à chaud.
- Intercepteurs : des points d'accroche pour modifier ou bloquer les messages en transit.
- Facturation : soldes et quotas par utilisateur.
- Gestion : jCli (une console en ligne de commande) et une API REST ; l'interface web est vendue sous licence commerciale.
- Architecture : store-and-forward via un broker de messages AMQP, avec Redis pour les accusés de réception.
- Déploiement : paquets pour Ubuntu et RHEL/CentOS, PyPI, Docker et Kubernetes.
Qu'est-ce que la passerelle SMS Kannel ?
Kannel se présente comme une passerelle WAP et SMS open source compacte. Il est publié sous une licence de type BSD, écrit en C, et fonctionne en processus séparés : bearerbox maintient les connexions aux centres SMS, smsbox gère les services SMS et l'interface d'envoi HTTP, et wapbox gère le WAP. Selon la page d'état du projet, il prend en charge CIMD 1.3 et 2.0, SMPP 3.4 et UCP/EMI 4.0, peut utiliser des téléphones et modems GSM comme pseudo centre SMS, traite les données 7 bits, 8 bits et Unicode avec accusés de réception, et peut fonctionner comme agrégateur. La dernière version stable indiquée sur le site du projet est la 1.4.5, de 2018. Pour accepter des connexions SMPP de vos propres clients, Kannel est en général associé à un module comme OpenSMPPBox.
Jasmin ou Kannel : lequel est le meilleur ?
| Jasmin | Kannel | |
|---|---|---|
| Langage | Python (Twisted) | C |
| Licence | Apache 2.0 (interface web commerciale) | Type BSD |
| Côté fournisseur | SMPP, HTTP | SMPP 3.4, UCP/EMI, CIMD, modems GSM, HTTP |
| Côté client | Serveur SMPP et API HTTP intégrés | HTTP intégré ; serveur SMPP via un module |
| Routage et facturation | Intégrés (LCR, failover, quotas) | Routage de base ; facturation à développer à part |
| Gestion | jCli, API REST | Fichiers de configuration, état HTTP et commandes d'administration |
| Dépendances | Broker AMQP, Redis | Peu ; base de données optionnelle pour stocker les DLR |
| Usage idéal | Plateforme de revendeur ou d'agrégateur avec de nombreux comptes clients | Connecteur léger vers les opérateurs ou des modems, derrière votre propre application |
Si vous construisez une plateforme de revendeur ou d'agrégateur, Jasmin vous donne les comptes clients, un serveur SMPP et le routage sans code supplémentaire. Si vous avez seulement besoin d'un lien fiable entre votre application et quelques centres SMS, ou s'il vous faut UCP/EMI ou CIMD, Kannel est plus léger.
Une passerelle SMPP open source suffit-elle pour une entreprise ?
Le logiciel est la plus petite partie du travail. Une activité SMS en production a aussi besoin du suivi des taux de livraison par route, de la correspondance des codes d'erreur des fournisseurs, de la gestion des tarifs, des démarches d'enregistrement des sender ID, de contrôles anti-fraude et d'une personne d'astreinte. Les passerelles open source ne fournissent pas de routes : il vous faut toujours des fournisseurs auxquels vous connecter. Avant de choisir, lisez SMPP ou HTTP pour le SMS et binds SMPP et TPS, et gardez sous la main les listes des codes d'erreur SMPP et des codes de statut DLR pendant la configuration.
Comment connecter une passerelle à des routes SMS
- Obtenez les identifiants SMPP de chaque fournisseur : hôte, port, system ID, mot de passe, type de bind et TPS autorisé.
- Communiquez aux fournisseurs vos IP publiques fixes pour la liste blanche.
- Configurez un connecteur par fournisseur et une route de secours par destination.
- Envoyez des messages de test vers de vrais téléphones et comparez avec les DLR (voir comment tester une route SMS).
Le côté commercial de l'exploitation d'une plateforme est traité dans comment lancer une activité de SMS en masse.
Des routes pour votre passerelle
VoIPMatcher trouve des routes SMS A2P wholesale en SMPP ou HTTP auprès de ses carriers et les gère pour vous. Demander une route SMS en indiquant vos destinations et votre volume.
Questions fréquentes
La passerelle SMS Jasmin est-elle gratuite ?
Le cœur de Jasmin est open source sous licence Apache 2.0 : vous pouvez l'utiliser et le modifier sans payer de licence. L'interface web du projet est proposée sous licence commerciale. Vous payez toujours les serveurs, la maintenance et les routes SMS auxquelles vous vous connectez.
Jasmin a-t-il une interface web ?
Le cœur open source se gère avec jCli, une console en ligne de commande, et une API REST. Une interface web existe mais elle est proposée sous licence commerciale. Certains panneaux tiers se connectent aussi à Jasmin via son API. Vérifiez la licence et les mises à jour de sécurité avant d'exposer un panneau sur Internet.
Kannel est-il encore maintenu ?
Le site de Kannel indique la version stable 1.4.5 de 2018 et une branche de développement plus ancienne, et les distributions Linux le proposent toujours. Il reste utilisé comme connecteur vers les SMSC, mais les nouvelles versions sont rares : consultez les listes de diffusion et le dépôt avant de compter sur lui pour de nouvelles fonctions.
Kannel peut-il se connecter à un modem GSM ?
Oui. Kannel peut utiliser des téléphones et modems GSM comme pseudo centre SMS, en plus des connexions aux centres SMS des opérateurs en SMPP, UCP/EMI et CIMD. Les modems conviennent aux faibles volumes et aux tests ; le trafic professionnel doit passer par des routes A2P enregistrées.
Quelles sont les autres passerelles SMS open source ?
En plus de Jasmin et Kannel, il existe des bibliothèques et simulateurs SMPP open source pour Java, Python et d'autres langages, ainsi que de plus petits projets de passerelle. La plupart sont des boîtes à outils plutôt que des plateformes complètes : comparez la part de routage, de facturation et de gestion des clients que vous devriez développer vous-même.
Besoin d'une route ?
Indiquez la destination, le type de route et le tarif cible. Nous vous répondons avec ce que nous pouvons fournir.