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 en short_message.
  • Si sm_default_msg_id > 0, se utiliza el mensaje con ese ID, y el campo short_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 completamente short_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