Strumento gratuito · Messaggistica

Decodifica errori e PDU SMPP

Incolli un command_status, i campi stat ed err di un rapporto di consegna o una PDU esadecimale e veda che cosa significa e che cosa verificare dopo.

Resta nel browser; non viene caricato nulla.

Provi un esempio:

Come funziona e i suoi limiti

Funziona nel browser: ciò che inserisce resta sul suo dispositivo e non viene mai caricato.

Il decodificatore legge le PDU secondo i formati SMPP v3.4 e v5.0: intestazione, comando, numero di sequenza, campi obbligatori e TLV opzionali. I valori standard di command_status sono spiegati in parole semplici.

I codici err dei rapporti di consegna non sono standardizzati: ogni SMSC utilizza i propri. Quando mostriamo un significato per un codice err, si tratta di una corrispondenza generica e anonimizzata, indicata come variabile da un SMSC all’altro.

Fonti dei dati e licenze

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.

Le informazioni normative sono solo di riferimento e non costituiscono consulenza legale; verifichi il link all’autorità di regolamentazione e la data di “ultima verifica”.

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.

Come leggere gli errori SMPP e i rapporti di consegna

SMPP segnala i problemi in due punti. Il command_status nella risposta a una richiesta indica se la richiesta è stata accettata; un rapporto di consegna, inviato in seguito come deliver_sm, indica che cosa è accaduto al messaggio lungo il percorso verso il terminale. Va letto prima il command_status: un rifiuto in quel punto riguarda la richiesta stessa, e solo i messaggi accettati generano rapporti di consegna.

Un command_status pari a zero significa che la richiesta è stata accettata. Gli altri valori standard indicano una causa: il bind (un system_id o una password errati, oppure un comando che il tipo di bind non consente), gli indirizzi (una destinazione non valida, oppure un TON o un NPI che la rotta non accetta), il messaggio stesso (la lunghezza, il data_coding o l’esm_class) oppure il throughput, quando la connessione invia più rapidamente di quanto concordato. SMPP v5.0 aggiunge valori per i tipi di servizio e il cell broadcast e riserva un intervallo ai fornitori di SMSC, il cui significato varia da una piattaforma all’altra.

Un rapporto di consegna riporta un valore stat come DELIVRD, UNDELIV, EXPIRED o REJECTD e un codice err che ne indica il motivo. I valori stat sono comuni alla maggior parte delle piattaforme. I codici err non sono standardizzati: ogni SMSC mantiene il proprio elenco, anche se molti trasmettono la causa segnalata dalla rete mobile, per cui lo stesso numero può avere significati diversi su rotte diverse. Una lettura generica va considerata un punto di partenza; l’elenco dei codici va richiesto al fornitore della rotta.

Quando si dispone solo di una PDU grezza, l’intestazione indica il comando, il suo stato e il numero di sequenza che associa una richiesta alla relativa risposta. I campi obbligatori seguono in un ordine fisso per ciascun comando, e i parametri opzionali, o TLV, vengono per ultimi, ciascuno con un tag, una lunghezza e un valore. Un command_length che non corrisponde, o un campo che termina prima del previsto, indica di solito che il client ha costruito la PDU in modo errato.

La maggior parte delle connessioni A2P utilizza SMPP v3.4; v5.0 aggiunge comandi e parametri supportati da un numero minore di piattaforme. Il decodificatore copre entrambe le versioni, funziona nel Suo browser e non invia mai altrove ciò che incolla.

Domande frequenti

Perché lo stesso codice err ha significati diversi?

I codici di errore nei rapporti di consegna sono definiti da ciascun SMSC e non dalla specifica SMPP, quindi due rotte possono usare lo stesso numero per motivi diversi. Le corrispondenze generiche vanno considerate un punto di partenza.

Posso incollare una PDU grezza?

Sì, in formato esadecimale. Il decodificatore funziona nel Suo browser e la PDU non lascia mai il Suo dispositivo.

Quali versioni di SMPP sono supportate?

SMPP v3.4, utilizzata dalla maggior parte delle connessioni A2P, e v5.0.