Jasmin y Kannel son los dos gateways SMS open source más conocidos. Jasmin está escrito en Python sobre el framework Twisted, habla SMPP y HTTP en ambos lados e incluye enrutamiento, facturación, una CLI de gestión y una REST API. Kannel es un gateway más antiguo, escrito en C, para SMS y WAP, que se conecta a los centros de SMS por SMPP 3.4, UCP/EMI y CIMD, y a módems GSM. Jasmin se acerca más a lo que necesita de serie un negocio A2P moderno; Kannel es ligero y probado, pero requiere más trabajo a su alrededor.
¿Qué es Jasmin SMS gateway?
Jasmin es un gateway SMS open source publicado con licencia Apache 2.0. Su documentación describe:
- Protocolos: cliente y servidor SMPP, cliente y servidor HTTP.
- Enrutamiento: estático, round-robin, failover y least-cost routing, con filtros por usuario, conector y lógica Python personalizada, modificables en caliente.
- Interceptores: hooks para modificar o bloquear mensajes en tránsito.
- Facturación: saldos y cuotas por usuario.
- Gestión: jCli (una consola de línea de comandos) y una REST API; el backend web se vende con licencia comercial.
- Arquitectura: store-and-forward mediante un message broker AMQP, con Redis para los informes de entrega.
- Despliegue: paquetes para Ubuntu y RHEL/CentOS, PyPI, Docker y Kubernetes.
¿Qué es Kannel SMS gateway?
Kannel se describe como un gateway WAP y SMS open source compacto. Se publica con una licencia de tipo BSD, está escrito en C y funciona como procesos separados: bearerbox mantiene las conexiones con los centros de SMS, smsbox gestiona los servicios SMS y la interfaz HTTP de envío, y wapbox gestiona el WAP. Según la página de estado del proyecto, admite CIMD 1.3 y 2.0, SMPP 3.4 y UCP/EMI 4.0, puede usar teléfonos y módems GSM como pseudo centro de SMS, maneja datos de 7 bits, 8 bits y Unicode con informes de entrega, y puede funcionar como agregador. La última versión estable que figura en la web del proyecto es la 1.4.5, de 2018. Para aceptar conexiones SMPP de sus propios clientes, Kannel suele combinarse con un complemento como OpenSMPPBox.
Jasmin vs Kannel: ¿cuál es mejor?
| Jasmin | Kannel | |
|---|---|---|
| Lenguaje | Python (Twisted) | C |
| Licencia | Apache 2.0 (backend web comercial) | Tipo BSD |
| Lado proveedor | SMPP, HTTP | SMPP 3.4, UCP/EMI, CIMD, módems GSM, HTTP |
| Lado cliente | Servidor SMPP y HTTP API integrados | HTTP integrado; servidor SMPP mediante complemento |
| Enrutamiento y facturación | Integrados (LCR, failover, cuotas) | Enrutamiento básico; facturación aparte |
| Gestión | jCli, REST API | Archivos de configuración, estado HTTP y comandos de administración |
| Dependencias | Broker AMQP, Redis | Pocas; base de datos opcional para guardar los DLR |
| Uso ideal | Plataforma de reseller o agregador con muchas cuentas de clientes | Conector ligero hacia operadores o módems, detrás de su propia aplicación |
Si está montando una plataforma de reseller o de agregador, Jasmin le da cuentas de clientes, un servidor SMPP y enrutamiento sin código adicional. Si solo necesita un enlace fiable entre su aplicación y unos pocos centros de SMS, o necesita UCP/EMI o CIMD, Kannel es más ligero.
¿Basta un gateway SMPP open source para un negocio?
El software es la parte menor del trabajo. Un negocio de SMS en producción también necesita supervisar la tasa de entrega por ruta, mapear los códigos de error de los proveedores, gestionar tarifas, tramitar el registro de sender ID, controlar el fraude y tener a alguien de guardia. Los gateways open source no incluyen rutas: sigue necesitando proveedores a los que conectarse. Antes de elegir, lea SMPP vs HTTP para SMS y binds SMPP y TPS, y tenga a mano las listas de códigos de error SMPP y de códigos de estado DLR mientras configura.
Cómo conectar un gateway a rutas SMS
- Obtenga las credenciales SMPP de cada proveedor: host, puerto, system ID, contraseña, tipo de bind y TPS permitidos.
- Facilite a los proveedores sus IP públicas fijas para que las incluyan en la lista blanca.
- Configure un conector por proveedor y una ruta de failover por destino.
- Envíe mensajes de prueba a teléfonos reales y compárelos con los DLR (consulte cómo probar una ruta SMS).
La parte de negocio de gestionar una plataforma se trata en cómo montar un negocio de SMS masivos.
Rutas para su gateway
VoIPMatcher obtiene rutas SMS A2P wholesale por SMPP o HTTP de sus carriers y las gestiona por usted. Solicite una ruta SMS indicando sus destinos y volumen.
Preguntas frecuentes
¿Jasmin SMS gateway es gratuito?
El núcleo de Jasmin es open source con licencia Apache 2.0, así que puede usarlo y modificarlo sin pagar licencia. El backend web del proyecto se ofrece con licencia comercial. Aun así, paga los servidores, el mantenimiento y las rutas SMS a las que se conecta.
¿Jasmin tiene interfaz web?
El núcleo open source se gestiona con jCli, una consola de línea de comandos, y con una REST API. Existe un backend web, pero se ofrece con licencia comercial. Algunos paneles de terceros también se conectan a Jasmin a través de su API. Revise la licencia y las actualizaciones de seguridad antes de exponer cualquier panel a internet.
¿Kannel sigue teniendo mantenimiento?
La web de Kannel muestra la versión estable 1.4.5, de 2018, y una rama de desarrollo más antigua, y las distribuciones Linux todavía lo empaquetan. Sigue usándose como conector a SMSC, pero publica versiones con lentitud, así que revise las listas de correo y el repositorio antes de contar con él para nuevas funciones.
¿Kannel puede conectarse a un módem GSM?
Sí. Kannel puede usar teléfonos y módems GSM como pseudo centro de SMS, además de conectarse a los centros de SMS de los operadores por SMPP, UCP/EMI y CIMD. Los módems sirven para volúmenes bajos y pruebas; el tráfico empresarial debe ir por rutas A2P registradas.
¿Qué otros gateways SMS open source existen?
Además de Jasmin y Kannel, hay librerías y simuladores SMPP open source para Java, Python y otros lenguajes, y proyectos de gateway más pequeños. La mayoría son kits de herramientas más que plataformas completas, así que compare cuánto enrutamiento, facturación y gestión de clientes tendría que desarrollar usted mismo.
¿Necesita una ruta?
Envíe el destino, el tipo de ruta y la tarifa objetivo. Le respondemos con lo que podemos ofrecer.