ESME_RMISSINGTLV en SMPP

¿Qué es ESME_RMISSINGTLV?

ESME_RMISSINGTLV (Código de Error: 0x000000C3) es un error de SMPP que indica que falta un parámetro obligatorio Tag-Length-Value (TLV) en la solicitud.

Causas Posibles

  • Se omite un parámetro TLV requerido en el PDU de SMPP.
  • La estructura de la solicitud no cumple con la especificación de SMPP.
  • La aplicación que envía la solicitud no incluye un TLV necesario.

¿Cuándo Ocurre?

Este error ocurre cuando un ESME envía una solicitud SMPP que requiere un TLV específico, pero el TLV no está incluido en el PDU.

Ejemplo de Transacción SMPP PDU

PDU de Solicitud (submit_sm) Enviada por ESME Sin un TLV Obligatorio

0000003C (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 Programada - 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")

PDU de Respuesta (submit_sm_resp) con ESME_RMISSINGTLV

00000010 (Longitud)
80000004 (ID de Comando para submit_sm_resp)
000000C3 (Estado del Comando - ESME_RMISSINGTLV)
00000001 (Número de Secuencia)

Problema: Falta un TLV obligatorio (por ejemplo, message_payload o source_subaddress) en la solicitud.

¿Cómo Solucionarlo?

  • Consulta la especificación de SMPP para los TLVs obligatorios requeridos para el comando.
  • Asegúrate de que la aplicación incluya todos los parámetros TLV requeridos.
  • Usa un simulador de SMPP o un analizador de paquetes para verificar la estructura del PDU.
  • Modifica la solicitud para incluir el TLV faltante y reintenta.

Agregar el parámetro TLV requerido resolverá este problema.

More information