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.

More information