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_flag en 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_flag está 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_flag tenga un valor válido:
    • 0 – Nivel 0 (prioridad más baja, predeterminado)
    • 1 – Nivel 1
    • 2 – Nivel 2
    • 3 – 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.

More information