ESME_RREPLACEFAIL en SMPP
¿Qué es ESME_RREPLACEFAIL?
ESME_RREPLACEFAIL (Código de error: 0x00000013) es un error de SMPP que indica que la solicitud replace_sm
falló.
Posibles causas
- El ID del mensaje proporcionado en la solicitud
replace_sm
no existe. - El mensaje ya ha sido entregado y no puede ser reemplazado.
- El SMSC no admite el reemplazo de mensajes.
- El ESME no tiene permiso para reemplazar mensajes.
- El ID del mensaje pertenece a otra cuenta ESME.
¿Cuándo ocurre?
Este error ocurre al enviar un PDU replace_sm
, y el SMSC no puede reemplazar el mensaje solicitado.
Ejemplo de transacción PDU SMPP
PDU replace_sm
incorrecto (ID de mensaje inválido)
0000002D (Longitud) 00000007 (ID de comando para replace_sm) 00000000 (Estado del comando) 00000003 (Número de secuencia) 31323334 35363738 39300000 (ID de mensaje inválido: "1234567890") 00 (TON de dirección de origen) 01 (NPI de dirección de origen) 31323334 00 (Dirección de origen: "1234") 00000000 (Tiempo de entrega programado - No establecido) 00000000 (Período de validez - No establecido) 04 (Entrega registrada) 00 (ID de mensaje predeterminado Sm) 0006 (Longitud del mensaje) 54657374 3031 (Mensaje: "Test01")
PDU de respuesta (replace_sm_resp
) con ESME_RREPLACEFAIL
00000010 (Longitud) 80000007 (ID de comando para replace_sm_resp) 00000013 (Estado del comando - ESME_RREPLACEFAIL) 00000003 (Número de secuencia)
Problema: El ID del mensaje proporcionado ("1234567890") no existe o no puede ser reemplazado.
¿Cómo solucionarlo?
- Verifica que el ID del mensaje exista y se haya obtenido correctamente de un
submit_sm_resp
. - Asegúrate de que el mensaje no haya sido entregado ya.
- Comprueba si el SMSC admite el reemplazo de mensajes.
- Confirma que el ESME tenga los permisos necesarios para reemplazar mensajes.
- Habilita registros de depuración para inspeccionar los valores exactos enviados en el PDU.
Si el problema persiste, contacta al proveedor del SMSC para verificar las políticas de reemplazo de mensajes y resolver el problema.