ESME_RINVTLVVAL en SMPP
¿Qué es ESME_RINVTLVVAL?
ESME_RINVTLVVAL (Código de Error: 0x000000C4) es un error de SMPP que indica que un parámetro Tag-Length-Value (TLV) contiene un valor inválido o inesperado.
Posibles Causas
- El valor TLV no cumple con el formato o rango esperado.
- Se utiliza un tipo de dato incorrecto para el valor TLV.
- Se especifica un valor reservado o no soportado en el campo TLV.
- Errores de codificación o corrupción en los datos TLV.
¿Cuándo Ocurre?
Este error ocurre cuando un ESME envía una solicitud SMPP que contiene un parámetro TLV cuyo valor es inválido o no coincide con el formato esperado definido en la especificación SMPP.
Ejemplo de Transacción PDU en SMPP
PDU de Solicitud (submit_sm
) Enviada por ESME con un Valor TLV Inválido
00000040 (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 (Indicador de Prioridad) 00000000 (Tiempo de Entrega Programada - No Establecido) 00000000 (Período de Validez - No Establecido) 00 (Indicador de Reemplazo Si Presente) 00 (ID de Mensaje Predeterminado Sm) 0005 (Longitud del Mensaje) 48656C6C 6F (Mensaje: "Hello") 0421 0002 FFFF (TLV Inválido: El valor 0xFFFF no está permitido)
PDU de Respuesta (submit_sm_resp
) con ESME_RINVTLVVAL
00000010 (Longitud) 80000004 (ID de Comando para submit_sm_resp) 000000C4 (Estado del Comando - ESME_RINVTLVVAL) 00000001 (Número de Secuencia)
Problema: El TLV (Etiqueta 0x0421) contiene un valor inválido (0xFFFF), que no está dentro del rango aceptable.
¿Cómo Solucionarlo?
- Verifica la especificación SMPP para los valores válidos del parámetro TLV.
- Asegúrate de que el valor esté dentro del rango aceptable y correctamente formateado.
- Utiliza el tipo de dato y codificación correctos para el campo TLV.
- Valida los datos TLV antes de enviar la solicitud.
- Usa un simulador SMPP o analizador de protocolos para inspeccionar la estructura PDU.
Corregir el valor TLV para que coincida con el rango permitido resolverá este problema.