ESME_RCANCELFAIL en SMPP
¿Qué es ESME_RCANCELFAIL?
ESME_RCANCELFAIL (Código de Error: 0x00000011) es un error de SMPP que indica que la solicitud cancel_sm
falló.
Posibles Causas
- El ID del mensaje proporcionado en la solicitud
cancel_sm
no existe. - El mensaje ya ha sido entregado y no se puede cancelar.
- El mensaje está en un estado donde la cancelación no está permitida.
- El ESME no tiene permiso para cancelar mensajes.
- El ID del mensaje pertenece a otra cuenta ESME.
- El SMSC no admite la cancelación de mensajes.
¿Cuándo Ocurre?
Este error ocurre al enviar un PDU cancel_sm
, y el SMSC no puede cancelar el mensaje solicitado.
Ejemplo de Transacción PDU en SMPP
PDU cancel_sm
Incorrecto (ID de Mensaje Inválido)
0000001E (Longitud) 00000008 (ID de Comando para cancel_sm) 00000000 (Estado del Comando) 00000002 (Número de Secuencia) 31323334 35363738 39300000 (ID de Mensaje Inválido: "1234567890") 00 (Tipo de Servicio) 01 (TON de Dirección de Origen) 01 (NPI de Dirección de Origen) 31323334 00 (Dirección de Origen: "1234") 01 (TON de Dirección de Destino) 01 (NPI de Dirección de Destino) 39383736 00 (Dirección de Destino: "9876")
PDU de Respuesta (cancel_sm_resp
) con ESME_RCANCELFAIL
00000010 (Longitud) 80000008 (ID de Comando para cancel_sm_resp) 00000011 (Estado del Comando - ESME_RCANCELFAIL) 00000002 (Número de Secuencia)
Problema: El ID del mensaje proporcionado ("1234567890") no existe o no se puede cancelar.
¿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.
- Comprueba si el SMSC admite la cancelación de mensajes.
- Confirma que el ESME tenga los permisos necesarios para cancelar 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 cancelación de mensajes y resolver el problema.