Volver al inicio

Protocolo SOS para SMS: Especificación

El Protocolo SOS estandariza el intercambio de texto vía SMS usando estados, flags y checksum. Describe el formato de mensaje, autómata finito, transiciones y manejo de errores. Adecuado para implementación en dispositivos móviles sin internet.

Protocolo SOS: desglose completo para SMS
Advertisement 728x90

Protocolo SOS: Especificación técnica para mensajes SMS íntimos

El protocolo SOS define la estructura y la lógica de la comunicación textual íntima mediante SMS. Utiliza un formato estricto de mensaje con estados, banderas y una suma de verificación para garantizar la sincronización y la integridad de los datos. Este documento detalla el formato del mensaje, el comportamiento de la máquina de estados finitos y el manejo de errores, lo que permite una operación fiable sin conexión a internet.

Formato y estructura del mensaje

Un mensaje SOS sigue este esquema: SOS-mensaje = etiqueta-inicial "|" versión "|" estado "|" id-sesión "|" banderas "|" longitud-payload "|" payload ["|" suma-verificación]. Los campos están separados por el carácter "|".

  • etiqueta-inicial: "SOS" — identificador del protocolo.
  • versión: "1" — versión actual.
  • estado: uno de los siguientes valores (IDLE, SYNS, SYNR, ESTD, FINW, PRMT, BUSY, SUSP, CLSD, MORE).
  • id-sesión: número de 5 dígitos (1–65535), que aumenta de forma monótona en cada sesión.
  • banderas: "A" (ACK), "F" (FIN), "R" (RST) o vacío.
  • longitud-payload: tres dígitos que indican la longitud del payload en caracteres (0–160).
  • payload: texto plano, que puede contener secuencias de control.
  • suma-verificación: dos caracteres hexadecimales (opcional).

Ejemplo: SOS|1|SYNS|42||12|Hola guapísima|3E.

Google AdInline article slot

Cálculo de la suma de verificación

Algoritmo:

  • Dividir el payload en palabras (ignorando los espacios).
  • Multiplicar las longitudes de las palabras (usar 1 si el payload está vacío).
  • Restar el número de espacios.
  • Aplicar módulo 256 y convertir el resultado a hexadecimal en mayúsculas.

Este método garantiza simplicidad y resistencia frente a las distorsiones típicas de la transmisión SMS en dispositivos móviles.

Terminología y secuencias de control

Conceptos clave:

Google AdInline article slot
  • Iniciador: la parte que envía el primer mensaje.
  • Destinatario objetivo: la parte que acepta o rechaza el intercambio.
  • Estado: una fase en la máquina de estados finitos del protocolo.
  • Secuencia de control: un marcador emocional o funcional integrado en el payload.

Secuencias de control comunes dentro del payload:

| Secuencia | Significado |

|-----------|-------------|

Google AdInline article slot

| Y | Aceptación |

| N | Rechazo |

| ... | Pausa |

| :-) | Sugerencia amistosa |

| ;-) | Subtexto juguetón |

| :-D | Risas |

| ^_^ | Confirmación alegre |

| >_< | Vergüenza |

| ~ | Ambigüedad |

| (.)(.) | Referencia a atributos físicos |

| ¯\\_(ツ)_/¯ | Incertidumbre |

Las implementaciones pueden analizar estas secuencias para respuestas automatizadas o mejoras en la interfaz de usuario.

Máquina de estados del protocolo y sus estados

Cada participante mantiene una máquina de estados finitos. La sincronización se logra mediante los campos estado y banderas.

Estados:

  • IDLE: Estado inicial.
  • SYNS: Esperando respuesta a la invitación.
  • SYNR: Invitación recibida; se ha enviado la respuesta.
  • ESTD: Intercambio activo.
  • FINW: Esperando la confirmación de finalización.
  • PRMT: Finalización prematura.
  • BUSY: Temporalmente no disponible.
  • SUSP: Detección de actividad sospechosa.
  • CLSD: Sesión cerrada.
  • MORE: Continuación tras FIN.

Transiciones entre estados

Transiciones activadas al enviar o recibir mensajes SOS:

  • IDLE → SYNS: enviar SYNS; expira tras 10 minutos.
  • SYNS → ESTD: recibir SYNR + bandera ACK (A).
  • SYNS → PRMT: expiración o recepción de bandera RST.
  • ESTD → FINW: enviar bandera FIN (F); expira tras 2 minutos.
  • FINW → CLSD: recibir ACK (A).
  • FINW → MORE: recibir MORE + ACK (A); volver a ESTD.
  • Cualquier estado → PRMT: recibir RST o expiración.
  • IDLE → BUSY: responder BUSY ante un SYN entrante.
  • SYNR → SUSP: anomalía en el id-sesión o en la suma de verificación.

Tiempos de espera y sanciones

  • SYN: 10 minutos → PRMT.
  • ESTD: 10 minutos sin ACK → PRMT.
  • FINW: 2 minutos → CLSD.
  • MORE: 10 minutos → CLSD.

Sanciones:

  • PRMT: bloqueo de 30 minutos; 3 ocurrencias → suspensión de 7 días.
  • BUSY: espera de 15 minutos antes de reintentar.
  • SUSP: RST inmediata + suspensión de 24 horas.

Gestión de colisiones

Si llega un SYN mientras hay una sesión activa: responder con BUSY y el mensaje "sesión ya activa". El iniciador vuelve al estado IDLE. Un id-sesión no monótono → SUSP → RST.

Conclusiones clave:

  • SOS estandariza la mensajería SMS consciente del estado, con sumas de verificación integradas para mayor fiabilidad.
  • Permite sincronización completa (SYNS/SYNR/ESTD) sin conexión a internet.
  • Las secuencias de control agilizan intercambios expresivos y con matices emocionales.
  • Las sanciones y tiempos de espera previenen el spam, el abuso y las anomalías del protocolo.
  • La suma de verificación ligera resiste con robustez la corrupción típica de los SMS.

— Editorial Team

Advertisement 728x90

Leer después