Cómo configurar el campo sm_default_msg_id
El campo sm_default_msg_id
es parte de las PDUs submit_sm
y deliver_sm
en el protocolo SMPP (Short Message Peer-to-Peer). Se utiliza para hacer referencia a mensajes cortos predefinidos (incorporados) almacenados en el SMSC, generalmente mediante un ID numérico.
Detalles del campo
- Nombre del campo: sm_default_msg_id
- Tamaño: 1 byte (entero sin signo)
- Rango: 0–255
- Uso: Indica qué mensaje predeterminado enviar (si corresponde)
Descripción de uso
El campo sm_default_msg_id
permite a un usuario solicitar que el SMSC envíe un mensaje predefinido desde su almacén interno de mensajes. Esto puede ser útil en entornos restringidos o para enviar mensajes estándar del sistema sin transmitir el texto completo cada vez.
Comportamiento predeterminado
- Si
sm_default_msg_id = 0
, se utiliza el contenido del mensaje definido por el usuario enshort_message
. - Si
sm_default_msg_id > 0
, se utiliza el mensaje con ese ID, y el camposhort_message
normalmente debe estar vacío o ser ignorado por el SMSC.
Práctica común
En la mayoría de los sistemas y APIs modernos de SMS, sm_default_msg_id
no se utiliza y normalmente se establece en 0
. El contenido real del mensaje se envía a través del campo short_message
.
Ejemplo de PDU con valor predeterminado
0000003B // Longitud del comando (59 bytes) 00000004 // ID del comando: submit_sm 00000000 // Estado del comando 00000001 // Número de secuencia 00 // service_type 01 // source_addr_ton 01 // source_addr_npi 31323334 // source_addr ("1234") 00 01 // dest_addr_ton 01 // dest_addr_npi 35363738 // destination_addr ("5678") 00 00 // esm_class 00 // protocol_id 00 // priority_flag 00 // schedule_delivery_time 00 // validity_period 00 // registered_delivery 00 // replace_if_present_flag 00 // data_coding 00 // sm_default_msg_id = 0 (usar short_message) 05 // sm_length 48656C6C6F // short_message = "Hola"
Ejemplo de PDU con ID de mensaje predefinido
... 00 // sm_default_msg_id = 1 (usar mensaje predefinido 1) 00 // sm_length (vacío) // short_message está vacío o se ignora
Cuándo usarlo
Aunque es poco común, podrías usar sm_default_msg_id
cuando:
- Trabajas con implementaciones heredadas de SMSC que admiten mensajes predefinidos
- Envías alertas del sistema o plantillas repetitivas de alto volumen almacenadas en el SMSC
- Tu proveedor de SMS te recomienda usar esta función
Consideraciones importantes
- Si
sm_default_msg_id > 0
, algunos SMSC pueden ignorar completamenteshort_message
. - Si se usan ambos, el comportamiento depende de la implementación. Siempre prueba o consulta la documentación.
- Establecer un valor distinto de cero sin un ID de mensaje predefinido válido puede resultar en fallos de entrega o rechazo del mensaje.
Conclusión
El campo sm_default_msg_id
es una función heredada del protocolo SMPP que permite hacer referencia a plantillas de mensajes predeterminados almacenados en el SMSC. Aunque en gran medida no se utiliza en sistemas modernos, entender su función ayuda a garantizar la compatibilidad al trabajar con pasarelas heredadas o implementaciones personalizadas de SMSC.
Referencias
- Especificación del protocolo SMPP 3.4
- Documentación específica del proveedor para SMSC SMPP
More information
- How to configure the SMPP Service Type field
- How to configure the SMPP Phone Number fields
- How to configure the SMPP ESM Class field
- How to configure the SMPP PID field
- How to configure the SMPP Prioirity field
- How to configure the SMPP Scheduled Time field
- How to configure the SMPP Validity Period field
- How to configure the SMPP Registered Delivery field
- How to configure the SMPP Replace if Present field
- How to configure the sm_default_msg_id field
- How to configure the SMPP DCS field
- How to calculate the SMPP SM Length field
- How to put data into the SMPP SM field