Skip to Content

Confirmación de Recepción (ACK)

Cuando el servidor recibe un reporte del equipo, debe responder con un ACK (acknowledge) para confirmar la recepción correcta.


📋 Formato del ACK

>ACK;#NNNN;ID=XXXX;*CC<
CampoDescripción
ACKComando de confirmación
#NNNNNúmero de mensaje del reporte recibido (hex)
ID=XXXXID del equipo
*CCChecksum

💬 Ejemplo Completo

1. Equipo envía reporte

>RCY00020205000000-2778467-06425658000000-000090;DFFFFFF;IGN1;IN00;XP00;#0021;ID=1234;*59<

2. Servidor responde ACK

>ACK;#0021;ID=1234;*72<

El #0021 debe coincidir exactamente con el número de mensaje del reporte.


📱 ACK Simplificado (SMS)

Para responder desde un celular a un reporte SMS, se puede usar la versión corta:

>ACK;#0021<

Sin ID ni checksum, pero mantiene el número de mensaje.


⚠️ Comportamiento sin ACK

Si el equipo no recibe ACK:

PasoAcción
1Almacena el reporte en buffer (BlackBox)
2Reintenta el envío
3Después de varios intentos, cambia a IP secundaria

🔄 Comandos con Número de Mensaje

El servidor puede enviar comandos con número de mensaje (rango 0x8000 - 0xFFFF) para recibir confirmación del equipo.

Ejemplo

Servidor envía:

>SSSXP0011;#8001;ID=1234;*6A<

Equipo responde:

>RSSXP0011;#8001;ID=1234;*6B<

La respuesta con #8001 confirma que el comando fue ejecutado.


🔢 Rangos de Número de Mensaje

RangoOrigenUso
0x0000 - 0x7FFFEquipo → ServidorReportes automáticos
0x8000 - 0xFFFFServidor → EquipoComandos con confirmación

🧮 Cálculo del Checksum

El checksum (*CC) se calcula realizando XOR de todos los caracteres desde > hasta * (sin incluir el *).

👉 Usa el Analizador de Checksums para calcular y verificar checksums.


Ver También

Last updated on