Resumen

Este documento describe cómo enviar y recibir mensajes de teléfonos utilizando el servicio Modica SMPP. Este servicio requiere conocimientos especializados. Si no está seguro de usar SMPP, hable con su repesentante, ya que hay otros servicios disponibles, que incluyen: HTTPS, REST y SOAP.

El conjunto de caracteres predeterminado de SMPP de Modica es el GSM 7-bit default alphabet, GSM 03.38 .

Información de Referencia

Artículo de Wikipedia que detalla el protocolo SMPP.

Modica soporta SMPP 3.3 y 3.4.

SMPP sobre TLS  (version 1.2 o superior) debe ser utilizado para asegurar la privasidad de los mensajes.

Si su aplicacion no tiene soporte a TLS, por favor vea este link: Habilitación de TLS para aplicaciones SMPP de texto sin formato

Operaciones SMPP Compatibles

Protocol Description Units - PDUs

Somos compatibles con las siguientes operaciones.:

Cliente A Servidor Servidor A Cliente
bind_transmitter bind_transmitter_resp
bind_receiver bind_receiver_resp
bind_transceiver bind_transceiver_resp
submit_sm submit_sm_resp
enquire_link enquire_link_resp
enquire_link_resp enquire_link
deliver_sm_resp deliver_sm

Autenticación

Se le proporcionará su system_id (o Nombre de aplicacion) y contraseña una vez que se haya activado su cuenta. Necesitará iniciar sesión en Omni para obtenerlos.

Información de seguridad SMPP

El protocolo SMPP limita la longitud máxima de la contraseña a ocho caracteres. Debido a esta limitación, Modica emplea los siguientes mecanismos para evitar que afecte su cuenta:

SMPP sobre TLS : Es requerido para todas las conecciones y protegera tanto las credenciales de su cuenta SMPP asi como la data de sus mensajes.

Nuestros clientes deben utilizar TLS para asegurar que su privacidad esta segura. Por favor refierase a nuestra Politica de privacidad para mas Informacion. https://modicagroup.com/privacy

Información del puerto SMPP

Seguridad Puerto
SMPP sobre TLS 2776

Conjunto de caracteres

El conjunto de caracteres predeterminado SMPP de Modica es el GSM 7-bit default alphabet, GSM 03.38 .

Modica asignará el conjunto de caracteres compatibles con el que el cliente envía los mensajes compatibles con la ruta de red. En la mayoría de los casos, todos los caracteres estarán disponibles, en algunos casos puede haber caracteres no disponibles, que pueden ignorarse o asignarse a sus equivalentes más cercanos.

Cuando utilice caracteres que residen dentro del conjunto de caracteres GSM 03.38, asegúrese de que el data_coding esté establecido en cero (hex: 0x0). Si desea utilizar caracteres Unicode, configure su data_coding en ocho (hex: 0x8). Otras opciones son ASCII que usa data_coding uno (hex: 0x01) o ISO-8859-1 (latin1) que usa data_coding tres (hex: 0x03). Si se usa GSM 03.38 (hex: 0x0) o ASCII (hex: 0x01) y el mensaje contiene caracteres que no pertenecen a estos conjuntos de caracteres, entonces cualquier carácter no válido será reemplazado por signos de interrogación.

Tenga en cuenta: los límites de longitud y concatenación de los mensajes son diferentes entre GSM de 7 bits y Unicode.

Parámetros SMPP

La PDU “submit_sm” se usa para enviar mensajes a los teléfonos, los campos importantes de esta PDU son:

Parámetro Descripción
service_type NULL
source_addr Código corto, MSISDN o Máscara alfanumérica
source_addr_ton
  • 0: (desconocido) para enviar desde un código corto
  • 1: (internacional) para enviar desde un msisdn o un número largo
  • 5: (alfanumérico) para enviar desde una máscara
source_addr_npi 1
destination_addr El número de teléfono en formato internacional, es decir: 18091234567
dest_addr_ton 1: (international) debe ser utilizado para enviar a los teléfonos msisdns
data_coding
  • 0: (predeterminado) - usa GSM 03.38 conjunto de caracteres de 7 bits
  • 1: (ascii) - usa el conjunto de caracteres ASCII
  • 3: (iso-8859-1) - usa el conjunto de caracteres iso-8895-1 (latin1)
  • 8: (unicode) - usa el conjunto de caracteres unicode UCS-2
short_message El contenido del mensaje a enviar
sm_length La longitud del campo short_message

Notas:

dest_addr : El número de teléfono móvil al que se enviará el mensaje. La *variable string debe ser un número de teléfono móvil válido en formato *internacional. Esto generalmente significa eliminar el cero inicial y *reemplazarlo con el código del país.  

Por ejemplo, la entrega al número de teléfono móvil australiano 0413 123 4567 requeriría quitar el 0 e incluir el 61 (Código de país australiano) que da el formato internacional: 614131234567

Si configura source_addr en “0”, entonces también se debe configurar source_addr_ton en “0” o generará un error de código de respuesta 10.

Parámetros SMPP opcionales - Tag Length Value (TLV)

Parámetro Etiqueta  Tag Longitud Valor Descripción
user_message_reference 0x0204 2 Integer Número de referencia de mensaje asignado por ESME. Los recibos de entrega volverán con esta referencia.
request_source 0x1400 Variable Octet String Parámetro de fuente alternativa cuando se utiliza un source_addr alfanumérico (máscara).

Longitud del mensaje, Codificación y concatenación

Los mensajes concatenados (mensajes que son más grandes que un SMS estándar) son facturados por el total de mensajes SMS contenidos en el contenido del mensaje SMS concatenado.

El número de caracteres por mensaje SMS depende de qué conjunto de caracteres se utiliza:

  • Un mensaje de texto estándar GSM-03.38 tiene una longitud de 160 caracteres.

  • Un mensaje de texto estándar UCS-2 (por ejemplo, caracteres Unicode como chino o árabe) tiene 70 caracteres de longitud.

Si se utilizan los conjuntos de caracteres ASCII o ISO-8859-1, estos se asignarán internamente a GSM-03.38 o UCS-2. Así que las longitudes de mensajes anteriores se aplican a todos los mensajes.

Si el mensaje es más largo que estos límites, concatenará y se enviará como 2 (o más) mensajes, hasta un máximo de 10 unidades de mensaje concatenadas.

El uso de su cuenta se registra y se factura por unidad de mensaje.

Cuando ocurre la concatenación, el primer mensaje se reduce a 153 caracteres (GSM) o 67 caracteres (UCS-2), y los caracteres restantes se convierten en un segundo mensaje (concatenación). El motivo de la longitud reducida es que la información contenida en el UDH utiliza el espacio dentro de la carga útil de SMS cuando se produce la concatenación.

Notas:

  • Algunos caracteres GSM 03.38 están excluidos y no se pueden enviar. Estos son: ¤¡§|

  • El contenido puede enviarse como GSM 03.38, UCS-2 (Unicode), ASCII o ISO-8859-1 (latin1).

  • El contenido enviado como ASCII o ISO-8859-1 (latin1) se recodificará internamente a GSM 03.38 o UCS-2 (Unicode).

Para obtener más información sobre los conjuntos de caracteres SMS y la concatenación de SMS, visite:

Formato de recibo de entrega DLR

Los DLR o recibo de entrega se solicitan mediante el uso del parámetro registered_delivery.

Un envío exitoso de mensajes tendrá un valor de estado de mensaje 0x02.

Los recibos de entrega DLR se encuentran en la parte de mensajes cortos de las PDU DELIVER_SM

Ejemplo: id:<ID> sub:001 dlvrd:001 submit date:<SDATE> done date:<DDATE> stat:<STAT> err:<ERR>

Parámetro Descripción
El ID de mensaje tal como lo devolvió el comando SUBMIT_SM correspondiente
La fecha en que el mensaje fue enviado y aceptado por el gateway SMPP.
La fecha en que el mensaje alcanzó un estado permanente.
El estado de la transferencia del mensaje en texto plano.
El estado de la transferencia del mensaje 000 en caso de éxito, todos los demás valores se relacionan con la no entrega, consulte los valores a continuación

Lista de valores de estado STAT:

  • ENROUTE
  • DELIVRD
  • EXPIRED
  • DELETED
  • UNDELIV
  • ACCEPTD
  • UNKNOWN
  • REJECTD
  • STATERR (only if there was an error matching the status)

Lista de códigos de error:

Código Descripción
000 Desconocido / Predeterminado
001 Suscriptor desconocido
002 SMS no aprovisionado
003 Sin crédito
004 Suscriptor Desconocido o Desactivado
010 Configuración de fuente no válida: verifique las notas en los parámetros SMPP

ID de Mensaje

Todos los mensajes dentro de la plataforma Modica tienen asignado un identificador único.

Este valor puede devolverse en SUBMIT_SM_RESP y DELIVER_SM (tanto para casos del Recibo de entrega como el del mensaje MO).

En el caso de que contenga Recibo de entrega, la ID coincidirá con la ID devuelta en el SUBMIT_SM_RESP correspondiente para el mensaje.

De forma predeterminada, el ID se devuelve en el campo SMPP message_id de la PDU SUBMIT_SM_RESP.

Capacidad del Gateway

El gateway de Modica es capaz de recibir mensajes a una velocidad rápida.

Sin embargo, algunos operadores de telefonía móvil limitan las tasas de rendimiento permitidas de sus Centros de Servicio de Mensajes Cortos (SMSC) y gateway SMSC. En tales casos, la entrega de mensajes puede ser limitada.

Igualmente en tales casos, los mensajes se pondrán en cola en el gateway de Modica y se entregarán en el orden recibido por el gateway.

Si necesita tasas de rendimiento muy altas (es decir, más de 30 msj por segundo), informe a su administrador de cuentas para analizar las tasas de rendimiento aplicables en las distintas conexiones.

Reintento de Entrega

En el momento de la entrega de un mensaje, el gateway automáticamente volverá a poner en cola el mensaje y lo reintentará 60 segundos después. El gateway continuará reintentando hasta 50 veces, momento en el que el mensaje se marca como “frozen”. Esto significa que si una parte externa (por ejemplo, un servidor de un cliente o un proveedor) se sobrecarga temporalmente, o la conexión de la red se desconecta, el proceso de reintento garantizará la entrega final hasta que el recurso esté disponible dentro del rango de 50 minutos.

Desbordamiento de mensaje fallido

Cuando un cliente que utiliza nuestra interfaz de servicios web estándar, no está disponible debido a problemas de red o una interrupción del servidor, volvemos a poner en cola su mensaje (consulte Reintento de Entrega). Sin embargo, para minimizar el impacto de un servidor de respuesta lenta, todos los mensajes de ese cliente se trasladan de la cola principal a una segunda cola. Esto garantiza tasas de entrega rápida y continua a otros clientes cuyo servicio no se verá afectado, mientras que el cliente inalcanzable no pierde ningún mensaje.

Monitoreo de Gateway

El gateway puede detectar, alertar y, en muchos casos, resolver automáticamente los problemas. Todos estos eventos son grabados y monitoreados externamente. En consecuencia, si algún componente de todo el sistema deja de funcionar correctamente, se notifica al equipo de ingeniería de Modica.

Problemas

Si tiene dificultades con lo anterior, póngase en contacto con: mailto:support@modicagroup.com.