Cómo configurar el campo de Prioridad en SMPP
¿Qué es el campo de Prioridad?
La Bandera de Prioridad en SMPP (Protocolo de Mensajes Cortos entre Pares) es un campo de 1 byte en las PDUs de SMPP como submit_sm
y deliver_sm
.
Indica la urgencia de un mensaje, influyendo en cómo los SMSCs (Centros de Servicio de Mensajes Cortos) manejan la cola, los reintentos de entrega y el enrutamiento.
Los casos de uso clave incluyen:
- Priorizar alertas de emergencia sobre SMS promocionales
- Optimizar la asignación de recursos de red
- Cumplir con los requisitos SLA para mensajes de alta prioridad
Valores del campo de Prioridad e interpretación
Definido en SMPP v3.4, la bandera de prioridad utiliza un valor de 4 bits (aunque normalmente solo se usan los valores 0-3):
Prioridad (Hex) | Decimal | Descripción |
---|---|---|
0x00 | 0 | Prioridad más baja (mensajes masivos) |
0x01 | 1 | Prioridad normal (SMS estándar) |
0x02 | 2 | Prioridad interactiva (sensibles al tiempo) |
0x03 | 3 | Prioridad más alta (alertas de emergencia) |
Cómo afecta la Prioridad al manejo de mensajes
1. Comportamiento en colas
Los mensajes de alta prioridad avanzan en las colas de los SMSC. Ejemplo:
Prioridad 3: Entregado antes que mensajes con Prioridad 0
2. Reintentos de entrega
Las prioridades más altas pueden obtener más intentos de reintento. Ejemplo de política de SMSC:
Prioridad 3: 5 reintentos en 24 horas Prioridad 0: 2 reintentos en 2 horas
3. Enrutamiento de red
Algunos SMSCs enrutan mensajes de alta prioridad a través de canales dedicados.
Ejemplos de PDUs SMPP
Ejemplo 1: SMS masivo (Prioridad=0x00)
0000001D // Longitud del comando (29 bytes) 00000004 // ID del comando (SubmitSM) 00000001 // Número de secuencia 00 // TON de origen 00 // NPI de origen 736F7572636500 // Dirección de origen ("source") 00 // TON de destino 00 // NPI de destino 36353433323100 // Dirección de destino ("654321") 00 // Clase ESM 00 // ID de protocolo (PID) 00 // Bandera de Prioridad (0x00: Más baja) 00 // Tiempo de entrega programada 00 // Período de validez 00 // Entrega registrada 00 // Reemplazar-si-presente 00 // Codificación de datos (DCS=0x00) 00 // ID de mensaje predeterminado SM 07 // Longitud SM (7 septetos) C8329BFD06DDDF72 // Carga útil ("¡Hola!")
Ejemplo 2: Alerta de emergencia (Prioridad=0x03)
0000001D // Longitud del comando (29 bytes) 00000004 // ID del comando (SubmitSM) 00000002 // Número de secuencia 00 // TON de origen 00 // NPI de origen 736F7572636500 // Dirección de origen ("source") 00 // TON de destino 00 // NPI de destino 36353433323100 // Dirección de destino ("654321") 00 // Clase ESM 00 // ID de protocolo (PID) 03 // Bandera de Prioridad (0x03: Más alta) 00 // Tiempo de entrega programada FF // Período de validez (máximo) 01 // Entrega registrada (recibo) 00 // Reemplazar-si-presente 00 // Codificación de datos (DCS=0x00) 00 // ID de mensaje predeterminado SM 0A // Longitud SM (10 septetos) E8329BFD0E... // Carga útil ("ALERTA: ¡Inundación!")
Interacciones con otros campos
- Bits de Prioridad en Clase ESM: Los bits 3-2 de la Clase ESM pueden anular este campo en algunos SMSCs.
- validity_period: Los mensajes de alta prioridad suelen tener una validez más corta (ej., 1 hora vs 3 días).
- registered_delivery: Los mensajes con Prioridad 3 frecuentemente requieren recibos de entrega.
Errores comunes
- Asumir que todos los SMSCs respetan los niveles de prioridad (verificar con el proveedor)
- Confundir la Prioridad SMPP con
TP-Status-Report-Indication
de GSM - Establecer Prioridad=3 para contenido no urgente (puede violar regulaciones)
- Incompatibilidad entre Prioridad y validity_period (ej., Prioridad=3 con validez=7 días)
Algunos países restringen el uso de Prioridad=3 a entidades autorizadas (ej., alertas gubernamentales).
Prioridad vs Bits de Prioridad en Clase ESM
Campo | Bits | Niveles de Prioridad | Uso típico |
---|---|---|---|
Bandera de Prioridad SMPP | Octeto completo | 0-3 | Prioridad de extremo a extremo |
Clase ESM (bits 3-2) | 2 bits | 00=Normal, 01=Interactivo, 10=Urgente, 11=Emergencia | Priorización a nivel de red |
Conclusión
El campo de Prioridad es crucial para gestionar la urgencia en la entrega de SMS, pero requiere coordinación cuidadosa con las capacidades del SMSC y las regulaciones. Siempre pruebe el comportamiento de prioridad con su proveedor y alinee la configuración con las pautas locales de telecomunicaciones. Para implementaciones detalladas, consulte la Sección 5.2.12 de SMPP v3.4 y la documentación de GSM 03.40.
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