ESME_RTLVNOTALLWD en SMPP
¿Qué es ESME_RTLVNOTALLWD?
ESME_RTLVNOTALLWD (Código de Error: 0x00000068) es un error de SMPP que indica que un parámetro Tag-Length-Value (TLV) incluido en la solicitud no está permitido o no es compatible con el SMSC.
Causas Posibles
- La solicitud contiene un parámetro TLV inválido o no soportado.
- El TLV no es aplicable para el tipo de solicitud enviada.
- El SMSC tiene políticas estrictas sobre qué TLVs pueden incluirse.
- Formato o codificación incorrecta de los campos TLV.
¿Cuándo Ocurre?
Este error ocurre cuando un ESME incluye un TLV no soportado en una solicitud SMPP, y el SMSC rechaza la solicitud debido a limitaciones de políticas o capacidades.
Ejemplo de Transacción PDU en SMPP
PDU de Solicitud (submit_sm
) Enviada por ESME con un 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 (Bandera de Prioridad) 00000000 (Tiempo de Entrega Programado - No Establecido) 00000000 (Período de Validez - No Establecido) 00 (Bandera de Reemplazo Si Presente) 00 (ID de Mensaje Predeterminado Sm) 0005 (Longitud del Mensaje) 48656C6C 6F (Mensaje: "Hello") 0421 0001 01 (TLV Inválido: Etiqueta 0x0421, Longitud 1, Valor 01)
PDU de Respuesta (submit_sm_resp
) con ESME_RTLVNOTALLWD
00000010 (Longitud) 80000004 (ID de Comando para submit_sm_resp) 00000068 (Estado del Comando - ESME_RTLVNOTALLWD) 00000001 (Número de Secuencia)
Problema: El SMSC rechazó la solicitud debido a la presencia de un TLV no soportado (ej., Etiqueta 0x0421).
¿Cómo Solucionarlo?
- Verifica la especificación SMPP para parámetros TLV válidos para la operación específica.
- Elimina cualquier TLV innecesario de la solicitud.
- Asegúrate de que los valores TLV estén correctamente formateados y dentro de los rangos permitidos.
- Consulta con el proveedor del SMSC para obtener una lista de TLVs soportados.
- Prueba sin el TLV para confirmar que es la causa del rechazo.
Resolver este problema requiere verificar el uso correcto del TLV y alinearse con las capacidades del SMSC.