Especificaciones de SMPP

El Protocolo Short Message Peer to Peer (SMPP) es el estándar de facto para el envío y recepción de SMS para operadores de telecomunicaciones, agregadores de SMS y operadores de red, para intercambiar mensajes SMS entre Centros de Servicio de Mensajes Cortos (SMSC) y/o Entidades Externas de Mensajería Corta (ESME). SMPP es un protocolo TCP/IP de nivel 7 que permite un envío rápido de mensajes SMS.

La conexión entre la aplicación y el servidor SMPP de seven.io es SMPP Versión 3.4 – las versiones 3.3 o 5.0 no son compatibles.

Especificaciones de SMPP Versión 3.4 Issue 1.2

Si necesita acceso SMPP a nuestra pasarela, por favor envíenos un breve mensaje con su volumen mensual aproximado de SMS y su IP o rango de IP desde el cual desea conectarse a nuestro servidor SMPP.


Host y Puerto

Cada uno de nuestros servidores SMPP le permite la conexión regular (texto plano) o una conexión cifrada mediante TLS. Si necesita una conexión tunelizada a través de VPN, por favor escríbanos.

Nombre del hostPuertoPuerto TLS
smpp0.seven.io27752776

PDUs Soportadas

Se soportan las siguientes Unidades de Datos de Paquete (PDU):

  • bind_transmitter
  • bind_receiver
  • bind_transceiver
  • unbind
  • submit_sm
  • deliver_sm
  • enquire_link

Bind y Rendimiento

Dependiendo de la configuración de su acceso SMPP, son posibles múltiples Binds. Por defecto, permitimos un máximo de conexión a través de 2 sesiones y 5 SMS/s por sesión.

Tiene tres opciones para establecer una conexión a través de SMPP. Para poder recibir informes de estado, debe establecer un Bind como transceiver o receiver.

  • transmitter – enviar mensajes cortos al SMSC y recibir respuestas del SMSC
  • receiver – recibir informes de estado del SMSC y devolver las respuestas correspondientes
  • transceiver – enviar y recibir mensajes hacia y desde el SMSC a través de una única sesión SMPP

Parámetros de enlace

Una solicitud PDU de bind_receiver, bind_transceiver o bind_transmitter de SMPP tiene un conjunto fijo de campos. Algunos campos son irrelevantes o son ignorados por nuestro servidor.

  • Name
    system_id
    Type
    string
    Description

    Nombre de usuario – se le proporcionará

  • Name
    password
    Type
    string
    Description

    Contraseña – se le proporcionará

  • Name
    system_type
    Type
    string
    Description

    Se ignora

  • Name
    interface_version date
    Type
    timestamp
    Description

    3.4

  • Name
    addr_ton
    Type
    timestamp
    Description

    Se ignora

  • Name
    addr_npi
    Type
    timestamp
    Description

    Se ignora

  • Name
    address_range
    Type
    string
    Description

    Se ignora


Informes de estado

Los informes de estado SMPP se envían en el siguiente formato:

  • Name
    id
    Type
    string
    Description

    El ID del mensaje, asignado por nuestro servidor

  • Name
    sub
    Type
    string
    Description

    El número de SMS enviados originalmente

  • Name
    dlvrd
    Type
    string
    Description

    El número de SMS entregados

  • Name
    submit date
    Type
    timestamp
    Description

    Fecha y hora del envío original del SMS

  • Name
    done date
    Type
    timestamp
    Description

    Fecha y hora del informe de estado final username.

  • Name
    stat
    Type
    string
    Description

    Informe de estado final del SMS. Ver tabla abajo.

  • Name
    err
    Type
    integer
    Description

    Puede contener un código de error específico de la red o un código de error del SMSC, si corresponde.

  • Name
    text
    Type
    timestamp
    Description

    Los primeros 20 caracteres del mensaje corto

Ejemplo de informe de estado

id:c0296bc5-e4d2-4ed7-bcc9-9e9b502dd302
sub:001
dlvrd:001
submit date:221206094424
done date:22106094426
stat:DELIVRD
err:000
text:

Ejemplo de informe de estado

id:IIIIIIIIII sub:SSS dlvrd:DDD submit date:YYMMDDhhmm 
done date:YYMMDDhhmm stat:DDDDDDD err:E text:

Códigos de estado

DLRDescripción
DELIVRDMensaje entregado al destino
ACCEPTDMensaje aceptado por el SMSC
EXPIREDPeríodo de validez del SMS expirado
DELETEDMensaje eliminado
UNDELIVMensaje no pudo ser entregado
UNKNOWNEstado del SMS desconocido
REJECTDMensaje rechazado

Códigos de error

DecHexCódigo de errorDescripción
00x000000ESME_ROKOk – Mensaje aceptado
10x000001ESME_RINVMSGLENLongitud de mensaje inválida
20x000002ESME_RINVCMDLENLongitud de comando inválida
30x000003ESME_RINVCMDIDID de comando inválido
40x000004ESME_RINVBNDSTSEstado de enlace inválido
50x000005ESME_RALYBNDIntento de enlace cuando ya está enlazado
60x000006ESME_RINVPRTFLGMarcador de prioridad inválido
70x000007ESME_RINVREGDLVFLGMarcador de entrega registrada inválido
80x000008ESME_RSYSERRError del sistema SMSC
100x00000aESME_RINVSRCADRDirección de origen inválida
110x00000bESME_RINVDSTADRDirección de destino inválida
120x00000cESME_RINVMSGIDID de mensaje inválido
130x00000dESME_RBINDFAILError general de enlace
140x00000eESME_RINVPASWDContraseña inválida
150x00000fESME_RINVSYSIDID de sistema inválido
170x0000011ESME_RCANCELFAILError de cancelación
190x0000013ESME_RREPLACEFAILError de reemplazo
200x0000014ESME_RMSGQFULDemasiados mensajes en la cola
220x0000016ESME_RINVSERTYPTipo de servicio inválido
510x0000033ESME_RINVNUMDESTSNúmero de dirección de destino inválido
520x0000034ESME_RINVDLNAMENombre inválido
640x0000040ESME_RINVDESTFLAGOpción de marcador de destino inválida
660x0000042ESME_RINVSUBREPValor inválido para enviar con opción de reemplazo
670x0000043ESME_RINVESMCLASSValor inválido para el campo esm_class
680x0000044ESME_RCNTSUBDLNo se puede enviar a un distribuidor
690x0000045ESME_RSUBMITFAILError general de transmisión
720x0000048ESME_RINVSRCTONTipo de número de origen inválido
730x0000049ESME_RINVSRCNPIMarcador de plan de numeración de origen inválido
740x000004aESME_RINVDSTTONTipo de número de destino inválido
750x000004bESME_RINVDSTNPIMarcador de plan de numeración de destino inválido
770x000004dESME_RINVSYSTYPTipo de esm inválido
780x000004eESME_RINVREPFLAGOpción de marcador de envío con reemplazo inválida
850x0000055ESME_RINVNUMMSGSNúmero de mensajes inválido
880x0000058ESME_RtdROTTLEDSMSC limita mensajes entrantes
980x0000062ESME_RINVEXPIRYFecha de expiración inválida
1030x0000067ESME_RQUERYFAILSolicitud query_sm fallida
1940x00000c2ESME_RINVPARLENLongitud de parámetro inválida
1950x00000c3ESME_RMISSINGOPTPARAMParámetros opcionales faltantes
1960x00000c4ESME_RINVOPTPARAMVALValor de parámetro opcional inválido
2540x00000feESME_RDELIVERYFAILUREError genérico de entrega
2550x00000ffESME_RUNKNOWNERRError desconocido

Códigos de error específicos

Además de los códigos de error SMPP estandarizados, enviamos nuestros propios códigos de error específicos:

DecHexCódigo de errorDescripción
10350x0000040bESME_RINVBALANCESaldo insuficiente para enviar el SMS