Outil gratuit · Messagerie
Décodeur de codes d’erreur et de PDU SMPP
Collez un command_status, les champs stat et err d’un accusé de remise, ou un PDU hexadécimal, et voyez ce qu’il signifie et quoi vérifier ensuite.
Reste dans votre navigateur ; rien n’est envoyé.
Fonctionnement et limites
Fonctionne dans votre navigateur : ce que vous saisissez reste sur votre appareil et n’est jamais envoyé.
Le décodeur lit les PDU selon les structures SMPP v3.4 et v5.0 : en-tête, commande, numéro de séquence, champs obligatoires et TLV facultatifs. Les valeurs standard de command_status sont expliquées en langage clair.
Les codes err des accusés de remise ne sont pas normalisés : chaque SMSC utilise les siens. Lorsque nous affichons une signification pour un code err, il s’agit d’une correspondance générique et anonymisée, signalée comme variable selon le SMSC.
Sources de données et licences
Operator names, brands and codes shown here are public reference data compiled from national regulators and other public sources. Their appearance does not indicate any partnership, endorsement, agreement or connectivity between unicomam.com and the named operators. All trademarks belong to their owners. Data is provided “as is” with no warranty; verify against the official source before relying on it for routing, billing or compliance decisions.
Les informations réglementaires sont fournies à titre indicatif et ne constituent pas un avis juridique ; vérifiez le lien du régulateur et la date de « dernière vérification ».
Decodes PDUs per the SMPP v3.4 / v5.0 protocol specifications (opens in a new tab) (SMPP Developers Forum / SMS Forum). DLR “err” codes are SMSC-specific; mappings shown are generic and anonymised.
Comment lire les erreurs SMPP et les accusés de remise
SMPP signale les problèmes à deux endroits. Le command_status de la réponse à une requête indique si la requête a été acceptée ; un accusé de remise, envoyé plus tard sous forme de deliver_sm, indique ce qu’est devenu le message sur le chemin du téléphone. Lisez d’abord le command_status : un rejet à ce niveau concerne la requête elle-même, et seuls les messages acceptés produisent des accusés de remise.
Un command_status nul signifie que la requête a été acceptée. Les autres valeurs standard désignent une cause : le bind (un system_id ou un mot de passe erroné, ou une commande que le type de bind n’autorise pas), les adresses (une destination invalide, ou un TON ou NPI que la route n’accepte pas), le message lui-même (sa longueur, son data_coding ou son esm_class) ou le débit, lorsque la connexion envoie plus vite que convenu. SMPP v5.0 ajoute des valeurs pour les types de service et la diffusion cellulaire, et laisse une plage aux fournisseurs de SMSC, dont la signification varie d’une plateforme à l’autre.
Un accusé de remise porte une valeur stat comme DELIVRD, UNDELIV, EXPIRED ou REJECTD, et un code err qui en donne la raison. Les valeurs stat sont communes à la plupart des plateformes. Les codes err ne sont pas normalisés : chaque SMSC tient sa propre liste, bien que beaucoup transmettent la cause rapportée par le réseau mobile, si bien qu’un même numéro peut signifier des choses différentes sur des routes différentes. Considérez une lecture générique comme un point de départ et demandez au fournisseur de la route sa liste de codes.
Lorsque vous ne disposez que d’un PDU brut, l’en-tête indique la commande, son statut et le numéro de séquence qui associe une requête à sa réponse. Les champs obligatoires suivent dans un ordre fixe pour chaque commande, et les paramètres facultatifs, ou TLV, viennent en dernier, chacun avec un tag, une longueur et une valeur. Un command_length qui ne correspond pas, ou un champ qui se termine trop tôt, signifie généralement que le client a mal construit le PDU.
La plupart des connexions A2P utilisent SMPP v3.4 ; la v5.0 ajoute des commandes et paramètres que moins de plateformes prennent en charge. Le décodeur couvre les deux, fonctionne dans votre navigateur et n’envoie jamais ailleurs ce que vous collez.