ESME_RINVBNDSTS dans SMPP
Qu'est-ce que ESME_RINVBNDSTS ?
ESME_RINVBNDSTS (Code d'erreur : 0x00000005) est une erreur SMPP qui indique un statut de liaison invalide. Cela se produit lorsqu'une commande SMPP est envoyée dans un état de liaison incorrect.
Causes possibles
- Tentative d'envoi d'un message
submit_sm
ou similaire sans être correctement lié. - Tentative d'envoi d'une commande
bind_transmitter
oubind_receiver
alors que la liaison est déjà établie. - Émission d'une commande
unbind
lorsque l'état n'est pas lié. - Problèmes réseau entraînant la perte d'une session mais non détectée correctement par le client.
Quand cela se produit-il ?
Cette erreur se produit lorsqu'un client SMPP envoie une commande non autorisée dans son état de liaison actuel.
Exemple de transaction PDU SMPP
Voici un exemple d'une PDU submit_sm
incorrecte envoyée avant la liaison :
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) 00000000 (Longueur du message) 48656C6C6F (Message : "Hello")
Problème : Le client a envoyé une requête submit_sm
avant d'établir une session SMPP valide.
Séquence correcte :
- D'abord, envoyer une PDU
bind_transmitter
valide : - Une fois la liaison établie avec succès, envoyer la PDU
submit_sm
.
0000001C (Longueur) 00000002 (ID de commande pour bind_transmitter) 00000000 (Statut de commande) 00000001 (Numéro de séquence) 74657374 000000 (ID système : "test") 000000 (Mot de passe)
Comment le résoudre ?
- Vérifier que le client est correctement lié avant d'envoyer des commandes liées aux messages.
- Utiliser le mode de liaison correct (émetteur, récepteur ou transceiver) avant d'envoyer des messages.
- Vérifier les délais d'attente ou les déconnexions qui pourraient entraîner la perte de l'état de liaison.
- Activer les journaux de débogage pour tracer la séquence des commandes SMPP.
Si le problème persiste, vérifier l'état de liaison en examinant les réponses du serveur et en confirmant que la session reste active.