Cómo enviar SMS usando la API SMPP a nivel de protocolo

La API Short Message Peer-to-Peer (SMPP) es un protocolo ampliamente adoptado para intercambiar mensajes SMS entre entidades SMS como ESMEs (Entidades de Mensajes Cortos Externas) y SMSCs (Centros de Servicio de Mensajes Cortos). Para los usuarios de la plataforma Ozeki SMS Gateway, comprender las interacciones a nivel de protocolo SMPP es fundamental para optimizar el rendimiento, depurar y realizar integraciones personalizadas. Esta guía explica las PDUs (Unidades de Datos de Protocolo) de SMPP necesarias para establecer, mantener y usar una conexión API SMPP para enviar mensajes SMS.

Establecer una conexión API SMPP

Para enviar SMS a través de la API SMPP, primero debes vincular tu cliente al servidor Ozeki SMS Gateway. Existen tres tipos de vinculación: bind_transmitter, bind_receiver y bind_transceiver. Cada uno define la dirección del flujo de mensajes.

PDUs clave para la configuración de la conexión

PDU Dirección Propósito Parámetros clave
bind_transmitter ESME → SMSC Inicia una conexión para enviar SMS
  • system_id: Nombre de usuario del cliente
  • password: Credencial de autenticación
  • system_type: Identificador para la ESME
bind_receiver ESME → SMSC Configura una conexión para recibir SMS Igual que bind_transmitter
bind_transceiver ESME → SMSC Habilita mensajería bidireccional Igual que bind_transmitter

Tras una vinculación exitosa, la pasarela Ozeki responde con una PDU bind_resp que contiene un acuse de recibo de system_id. Si falla la autenticación, devuelve un código de error como ESME_RINVPASWD.

Mantener la conexión API SMPP

Las conexiones SMPP requieren señales de keep-alive periódicas para evitar tiempos de espera. Usa la PDU enquire_link:

PDU Dirección Propósito
enquire_link ESME ↔ SMSC Verifica si la conexión está activa
enquire_link_resp ESME ↔ SMSC Confirma que está activa

Mejor práctica: Envía enquire_link cada 30-60 segundos. Ozeki SMS Gateway termina las conexiones inactivas después de 5 minutos por defecto.

Enviar un SMS a través de la API SMPP

La PDU submit_sm se usa para enviar un solo SMS. Su estructura incluye direcciones de origen/destino y contenido del mensaje:

Parámetro Descripción Ejemplo
service_type Tipo de servicio (opcional) “” (vacío)
source_addr Dirección del remitente del SMS “12345”
destination_addr Número de teléfono del destinatario “+1234567890”
short_message Contenido del mensaje (UTF-8 o GSM-7) “Hola Mundo”

Ejemplo de flujo de trabajo submit_sm

  1. ESME envía submit_sm a Ozeki SMS Gateway.
  2. La pasarela responde con submit_sm_resp que contiene un message_id.
  3. La pasarela envía deliver_sm para informes de entrega (si está habilitado).
  4. ESME responde con deliver_sm_resp.

Manejar respuestas y errores de la API SMPP

Ozeki SMS Gateway utiliza estas PDUs de respuesta:

PDU Propósito Campos críticos
submit_sm_resp Reconoce submit_sm message_id, command_status
generic_nack Indica una PDU malformada/inválida command_status (ej., ESME_RINVMSGLEN)

Conclusión

Dominar las PDUs de la API SMPP como bind_transmitter, enquire_link y submit_sm garantiza una mensajería SMS confiable a través de Ozeki SMS Gateway. Al implementar un manejo robusto de errores y rutinas de keep-alive, los desarrolladores pueden construir soluciones SMS escalables con un tiempo de inactividad mínimo.

More information