Herramienta gratuita · Mensajería

Decodificador de errores y PDU SMPP

Pegue un command_status, los campos stat y err de un reporte de entrega, o una PDU hexadecimal, y vea qué significa y qué comprobar después.

Se queda en su navegador; no se sube nada.

Pruebe un ejemplo:

Cómo funciona y sus límites

Funciona en su navegador: lo que introduce se queda en su dispositivo y nunca se sube.

El decodificador lee las PDU según las estructuras de SMPP v3.4 y v5.0: cabecera, comando, número de secuencia, campos obligatorios y TLV opcionales. Los valores estándar de command_status se explican en palabras sencillas.

Los códigos err de los reportes de entrega no están estandarizados: cada SMSC usa los suyos. Cuando mostramos un significado para un código err, es una correspondencia genérica y anonimizada, marcada como variable según el SMSC.

Fuentes de datos y licencias

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.

La información regulatoria es solo de referencia y no constituye asesoramiento jurídico; consulte el enlace del regulador y la fecha de “última verificación”.

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.

Cómo leer errores SMPP y reportes de entrega

SMPP informa de los problemas en dos lugares. El command_status en la respuesta a una solicitud dice si la solicitud se aceptó; un reporte de entrega, enviado después como deliver_sm, dice qué ocurrió con el mensaje en su camino al teléfono. Lea primero el command_status: un rechazo ahí se refiere a la solicitud misma, y solo los mensajes aceptados producen reportes de entrega.

Un command_status de cero significa que la solicitud se aceptó. Los demás valores estándar apuntan a una causa: el bind (un system_id o una contraseña incorrectos, o un comando que el tipo de bind no permite), las direcciones (un destino inválido, o un TON o NPI que la ruta no acepta), el propio mensaje (su longitud, data_coding o esm_class) o el caudal, cuando la conexión envía más rápido de lo acordado. SMPP v5.0 añade valores para tipos de servicio y cell broadcast, y deja un rango a los proveedores de SMSC, cuyo significado varía de una plataforma a otra.

Un reporte de entrega lleva un valor stat como DELIVRD, UNDELIV, EXPIRED o REJECTD, y un código err que da el motivo. Los valores stat son comunes a la mayoría de las plataformas. Los códigos err no están estandarizados: cada SMSC mantiene su propia lista, aunque muchos transmiten la causa informada por la red móvil, así que el mismo número puede significar cosas distintas en rutas distintas. Trate una lectura genérica como punto de partida y pida al proveedor de la ruta su lista de códigos.

Cuando lo único que tiene es una PDU en bruto, la cabecera le dice el comando, su estado y el número de secuencia que empareja una solicitud con su respuesta. Los campos obligatorios siguen en un orden fijo para cada comando, y los parámetros opcionales, o TLV, van al final, cada uno con una etiqueta, una longitud y un valor. Un command_length que no coincide, o un campo que termina antes, suele significar que el cliente construyó la PDU incorrectamente.

La mayoría de las conexiones A2P usan SMPP v3.4; v5.0 añade comandos y parámetros que menos plataformas admiten. El decodificador cubre ambos, se ejecuta en su navegador y nunca envía a ninguna parte lo que pegue.

Preguntas frecuentes

¿Por qué el mismo código err significa cosas distintas?

Los códigos de error dentro de los reportes de entrega los define cada SMSC, no la especificación SMPP, así que dos rutas pueden usar el mismo número por motivos diferentes. Trate las correspondencias genéricas como un punto de partida.

¿Puedo pegar una PDU en bruto?

Sí, en hexadecimal. El decodificador se ejecuta en su navegador y la PDU nunca sale de su dispositivo.

¿Qué versiones de SMPP se admiten?

SMPP v3.4, que usa la mayoría de las conexiones A2P, y v5.0.