ESME_RINVSCHED en SMPP
¿Qué es ESME_RINVSCHED?
ESME_RINVSCHED (Código de Error: 0x00000061) es un error de SMPP que indica que el campo schedule_delivery_time
en una solicitud submit_sm
contiene un formato o valor inválido.
Posibles Causas
- El campo
schedule_delivery_time
no tiene el formato correcto. - La fecha y hora proporcionadas están en un formato no soportado.
- El SMSC no soporta la entrega programada de mensajes.
- La hora programada está en el pasado.
¿Cuándo Ocurre?
Este error ocurre cuando un ESME envía un SMS con un campo schedule_delivery_time
mal formateado.
Ejemplo de Transacción SMPP PDU
PDU submit_sm
Incorrecta (Hora de Entrega Programada Inválida)
0000003F (Longitud) 00000004 (ID de Comando para submit_sm) 00000000 (Estado del Comando) 00000001 (Número de Secuencia) 00 (Tipo de Servicio) 01 (TON de Dirección de Origen - Internacional) 01 (NPI de Dirección de Origen - ISDN) 31323334 00 (Dirección de Origen: "1234") 01 (TON de Dirección de Destino - Internacional) 01 (NPI de Dirección de Destino - ISDN) 39383736 00 (Dirección de Destino: "9876") 00 (Clase ESM) 00 (ID de Protocolo) 00 (Bandera de Prioridad) 31323039 3031303030303030 00 (Hora de Entrega Programada Inválida) 00000000 (Período de Validez - No Establecido) 00 (Bandera Reemplazar Si Presente) 00 (ID de Mensaje Predeterminado) 0005 (Longitud del Mensaje) 48656C6C 6F (Mensaje: "Hello")
PDU de Respuesta (submit_sm_resp
) con ESME_RINVSCHED
00000010 (Longitud) 80000004 (ID de Comando para submit_sm_resp) 00000061 (Estado del Comando - ESME_RINVSCHED) 00000001 (Número de Secuencia)
Problema: El campo schedule_delivery_time
está mal formateado, lo que provoca el rechazo por parte del SMSC.
¿Cómo Solucionarlo?
- Asegúrate de que el campo
schedule_delivery_time
siga el formato de tiempo absoluto o relativo de SMPP: - Formato de Tiempo Absoluto:
YYMMDDhhmmss000R
(ej.,240211153000000R
para 11 de Feb, 2024, 15:30:00 UTC) - Formato de Tiempo Relativo:
000001000000000R
(entrega en 1 hora a partir de ahora) - Asegúrate de que la hora programada sea en el futuro.
- Verifica con el proveedor del SMSC si soporta entrega programada.
- Usa caracteres de terminación correctos (ej.,
00
para cadenas terminadas en NULL).
Si el problema persiste, revisa los logs de SMPP y asegúrate de usar el formato de programación correcto.