Concaténation de messages

Comment un SMS long se découpe en segments, pourquoi la plupart des routes facturent chacun d’eux et comment l’encodage change le nombre.

Définitions uniquement : un terme expliqué ici n’est pas un service que nous vendons.

La concaténation découpe un SMS long en segments que le téléphone réassemble en un seul message. Chaque segment porte un en-tête de données utilisateur, et la plupart des routes facturent chacun séparément.

L’encodage fixe le budget : un segment GSM-7 concaténé contient environ 153 caractères, un segment UCS-2, 67.

L’encodage et le nombre de segments

Codage
GSM-7
Caractères
224
Unités
224
Segments
2
L’encodage d’un texte d’exemple, son nombre de caractères, sa taille en unités d’encodage et son nombre de segments.
Description textuelle

La figure liste l’encodage retenu pour un texte d’exemple, son nombre de caractères, sa taille en unités d’encodage et le nombre de segments que cette taille exige.

Comment les segments sont construits

L’expéditeur divise le texte et ajoute un en-tête de données utilisateur à chaque segment. L’en-tête occupe six octets avec une référence de 8 bits et sept avec une référence de 16 bits ; un segment GSM-7 contient donc environ 153 caractères, et non 160.

Sur la plupart des routes, chaque segment est un événement facturable et un accusé de réception distinct. L’ordre n’est pas préservé, et un segment perdu peut empêcher l’affichage du message alors que les autres accusés indiquaient une remise. L’outil de segments SMS compte les segments avant l’envoi.

Questions fréquentes

Combien de segments un message peut-il comporter ?

La norme en autorise jusqu’à 255. Les limites pratiques sont plus basses, et le coût augmente avec chaque segment.

Tous les réseaux prennent-ils en charge les références de 16 bits ?

La plupart oui, mais la prise en charge n’est pas universelle. Une référence de 16 bits réduit les collisions entre segments de différents expéditeurs.

Pourquoi mon message a-t-il été découpé à 70 caractères ?

Il a été encodé en UCS-2, généralement à cause d’un emoji ou d’un caractère hors de GSM-7. Vérifiez d’abord l’encodage.

En savoir plus

Sources

  1. 3GPP TS 23.040 : réalisation technique du service de messages courts (SMS), concaténation
  2. 3GPP TS 23.038 : alphabets et informations spécifiques à la langue