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 ou bind_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 :

  1. D'abord, envoyer une PDU bind_transmitter valide :
  2.     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)
        
  3. Une fois la liaison établie avec succès, envoyer la PDU submit_sm.

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.

More information