ESME_RINVTLVLEN dans SMPP
Qu'est-ce que ESME_RINVTLVLEN ?
ESME_RINVTLVLEN (Code d'erreur : 0x000000C2) est une erreur SMPP indiquant qu'un paramètre Tag-Length-Value (TLV) dans la requête a une longueur invalide, ce qui signifie que la longueur spécifiée ne correspond pas à la longueur réelle des données.
Causes possibles
- Le champ de longueur TLV ne correspond pas à la taille attendue pour le tag TLV donné.
- La longueur fournie est plus courte ou plus longue que celle requise par la spécification SMPP.
- La structure TLV est corrompue ou malformée.
- Erreurs d'encodage dans le champ TLV.
Quand cela se produit-il ?
Cette erreur se produit lorsqu'un ESME envoie une requête SMPP contenant un paramètre TLV où le champ de longueur ne correspond pas correctement à la taille réelle de la valeur.
Exemple de transaction PDU SMPP
PDU de requête (submit_sm
) envoyée par l'ESME avec une longueur 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 0004 01 (TLV invalide : Longueur spécifiée 4, Données réelles 1 octet)
PDU de réponse (submit_sm_resp
) avec ESME_RINVTLVLEN
00000010 (Longueur) 80000004 (ID de commande pour submit_sm_resp) 000000C2 (Statut de commande - ESME_RINVTLVLEN) 00000001 (Numéro de séquence)
Problème : Le TLV (Tag 0x0421) spécifie une longueur de 4 octets, mais la valeur réelle fournie n'est que de 1 octet.
Comment le résoudre ?
- Vérifiez la spécification SMPP pour confirmer les exigences de longueur TLV correctes.
- Assurez-vous que le champ de longueur reflète avec précision la taille réelle des données.
- Validez la structure TLV avant d'envoyer la requête.
- Utilisez un simulateur SMPP ou un analyseur de paquets pour inspecter la structure PDU.
- Supprimez ou corrigez le TLV problématique et testez à nouveau.
Corriger le champ de longueur TLV pour qu'il corresponde à la taille réelle de la valeur résoudra ce problème.
More information
- Opération SMPP ESME_ROK
- Comment résoudre ESME_RINVCMDLEN dans SMPP
- Code d'erreur SMPP ESME RINVMSGLEN
- Code d'erreur SMPP ESME_RINVCMDID
- Code d'erreur SMPP ESME_RINVBNDSTS
- Code d'erreur SMPP ESME_RALYBND
- Code d'erreur SMPP ESME_RINVPRTFLG
- Code d'erreur SMPP ESME_RINVREGDLVFLG
- Code d'erreur SMPP ESME_RSYSERR
- Code d'erreur SMPP ESME_RINVSRCADR
- Code d'erreur SMPP ESME_RINVDSTADR
- Erreur SMPP ID de message invalide
- Code d'erreur SMPP ESME_RBINDFAIL
- Code d'erreur SMPP ESME_RINVPASWD
- Code d'erreur SMPP ESME_RINVSYSID
- Code d'erreur SMPP ESME_RCANCELFAIL
- Code d'erreur SMPP ESME_RREPLACEFAIL
- Code d'erreur SMPP ESME_RMSGQFUL
- Code d'erreur SMPP ESME_RINVSERTYP
- Code d'erreur SMPP ESME_RINVNUMDESTS
- Code d'erreur SMPP ESME_RINVDLNAME
- Code d'erreur SMPP ESME_RINVDESTFLAG
- Code d'erreur SMPP ESME_RINVSUBREP
- Code d'erreur SMPP ESME_RINVESMCLASS
- Code d'erreur SMPP ESME_RCNTSUBDL
- Code d'erreur SMPP ESME_RSUBMITFAIL
- Code d'erreur SMPP ESME_RINVSRCTON
- Code d'erreur SMPP ESME_RINVSRCNPI
- Code d'erreur SMPP ESME_RINVDSTTON
- Code d'erreur SMPP ESME_RINVDSTNPI
- Code d'erreur SMPP ESME_RINVSYSTYP
- Code d'erreur SMPP ESME_RINVREPFLAG
- Code d'erreur SMPP ESME_RINVNUMMSGS
- Code d'erreur SMPP ESME_RTHROTTLED
- Code d'erreur SMPP ESME_RINVSCHED
- Code d'erreur SMPP ESME_RINVEXPIRY
- Code d'erreur SMPP ESME_RINVDFTMSGID
- Code d'erreur SMPP ESME_RX_T_APPN
- Code d'erreur SMPP ESME_RX_P_APPN
- Code d'erreur SMPP ESME_RX_R_APPN
- Code d'erreur SMPP ESME_RQUERYFAIL
- Code d'erreur SMPP ESME_RINVTLVSTREAM
- Code d'erreur SMPP ESME_RTLVNOTALLWD
- Code d'erreur SMPP ESME_RINVTLVLEN
- Code d'erreur SMPP ESME_RMISSINGTLV
- Code d'erreur SMPP ESME_RINVTLVVAL
- Code d'erreur SMPP ESME_RDELIVERYFAILURE
- Code d'erreur SMPP ESME_RUNKNOWNERR
- Code d'erreur SMPP ESME_RSERTYPUNAUTH
- ESME_RPROHIBITED
- Code d'erreur SMPP ESME_RSERTYPUNAVAIL
- Code d'erreur SMPP ESME_RSERTYPDENIED
- Code d'erreur SMPP ESME_RINVDCS
- Code d'erreur SMPP ESME_RINVSRCADDRSUBUNIT
- Code d'erreur SMPP ESME_RINVBCASTFREQINT
- Code d'erreur SMPP ESME_RINVBCASTALIAS_NAME
- Code d'erreur SMPP ESME_RINVBCASTAREAFMT
- Code d'erreur SMPP ESME_RINVNUMBCAST_AREAS
- Code d'erreur SMPP ESME_RINVBCASTCNTTYPE
- Code d'erreur SMPP ESME_RINVBCASTMSGCLASS
- Code d'erreur SMPP ESME_RBCASTFAIL
- Code d'erreur SMPP ESME_RBCASTQUERYFAIL
- Code d'erreur SMPP ESME_RBCASTCANCELFAIL
- Code d'erreur SMPP ESME_RINVBCAST_REP
- Code d'erreur SMPP ESME_RINVBCASTSRVGRP
- Code d'erreur SMPP ESME_RINVBCASTCHANIND
- Code d'erreur SMPP réservé