Cómo configurar el campo Service Type en SMPP

El campo service_type en el protocolo SMPP (Short Message Peer-to-Peer) define el tipo de servicio de mensajería solicitado al enviar un mensaje. Este campo aparece en varias PDUs de SMPP como submit_sm, data_sm y submit_multi.

Detalles del campo

  • Nombre del campo: service_type
  • Tipo de dato: C-Octet String (ASCII terminado en nulo)
  • Longitud máxima: 6 caracteres (incluyendo el terminador nulo)
  • Propósito: Categorizar el mensaje enviado (ej. buzón de voz, WAP push, etc.)

Valores comunes

Aunque service_type es opcional y a menudo se deja vacío (cadena nula), puede usarse para solicitar un manejo específico del mensaje. Estos son valores comunes:

ValorDescripción
null o ""SMS predeterminado (sin tratamiento especial)
"CMT"Mensajería celular
"CPT"Paginación celular
"VMN"Notificación de buzón de voz
"VMA"Alerta de buzón de voz
"WAP"Mensaje de Wireless Application Protocol
"USSD"Mensaje USSD

Valores personalizados

Algunos operadores o SMSCs pueden soportar valores personalizados como "OTP" o "PROMO" para activar reglas especiales de enrutamiento, filtrado o facturación.

Ejemplo de uso en una PDU

A continuación se muestra una PDU submit_sm de SMPP con service_type = "CMT":

0000003F  // Longitud del comando (63 bytes)
00000004  // ID del comando (submit_sm)
00000000  // Estado del comando
00000001  // Número de secuencia
434D54    // service_type: "CMT" en ASCII
00        // Terminador nulo
01        // source_addr_ton: Internacional
01        // source_addr_npi: ISDN
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
05        // sm_length: 5
48656C6C6F // short_message: "Hello"

Cuándo usar service_type

  • Cuando lo indique su proveedor de SMS para fines de enrutamiento.
  • Para categorizar mensajes (ej. alertas, promociones, 2FA).
  • Para activar servicios como notificaciones de buzón de voz o WAP Push.
  • Para activar lógicas especiales de facturación o entrega.

Notas importantes

  • Dejar service_type vacío es estándar a menos que se requiera lo contrario.
  • Algunos SMSCs pueden ignorar o sobrescribir este campo.
  • Valores incorrectos pueden causar rechazos o fallos en la entrega.

Conclusión

El campo service_type en SMPP es una forma flexible pero a menudo opcional de clasificar mensajes SMS. Aunque muchos sistemas usan el valor vacío predeterminado, ciertas aplicaciones—especialmente aquellas que requieren tratamiento especial por el SMSC—pueden beneficiarse de configurar explícitamente este campo.

Referencias

  • Especificación SMPP 3.4 (Sección 4.7)
  • Documentación SMPP específica de proveedores (ej. Twilio, Infobip, Syniverse)

More information