ESME_RTLVNOTALLWD dans SMPP

Qu'est-ce que ESME_RTLVNOTALLWD ?

ESME_RTLVNOTALLWD (Code d'erreur : 0x00000068) est une erreur SMPP indiquant qu'un paramètre Tag-Length-Value (TLV) inclus dans la requête n'est pas autorisé ou n'est pas pris en charge par le SMSC.

Causes possibles

  • La requête contient un paramètre TLV invalide ou non pris en charge.
  • Le TLV n'est pas applicable pour le type de requête envoyée.
  • Le SMSC a des politiques strictes sur les TLVs pouvant être inclus.
  • Formatage ou encodage incorrect des champs TLV.

Quand cela se produit-il ?

Cette erreur se produit lorsqu'un ESME inclut un TLV non pris en charge dans une requête SMPP, et que le SMSC rejette la requête en raison de limitations de politique ou de capacité.

Exemple de transaction PDU SMPP

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

00000040 (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")
0421 0001 01 (TLV invalide : Tag 0x0421, Longueur 1, Valeur 01)

Réponse PDU (submit_sm_resp) avec ESME_RTLVNOTALLWD

00000010 (Longueur)
80000004 (ID de commande pour submit_sm_resp)
00000068 (Statut de commande - ESME_RTLVNOTALLWD)
00000001 (Numéro de séquence)

Problème : Le SMSC a rejeté la requête en raison de la présence d'un TLV non pris en charge (par exemple, Tag 0x0421).

Comment le résoudre ?

  • Vérifiez la spécification SMPP pour les paramètres TLV valides pour l'opération spécifique.
  • Supprimez tous les TLVs inutiles de la requête.
  • Assurez-vous que les valeurs TLV sont correctement formatées et dans les plages autorisées.
  • Consultez le fournisseur du SMSC pour obtenir une liste des TLVs pris en charge.
  • Testez sans le TLV pour confirmer qu'il est la cause du rejet.

Résoudre ce problème nécessite de vérifier l'utilisation correcte des TLVs et de s'aligner sur les capacités du SMSC.

More information