ESME_RINVSCHED dans SMPP
Qu'est-ce que ESME_RINVSCHED ?
ESME_RINVSCHED (Code d'erreur : 0x00000061) est une erreur SMPP indiquant que le champ schedule_delivery_time
dans une requête submit_sm
contient un format ou une valeur invalide.
Causes possibles
- Le champ
schedule_delivery_time
n'est pas dans le format correct. - La date et l'heure fournies sont dans un format non pris en charge.
- Le SMSC ne prend pas en charge la livraison programmée des messages.
- L'heure programmée est dans le passé.
Quand cela se produit-il ?
Cette erreur se produit lorsqu'un ESME soumet un SMS avec un champ schedule_delivery_time
mal formaté.
Exemple de transaction SMPP PDU
PDU submit_sm
incorrecte (Heure de livraison programmée 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é) 31323039 3031303030303030 00 (Heure de livraison programmée invalide) 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")
PDU de réponse (submit_sm_resp
) avec ESME_RINVSCHED
00000010 (Longueur) 80000004 (ID de commande pour submit_sm_resp) 00000061 (Statut de commande - ESME_RINVSCHED) 00000001 (Numéro de séquence)
Problème : Le champ schedule_delivery_time
est mal formaté, ce qui entraîne son rejet par le SMSC.
Comment le résoudre ?
- Assurez-vous que le champ
schedule_delivery_time
suit le format de temps absolu ou relatif SMPP correct : - Format de temps absolu :
YYMMDDhhmmss000R
(par exemple,240211153000000R
pour le 11 févr. 2024 à 15:30:00 UTC) - Format de temps relatif :
000001000000000R
(livraison dans 1 heure à partir de maintenant) - Assurez-vous que l'heure programmée est dans le futur.
- Vérifiez auprès du fournisseur SMSC si la livraison programmée est prise en charge.
- Utilisez les caractères de terminaison corrects (par exemple,
00
pour les chaînes terminées par NULL).
Si le problème persiste, examinez les logs SMPP et assurez-vous que le format de programmation correct est utilisé.