ESME_RINVPRTFLG dans SMPP
Qu'est-ce que ESME_RINVPRTFLG ?
ESME_RINVPRTFLG (Code d'erreur : 0x0000000D) est une erreur SMPP indiquant qu'un drapeau de priorité invalide a été spécifié dans la requête SMPP.
Causes possibles
- Le champ
priority_flag
dans le PDU contient une valeur invalide. - Une valeur de priorité non supportée est utilisée et n'est pas reconnue par le SMSC.
- Un PDU corrompu ou malformé où le
priority_flag
est incorrectement défini.
Quand cela se produit-il ?
Cette erreur se produit lors de l'envoi d'un PDU SMPP (comme submit_sm
) avec une valeur de drapeau de priorité incorrecte ou non supportée.
Exemple de transaction PDU SMPP
Voici un exemple de PDU submit_sm
incorrect avec une valeur de priority_flag
invalide :
0000002C (Longueur) 00000004 (ID de commande pour submit_sm) 00000000 (Statut de commande) 00000002 (Numéro de séquence) 00000000 (Type de service) 35363137 38363530 30303000 (Adresse de destination) FF (Drapeau de priorité invalide) 00000000 (Longueur du message) 48656C6C6F (Message : "Hello")
Problème : Le champ priority_flag
contient 0xFF
, ce qui est invalide.
Exemple de PDU submit_sm
correct avec un drapeau de priorité valide :
0000002C (Longueur) 00000004 (ID de commande pour submit_sm) 00000000 (Statut de commande) 00000002 (Numéro de séquence) 00000000 (Type de service) 35363137 38363530 30303000 (Adresse de destination) 01 (Drapeau de priorité valide) 00000000 (Longueur du message) 48656C6C6F (Message : "Hello")
Comment le résoudre ?
- Assurez-vous que le champ
priority_flag
a une valeur valide : 0
– Niveau 0 (priorité la plus basse, par défaut)1
– Niveau 12
– Niveau 23
– Niveau 3 (priorité la plus élevée)- Consultez la documentation du SMSC pour les valeurs de priorité supportées.
- Validez la structure du PDU avant l'envoi.
- Activez le débogage SMPP pour enregistrer et inspecter les PDUs.
Si le problème persiste, contactez votre fournisseur SMSC pour confirmer les valeurs de drapeau de priorité autorisées.