Retour à l'accueil

Protocole SOS pour SMS : Spécification

Le Protocole SOS standardise l'échange de texte via SMS en utilisant des états, des drapeaux et un checksum. Décrit le format de message, l'automate fini, les transitions et la gestion des erreurs. Convient à l'implémentation sur des appareils mobiles sans internet.

Protocole SOS : analyse complète pour SMS
Advertisement 728x90

Protocole SOS : spécification technique pour les échanges SMS intimes

Le protocole SOS définit la structure et la logique des échanges textuels intimes par SMS. Il repose sur un format de message strict, intégrant des états, des indicateurs (flags) et une somme de contrôle afin d’assurer la synchronisation et la vérification de l’intégrité. Ce document décrit en détail le format du message, le comportement de la machine à états finis et la gestion des erreurs — permettant un fonctionnement fiable, même sans connexion Internet.

Format et structure des messages

Un message SOS suit ce schéma : SOS-message = balise-début "|" version "|" état "|" identifiant-session "|" indicateurs "|" longueur-payload "|" payload ["|" somme-de-contrôle]. Les champs sont séparés par le caractère « | ».

  • balise-début : « SOS » — identifiant du protocole.
  • version : « 1 » — version actuelle.
  • état : l’un des états suivants (IDLE, SYNS, SYNR, ESTD, FINW, PRMT, BUSY, SUSP, CLSD, MORE).
  • identifiant-session : nombre à 5 chiffres (1–65535), incrémenté de façon monotone au sein d’une même session.
  • indicateurs : « A » (ACK), « F » (FIN), « R » (RST), ou vide.
  • longueur-payload : trois chiffres indiquant la longueur du payload en caractères (0–160).
  • payload : texte brut, pouvant éventuellement contenir des séquences de contrôle.
  • somme-de-contrôle : deux caractères hexadécimaux (facultatif).

Exemple : SOS|1|SYNS|42||12|Salut ma belle|3E.

Google AdInline article slot

Calcul de la somme de contrôle

Algorithme :

  • Découper le payload en mots (les espaces sont ignorés).
  • Multiplier les longueurs des mots (utiliser 1 si le payload est vide).
  • Soustraire le nombre d’espaces.
  • Appliquer le modulo 256, puis convertir le résultat en hexadécimal majuscule.

Cette méthode garantit simplicité et robustesse face aux distorsions courantes de transmission SMS sur mobile.

Terminologie et séquences de contrôle

Concepts clés :

Google AdInline article slot
  • Initiateur : la partie qui envoie le premier message.
  • Destinataire ciblé : la partie qui accepte ou refuse l’échange.
  • État : une étape dans la machine à états finis du protocole.
  • Séquence de contrôle : un marqueur émotionnel ou fonctionnel intégré au payload.

Séquences de contrôle courantes dans le payload :

| Séquence | Signification |

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

Google AdInline article slot

| Y | Accord |

| N | Refus |

| ... | Pause |

| :-) | Clin d’œil amical |

| ;-) | Sous-entendu joueur |

| :-D | Éclat de rire |

| ^_^ | Confirmation joyeuse |

| >_< | Embarras |

| ~ | Ambiguïté |

| (.)(.) | Référence à des attributs physiques |

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

Les implémentations peuvent analyser ces séquences pour déclencher des réponses automatisées ou enrichir l’interface utilisateur.

Machine à états finis et états du protocole

Chaque participant maintient sa propre machine à états finis. La synchronisation s’effectue via les champs état et indicateurs.

États :

  • IDLE : état initial.
  • SYNS : en attente de réponse à l’invitation.
  • SYNR : invitation reçue ; réponse envoyée.
  • ESTD : échange actif.
  • FINW : en attente de l’acquittement de fermeture.
  • PRMT : fermeture prématurée.
  • BUSY : indisponibilité temporaire.
  • SUSP : activité suspecte détectée.
  • CLSD : session fermée.
  • MORE : suite après FIN.

Transitions d’état

Les transitions sont déclenchées par l’envoi ou la réception de messages SOS :

  • IDLE → SYNS : envoi de SYNS ; timeout après 10 min.
  • SYNS → ESTD : réception de SYNR + indicateur ACK (A).
  • SYNS → PRMT : timeout ou réception de l’indicateur RST.
  • ESTD → FINW : envoi de l’indicateur FIN (F) ; timeout après 2 min.
  • FINW → CLSD : réception de ACK (A).
  • FINW → MORE : réception de MORE + ACK (A) ; retour à ESTD.
  • Tout état → PRMT : réception de RST ou timeout.
  • IDLE → BUSY : réponse BUSY à une demande SYN entrante.
  • SYNR → SUSP : anomalie dans l’identifiant-session ou la somme de contrôle.

Timeouts et sanctions

  • SYN : 10 min → PRMT.
  • ESTD : 10 min sans ACK → PRMT.
  • FINW : 2 min → CLSD.
  • MORE : 10 min → CLSD.

Sanctions :

  • PRMT : blocage de 30 minutes ; 3 occurrences → suspension de 7 jours.
  • BUSY : délai de 15 minutes avant nouvelle tentative.
  • SUSP : envoi immédiat de RST + suspension de 24 heures.

Gestion des collisions

Si une demande SYN arrive alors qu’une session est déjà active : répondre par BUSY avec le message « session déjà active ». L’initiateur revient à l’état IDLE. Un identifiant-session non monotone → SUSP → RST.

Points clés :

  • Le protocole SOS normalise les échanges SMS « conscients de leur état », avec sommes de contrôle intégrées pour une fiabilité accrue.
  • Il permet une synchronisation complète (SYNS/SYNR/ESTD) hors ligne — aucune connexion Internet requise.
  • Les séquences de contrôle simplifient les échanges expressifs et nuancés sur le plan émotionnel.
  • Les timeouts et sanctions préviennent le spam, les abus et les anomalies protocolaires.
  • La somme de contrôle légère résiste efficacement aux corruptions typiques des SMS.

— Editorial Team

Advertisement 728x90

Lire ensuite