ESME_RINVPRTFLG en SMPP
¿Qué es ESME_RINVPRTFLG?
ESME_RINVPRTFLG (Código de Error: 0x0000000D) es un error de SMPP que indica que se especificó una bandera de prioridad inválida en la solicitud SMPP.
Posibles Causas
- El campo
priority_flagen la PDU contiene un valor inválido. - Se utilizó un valor de prioridad no soportado que no es reconocido por el SMSC.
- PDU corrupta o malformada donde el
priority_flagestá configurado incorrectamente.
¿Cuándo Ocurre?
Este error ocurre al enviar una PDU SMPP (como submit_sm) con un valor de bandera de prioridad incorrecto o no soportado.
Ejemplo de Transacción PDU SMPP
El siguiente es un ejemplo de una PDU submit_sm incorrecta con un valor inválido en priority_flag:
0000002C (Longitud) 00000004 (ID de Comando para submit_sm) 00000000 (Estado del Comando) 00000002 (Número de Secuencia) 00000000 (Tipo de Servicio) 35363137 38363530 30303000 (Dirección de Destino) FF (Banderera de Prioridad Inválida) 00000000 (Longitud del Mensaje) 48656C6C6F (Mensaje: "Hello")
Problema: El campo priority_flag contiene 0xFF, que es inválido.
Ejemplo correcto de PDU submit_sm con una bandera de prioridad válida:
0000002C (Longitud) 00000004 (ID de Comando para submit_sm) 00000000 (Estado del Comando) 00000002 (Número de Secuencia) 00000000 (Tipo de Servicio) 35363137 38363530 30303000 (Dirección de Destino) 01 (Banderera de Prioridad Válida) 00000000 (Longitud del Mensaje) 48656C6C6F (Mensaje: "Hello")
¿Cómo Solucionarlo?
- Asegúrese de que el campo
priority_flagtenga un valor válido: 0– Nivel 0 (prioridad más baja, predeterminado)1– Nivel 12– Nivel 23– Nivel 3 (prioridad más alta)- Consulte la documentación del SMSC para ver los valores de prioridad soportados.
- Valide la estructura de la PDU antes de enviarla.
- Habilite la depuración SMPP para registrar e inspeccionar las PDUs.
Si el problema persiste, contacte a su proveedor de SMSC para confirmar los valores permitidos de la bandera de prioridad.