ESME_RMISSINGTLV dans SMPP

Qu'est-ce que ESME_RMISSINGTLV ?

ESME_RMISSINGTLV (Code d'erreur : 0x000000C3) est une erreur SMPP indiquant qu'un paramètre Tag-Length-Value (TLV) obligatoire est manquant dans la requête.

Causes possibles

  • Un paramètre TLV obligatoire est omis dans la PDU SMPP.
  • La structure de la requête ne respecte pas la spécification SMPP.
  • L'application envoyant la requête ne parvient pas à inclure un TLV nécessaire.

Quand cela se produit-il ?

Cette erreur se produit lorsqu'un ESME envoie une requête SMPP nécessitant un TLV spécifique, mais que ce TLV n'est pas inclus dans la PDU.

Exemple de transaction PDU SMPP

Requête PDU (submit_sm) envoyée par l'ESME sans un TLV obligatoire

0000003C (Longueur)
00000004 (ID de commande pour submit_sm)
00000000 (Statut de commande)
00000001 (Numéro de séquence)
00 (Type de service)
01 (TON de l'adresse source - International)
01 (NPI de l'adresse source - ISDN)
31323334 00 (Adresse source : "1234")
01 (TON de l'adresse de destination - International)
01 (NPI de l'adresse de destination - ISDN)
39383736 00 (Adresse de destination : "9876")
00 (Classe ESM)
00 (ID de protocole)
00 (Drapeau de priorité)
00000000 (Heure de livraison planifiée - Non définie)
00000000 (Période de validité - Non définie)
00 (Drapeau de remplacement si présent)
00 (ID de message par défaut Sm)
0005 (Longueur du message)
48656C6C 6F (Message : "Hello")

Réponse PDU (submit_sm_resp) avec ESME_RMISSINGTLV

00000010 (Longueur)
80000004 (ID de commande pour submit_sm_resp)
000000C3 (Statut de commande - ESME_RMISSINGTLV)
00000001 (Numéro de séquence)

Problème : Un TLV obligatoire (par exemple, message_payload ou source_subaddress) est requis mais manquant dans la requête.

Comment le résoudre ?

  • Vérifiez la spécification SMPP pour les TLVs obligatoires requis pour la commande.
  • Assurez-vous que l'application inclut tous les paramètres TLV requis.
  • Utilisez un simulateur SMPP ou un analyseur de paquets pour vérifier la structure de la PDU.
  • Modifiez la requête pour inclure le TLV manquant et réessayez.

L'ajout du paramètre TLV requis résoudra ce problème.

More information