¿Cómo funcionan SMPP submit_sm y SMPP deliver_sm?
Esta página proporciona información sobre cómo funciona el procedimiento de envío de SMS. También verás qué sucede dentro de la red móvil después de haber enviado tu mensaje SMS al servidor SMPP utilizando la PDU SUBMIT_SM.
¿Qué es SMPP submit_sm?
SMPP submit_sm es la unidad de datos de protocolo SMPP (PDU SMPP) utilizada para enviar un mensaje SMS al servidor SMPP de Ozeki.
SMPP submit_sm
La PDU SMPP submit_sm es la PDU que se envía al servidor SMPP cuando un cliente SMPP desea enviar mensajes SMS utilizando el protocolo SMPP. Después de que esta PDU es recibida por el servidor SMPP, el número de teléfono se busca en el Registro de Localización de Hogar (HLR) del operador de red móvil. La búsqueda en el HLR es necesaria para encontrar en qué red se encuentra actualmente el teléfono móvil. Una vez que esta información está disponible, el SMS se reenvía a la Estación de Conmutación Móvil (MSC) de la red. Esta estación es responsable de entregar el SMS al terminal del destinatario. El paso final lo realiza la MSC. Reenvía el SMS al dispositivo del destinatario (Figura 1).
Explicación de la entrega de SMS con SMPP submit_sm
- El SMS es enviado por el cliente SMPP
- El SMS es recibido por el servidor SMPP
- El servidor SMPP devuelve un informe de envío (submit_sm_resp)
- Se realiza una búsqueda en el HLR por parte del SMSC
- El SMS se reenvía a la MSC
- El SMS se envía al teléfono móvil
- El teléfono móvil confirma el mensaje
- La MSC envía un acuse de recibo al SMSC
- El servidor SMPP en el SMSC crea un informe de entrega
- El servidor SMPP envía el informe de entrega al cliente SMPP
- El cliente SMPP confirma el informe de entrega
Como se puede ver en la Figura 1, la segunda parte del procedimiento de envío de SMS es el acto de entregar el informe de entrega del SMS. Esto lo hace el servidor SMPP utilizando la PDU SMPP deliver_sm. El informe de entrega se devuelve al cliente SMPP de la misma manera que se devuelve un SMS estándar.
Explicación de un ejemplo de SMPP submit_sm
El siguiente diagrama muestra un ejemplo de PDU SMPP submit_sm enviada por el cliente SMPP de Ozeki 10 SMS Gateway. En la figura se puede ver una smpp bind_transmitter. Esta es seguida por la PDU SMPP submit_sm y la PDU SMPP deliver_sm. (Figura 2)
Ejemplo de SMPP submit_sm
2021-04-06 12:06:25.356 INFO SMPP_client_1: <- 00000098000000040000000000000002000101303030303030300001013336323035343630363930000000010000010000006548656C6C6F2C205468697320697320612074657374206D6573736167652066726F6D204F7A656B6920534D5320476174657761792E20506C65617365207669736974207777772E6F7A656B692E687520666F72206D6F726520696E666F726D6174696F6E2E 2021-04-06 12:06:25.356 INFO SMPP_client_1: -> 0000001B8000000400000000000000023339373439363831303500
Ejemplo de SMPP deliver_sm
2021-04-06 12:06:27.033 INFO SMPP_client_1: -> 000000AA000000050000000000000001000101303030303030300001013336323035343630363930000400000000000003007769643A33393734393638313035207375623A30303120646C7672643A303031207375626D697420646174653A3231303430363132303620646F6E6520646174653A3231303430363132303620737461743A44454C49565244206572723A30303020746578743A44656C697665727920737563636573732E 2021-04-06 12:06:27.033 INFO SMPP_client_1: <- 0000001180000005000000000000000100
Tutorial en video de SMPP submit_sm
El siguiente video demuestra cómo puedes configurar una conexión de cliente SMPP y cómo puedes enviar mensajes SMS utilizando la PDU SMPP submit_sm.
Parámetros de SMPP submit_sm (Lista rápida)
Parámetros de submit_sm
- longitud del comando
- id del comando
- estado del comando
- número de secuencia
- tipo de servicio
- dirección de origen
- dirección de destino
- banderas de SMS
- marcas de tiempo
- esquema de codificación de datos
- mensaje corto
Parámetros de SMPP submit_sm
Nombre del campo | Tamaño en octetos | Tipo | Descripción |
---|---|---|---|
command_length | 4 | Entero | Se establece como la longitud total de la PDU. |
command_id | 4 | Entero | 0x00000004 |
command_status | 4 | Entero | 0x00000000 |
sequence_number | 4 | Entero | Se establece como un número de secuencia único. La PDU submit_sm_resp asociada reflejará este número de secuencia. |
service_type | Var. máx. 6 | Cadena C-Octeto | El parámetro service_type puede usarse para indicar el servicio de aplicación SMS asociado con el mensaje.
Especificar el service_type permite al ESME aprovechar servicios de mensajería mejorados como "reemplazar por service_type" o controlar el teleservicio utilizado en la interfaz aérea.
Se establece como NULL para configuraciones predeterminadas de MC. |
source_addr_ton | 1 | Entero | Tipo de Número para la dirección de origen.
Si no se conoce, se establece como NULL (Desconocido). |
source_addr_npi | 1 | Entero | Indicador de Plan de Numeración para la dirección de origen.
Si no se conoce, se establece como NULL (Desconocido). |
source_addr | Var. máx. 21 | Cadena C-Octeto | Dirección del SME que originó este mensaje.
Si no se conoce, se establece como NULL (Desconocido). |
dest_addr_ton | 1 | Entero | Tipo de Número para el destino |
dest_addr_npi | 1 | Entero | Indicador de Plan de Numeración para el destino |
destination_addr | Var. máx. 21 | Cadena C-Octeto | Dirección de destino de este mensaje corto. Para mensajes terminados en móvil, este es el número de directorio del MS receptor. |
esm_class | 1 | Entero | Indica el Modo de Mensaje y el Tipo de Mensaje |
protocol_id | 1 | Entero | Identificador de Protocolo. Campo específico de la red. |
priority_flag | 1 | Entero | Designa el nivel de prioridad del mensaje |
schedule_delivery_time | 1 o 17 | Cadena C-Octeto | El mensaje corto debe ser programado por el MC para su entrega.
Se establece como NULL para la entrega inmediata del mensaje. |
validity_period | 1 o 17 | Cadena C-Octeto | El período de validez de este mensaje.
Se establece como NULL para solicitar el período de validez predeterminado del MC.
Nota: esto es reemplazado por el TLV qos_time_to_live si se especifica. |
registered_delivery | 1 | Entero | Indicador para significar si se requiere un recibo de entrega de MC, ACK manual, ACK de entrega o una notificación intermedia. |
replace_if_present_flag | 1 | Entero | Bandera que indica si el mensaje enviado debe reemplazar un mensaje existente. |
data_coding | 1 | Entero | Define el esquema de codificación de los datos de usuario del mensaje corto. |
sm_default_msg_id | 1 | Entero | Indica el mensaje corto a enviar desde una lista de mensajes cortos predefinidos ('enlatados')
almacenados en el MC. Si no se utiliza un mensaje enlatado del MC, se establece como NULL . |
sm_length | 1 | Entero | Longitud en octetos de los datos de usuario del short_message. |
short_message | Var. 0-255 | Cadena de Octetos | Hasta 255 octetos de datos de usuario del mensaje corto.
El límite físico exacto para el tamaño de short_message puede variar según la red subyacente. Nota: este campo es reemplazado por el TLV message_payload si se especifica. |
TLVs de Envío de Mensaje | Var. | TLV |
More information
- Usuario SMPP
- Cómo configurar un servicio SMPP
- Cómo crear un servidor SMPP seguro con SMPPS
- Enlace transceptor SMPP
- Cómo funcionan los PDU submit_sm y deliver_sm de SMPP
- Certificado SSL seguro para SMPP
- Cómo rastrear un SMS en los registros SMPP
- Códigos de error SMPP y estado
- Introducción al protocolo SMS
- Cómo configurar un límite de enlace