ESME_RINVMSGID en SMPP
¿Qué es ESME_RINVMSGID?
ESME_RINVMSGID (Código de Error: 0x0000000C) es un error de SMPP que indica que el ID de mensaje proporcionado es inválido o no reconocido por el SMSC.
Causas Posibles
- El campo
message_id
en la solicitud está ausente o mal formateado. - El ID de mensaje no existe en el SMSC.
- El ID de mensaje ha expirado o ha sido eliminado de la base de datos del SMSC.
- Se proporcionó un ID de mensaje previamente usado en lugar de uno válido.
- El ID de mensaje no está asociado con la ESME (Entidad Externa de Mensajes Cortos) que realiza la solicitud.
¿Cuándo Ocurre?
Este error ocurre al enviar un PDU de SMPP (como query_sm
o cancel_sm
) con un ID de mensaje inválido o no reconocido.
Ejemplo de Transacción PDU SMPP
PDU query_sm
Incorrecto (ID de Mensaje Inválido)
0000001D (Longitud) 00000003 (ID de Comando para query_sm) 00000000 (Estado del Comando) 00000002 (Número de Secuencia) 00000000 (Tipo de Servicio) 31323334 35363738 39300000 (ID de Mensaje Inválido: "1234567890")
PDU de Respuesta (query_sm_resp
) con ESME_RINVMSGID
00000010 (Longitud) 80000003 (ID de Comando para query_sm_resp) 0000000C (Estado del Comando - ESME_RINVMSGID) 00000002 (Número de Secuencia)
Problema: El ID de mensaje proporcionado ("1234567890") es incorrecto o no se encuentra en la base de datos del SMSC.
¿Cómo Solucionarlo?
- Asegúrate de usar el ID de mensaje correcto de una respuesta previa de
submit_sm_resp
. - Verifica que el ID de mensaje no haya expirado o sido eliminado del SMSC.
- Revisa errores de formato en el campo
message_id
(ej., terminador nulo faltante). - Confirma que el ID de mensaje pertenezca a la ESME que realiza la solicitud.
- Habilita registros de depuración para inspeccionar los valores exactos enviados en el PDU.
Si el problema persiste, contacta al proveedor del SMSC para verificar la validez del ID de mensaje.