ESME_RINVMSGID dans SMPP

Qu'est-ce que ESME_RINVMSGID ?

ESME_RINVMSGID (Code d'erreur : 0x0000000C) est une erreur SMPP indiquant que l'ID de message fourni est invalide ou non reconnu par le SMSC.

Causes possibles

  • Le champ message_id dans la requête est manquant ou mal formaté.
  • L'ID de message n'existe pas sur le SMSC.
  • L'ID de message a expiré ou a été supprimé de la base de données du SMSC.
  • Un ID de message précédemment utilisé a été fourni au lieu d'un ID valide.
  • L'ID de message n'est pas associé à l'ESME (External Short Messaging Entity) faisant la requête.

Quand cela se produit-il ?

Cette erreur se produit lors de l'envoi d'une PDU SMPP (comme query_sm ou cancel_sm) avec un ID de message invalide ou non reconnu.

Exemple de transaction PDU SMPP

PDU query_sm incorrecte (ID de message invalide)

0000001D (Longueur)
00000003 (ID de commande pour query_sm)
00000000 (Statut de commande)
00000002 (Numéro de séquence)
00000000 (Type de service)
31323334 35363738 39300000 (ID de message invalide : "1234567890")

Réponse PDU (query_sm_resp) avec ESME_RINVMSGID

00000010 (Longueur)
80000003 (ID de commande pour query_sm_resp)
0000000C (Statut de commande - ESME_RINVMSGID)
00000002 (Numéro de séquence)

Problème : L'ID de message fourni ("1234567890") est incorrect ou introuvable dans la base de données du SMSC.

Comment le résoudre ?

  • Assurez-vous d'utiliser le bon ID de message à partir d'une réponse submit_sm_resp précédente.
  • Vérifiez que l'ID de message n'a pas expiré ou n'a pas été supprimé du SMSC.
  • Vérifiez les erreurs de formatage dans le champ message_id (par exemple, terminateur nul manquant).
  • Confirmez que l'ID de message appartient à l'ESME faisant la requête.
  • Activez les logs de débogage pour inspecter les valeurs exactes envoyées dans la PDU.

Si le problème persiste, contactez le fournisseur du SMSC pour vérifier la validité de l'ID de message.

More information