ESME_RINVEXPIRY dans SMPP
Qu'est-ce que ESME_RINVEXPIRY ?
ESME_RINVEXPIRY (Code d'erreur : 0x00000062) est une erreur SMPP indiquant que le champ validity_period
dans une requête submit_sm
contient un format ou une valeur invalide.
Causes possibles
- Le champ
validity_period
est mal formaté. - La date et l'heure fournies sont dans un format non pris en charge.
- La période de validité est définie dans le passé ou dépasse la limite maximale du SMSC.
- Le SMSC ne prend pas en charge le format d'expiration fourni.
Quand cela se produit-il ?
Cette erreur se produit lorsqu'un ESME soumet un SMS avec un champ validity_period
invalide, ce qui entraîne le rejet de la requête par le SMSC.
Exemple de transaction PDU SMPP
PDU submit_sm
incorrecte (Période de validité invalide)
0000003F (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) 31323039 3031303030303030 00 (Période de validité invalide) 00 (Drapeau de remplacement si présent) 00 (ID de message par défaut Sm) 0005 (Longueur du message) 48656C6C 6F (Message : "Hello")
PDU de réponse (submit_sm_resp
) avec ESME_RINVEXPIRY
00000010 (Longueur) 80000004 (ID de commande pour submit_sm_resp) 00000062 (Statut de commande - ESME_RINVEXPIRY) 00000001 (Numéro de séquence)
Problème : Le champ validity_period
est mal formaté, ce qui entraîne le rejet du message par le SMSC.
Comment le résoudre ?
- Assurez-vous que le
validity_period
suit le format de temps absolu ou relatif SMPP correct : - Format de temps absolu :
YYMMDDhhmmss000R
(ex. :240211153000000R
pour le 11 fév. 2024 à 15:30:00 UTC) - Format de temps relatif :
000001000000000R
(valable pour 1 heure à partir de maintenant) - Assurez-vous que l'heure d'expiration est dans le futur.
- Vérifiez auprès du fournisseur SMSC s'il existe des limites sur les périodes de validité.
- Utilisez les caractères de terminaison corrects (ex. :
00
pour les chaînes terminées par NULL).
Si le problème persiste, activez le débogage SMPP et vérifiez le format du validity_period
dans la requête.