Skip to content

Herramientas cliente y servidor SMPP para pruebas

Librerías cliente SMPP, servidores y simuladores de código abierto para pruebas, y un método paso a paso para probar una conexión SMPP.

Actualizada el 20 octubre 2026

Para probar una conexión SMPP necesita un cliente SMPP (para hacer bind con un proveedor y enviar mensajes) y, durante el desarrollo, un servidor o simulador SMPP (para aceptar binds sin enviar SMS reales). Entre las opciones de código abierto conocidas están Jasmin y Kannel como gateways completos, y librerías como jSMPP, Cloudhopper SMPP, python-smpplib, node-smpp y gosmpp para scripts y herramientas propias.

¿Qué es un cliente SMPP?

Un cliente SMPP (el ESME en la terminología SMPP) abre una conexión TCP con un servidor SMPP, hace bind con un system ID y una contraseña, envía mensajes con submit_sm y recibe los informes de entrega como deliver_sm. Su plataforma de SMS es un cliente frente a cada ruta superior. Un cliente de prueba es lo mismo en una forma pequeña y controlable: lo usa para comprobar credenciales, tipos de bind, límites de TPS, codificación e informes antes de conectar el tráfico de producción. Contexto: qué es SMPP.

¿Qué es un simulador de servidor SMPP?

Un simulador de servidor SMPP acepta binds como un SMSC, confirma los mensajes enviados y puede devolver informes de entrega ficticios, pero no entrega nada a teléfonos reales. Permite a los desarrolladores probar su cliente, su lógica de reintentos y su gestión de DLR sin gastar dinero ni tocar redes reales. No confunda nunca los informes del simulador con los reales: solo la ruta real puede mostrar la entrega real. Consulte DLR falsos para ver por qué importa en producción.

Herramientas SMPP de código abierto

Se ha comprobado que estos proyectos existen y se usan activamente (revise la licencia y el estado de mantenimiento de cada proyecto antes de depender de él):

HerramientaLenguajeClienteServidorÚtil para
JasminPythonSíSíGateway SMS completo de código abierto con SMPP y HTTP, enrutamiento e imagen Docker. Útil como servidor SMPP local para pruebas.
KannelCSíMediante complementoVeterano gateway SMS y WAP de código abierto que se conecta a SMSC por SMPP y otros protocolos.
jSMPPJavaSíSíLibrería compatible con SMPP 3.3, 3.4 y 5.0; la usa también el componente SMPP de Apache Camel.
Cloudhopper SMPPJavaSíSíLibrería para clientes y servidores; el repositorio principal no se actualiza desde hace varios años.
python-smpplibPythonSíNoScripts de prueba rápidos: bind, envío, lectura de informes.
node-smppNode.jsSíSíPequeños servidores y clientes de prueba en JavaScript.
gosmppGoSíNoLibrería cliente SMPP 3.4 para servicios en Go.

Para capturar tráfico, Wireshark decodifica las PDU SMPP, lo que ayuda cuando necesita ver exactamente qué se envió en un bind o en un submit_sm. También existen clientes de escritorio comerciales y simuladores de SMSC alojados; evalúelos del mismo modo.

¿Cómo pruebo una conexión SMPP?

Pruebe en este orden: red, bind, envío, informe, capacidad. La mayoría de las configuraciones fallidas se quedan en los dos primeros pasos por la lista blanca de IP, un puerto incorrecto o un tipo de bind equivocado.

  1. Red. Confirme que su IP está en la lista blanca y que el host y el puerto son accesibles (basta con una simple prueba de conexión TCP).
  2. Bind. Haga bind con el system ID, la contraseña, el system type (a menudo vacío) y el tipo de bind que le dio el proveedor (TX, RX o TRX). Un fallo de bind devuelve un error como contraseña no válida o system ID no válido.
  3. Envío. Envíe un mensaje a su propio terminal con el sender ID, el TON/NPI y el data_coding acordados, con registered_delivery configurado para pedir un informe.
  4. Informe. Compruebe que el informe de entrega llega con el mismo ID de mensaje y un estado final. Compárelo con el teléfono.
  5. Keep-alive. Deje el bind inactivo y confirme que enquire_link lo mantiene activo.
  6. Capacidad. Envíe a los TPS contratados y vigile los errores de throttling.

El significado de los errores está en códigos de error SMPP; los límites de binds y TPS, en binds SMPP y TPS.

Servidor SMPP gratuito para pruebas: ¿qué opciones hay?

La opción gratuita más sencilla es ejecutar en local un gateway de código abierto como Jasmin (se distribuye como imagen Docker) y apuntar su cliente hacia él, o escribir un pequeño servidor con node-smpp o jSMPP que acepte binds y devuelva informes. Eso cubre las pruebas de protocolo. Para las pruebas de entrega, nada sustituye a una ruta real y a terminales reales en cada operador: consulte cómo probar una ruta SMS.

Cómo elegir entre SMPP y HTTP para su integración

Si su volumen es pequeño, una HTTP API puede ser más sencilla que mantener binds SMPP. Si revende o envía grandes volúmenes, SMPP es lo habitual. Compárelos en SMPP vs HTTP para SMS y qué es un gateway SMS.

Cómo obtener una ruta SMPP real

Cuando su cliente funcione contra un simulador, necesitará un proveedor real. VoIPMatcher obtiene rutas SMS A2P por SMPP de sus carriers y las gestiona. Solicite una ruta SMPP para pruebas y producción.

Preguntas frecuentes

¿Hay algún cliente SMPP online que pueda usar?

Algunos proveedores ofrecen clientes de prueba SMPP en la web y simuladores de SMSC alojados. Tenga cuidado al introducir credenciales de producción en sitios de terceros, porque cualquiera que las tenga puede enviar tráfico que se le facturará a usted. Para binds reales, un cliente local construido con una librería de código abierto, o su propio gateway, mantiene las credenciales bajo su control.

¿Puedo ejecutar un servidor SMPP en Docker?

Sí. Jasmin, un gateway SMS de código abierto con servidor SMPP, publica una imagen Docker, y los pequeños servidores de prueba construidos con librerías como node-smpp o jSMPP son fáciles de contenerizar. Es útil para desarrollo y pruebas automatizadas, pero un servidor así no entrega a teléfonos reales salvo que se conecte a rutas reales.

¿Por qué falla mi bind SMPP?

Las causas habituales son una dirección IP que el proveedor no tiene en la lista blanca, un host o un puerto incorrectos, un system ID o una contraseña erróneos, un tipo de bind equivocado o demasiados binds ya abiertos en la cuenta. El código de error de la respuesta al bind indica la causa. Compruebe primero la conectividad de red, después las credenciales y los límites de binds.

¿Qué es enquire_link en SMPP?

Enquire_link es la PDU de keep-alive de SMPP. Cualquiera de las dos partes la envía periódicamente, a menudo cada 30 a 60 segundos, y la otra debe responder. Mantiene abiertas las conexiones inactivas a través de los firewalls y permite a cada parte detectar rápidamente un enlace caído para reconectarse en lugar de perder mensajes.

¿Cómo pruebo la capacidad de SMPP?

Después de un bind correcto y de la prueba con un solo mensaje, envíe una ráfaga controlada a los mensajes por segundo contratados hacia un rango de prueba acordado con el proveedor, y vigile los errores de throttling y el aumento de los tiempos de respuesta. Suba poco a poco. Pruebe con todos sus binds a la vez, porque los límites pueden aplicarse por cuenta además de por bind.

¿Necesita una ruta?

Envíe el destino, el tipo de ruta y la tarifa objetivo. Le respondemos con lo que podemos ofrecer.

SMS A2P Rutas SMS directas: qué son y cómo verificarlas Qué es una ruta SMS directa, por qué entrega mejor que las rutas indirectas o grises, cuándo la necesita el tráfico OTP y cómo verificar que es directa. SMS A2P Lista MCC MNC: códigos de país y de red móvil Qué son los códigos MCC y MNC, ejemplos de la lista MCC MNC, cómo identifican las redes móviles y cómo los usan los proveedores SMS para precios y rutas. SMS A2P API de validación de números: HLR, MNP y tipo de línea Qué devuelve una API de validación de números de teléfono: formato, tipo de línea, MNP y HLR lookup, en qué se diferencian y cómo elegir un proveedor. SMS A2P Qué es SMPP: el protocolo SMPP explicado Qué es el protocolo SMPP, cómo funcionan los binds y las PDU de SMPP, qué es un servidor SMPP y cuándo usar SMPP en lugar de una HTTP API para SMS. SMS A2P RCS vs SMS para mensajería empresarial RCS vs SMS para empresas: funciones, alcance en Android e iPhone en 2026, modelos de precio, comparación con MMS y cuándo mantener el SMS como respaldo. SMS A2P Tasa de entrega SMS: referencias, latencia y monitorización Cómo calcular la tasa de entrega y la latencia de los SMS, qué tasa de entrega es normal, causas habituales de malos resultados y cómo vigilar las rutas. SMS A2P Verificación por flash call: cómo funciona frente al SMS Cómo funciona la verificación por flash call, cómo se compara con el SMS OTP y los riesgos de operador, fraude y plataforma a valorar antes de usarla. SMS A2P HLR lookup: qué es la consulta HLR y cómo funciona Qué devuelve una consulta HLR, en qué se diferencia de la MNP, si muestra la ubicación y cómo se usa en SMS para enrutar, limpiar listas y frenar el fraude.