Détails techniques
Le protocole Short Message Service - Point to Point (SMS-PP) est défini dans la norme de téléphonie mobile GSM 03.40[5]. Il est à distinguer du GSM 03.41 définissant le Short Message Service - Cell Broadcast (SMS-CB) qui permet de diffuser des messages (publicitaires, informations publiques, etc.) à tous les utilisateurs de mobiles d’une zone géographique donnée.
Chaque message est envoyé via un mécanisme Store and forward à un centre SMS (SMSC), qui essaie de le transmettre au destinataire. Si ce dernier n’est pas joignable, le centre stocke le message pour le retransmettre, en plusieurs tentatives si nécessaire. Deux opérations sont disponibles : le Mobile Terminated (MT), pour les messages envoyés à un terminal mobile, et le Mobile Originating (MO), pour ceux qui sont envoyés depuis un terminal mobile. La livraison du message étant basée sur la politique de best effort, il n’y a donc aucune garantie qu’un message soit effectivement délivré à son destinataire. Des délais ou une perte complète d’un message n’est pas exceptionnelle, particulièrement lorsque le message doit traverser des réseaux. L’expéditeur peut demander un accusé de réception de son message mais si les envois fructueux sont bien rapportés, les notifications d’échec ne peuvent pas être garanties.
La transmission de SMS entre le centre et l’appareil mobile peut être faite à travers différents protocoles tel que le SS7 dans le cadre du protocole standard GSM MAP, ou encore par TCP/IP avec le même standard. Les messages sont envoyés avec l’opération MAP supplémentaire forward_short_message, dont la longueur de charge utile (en jargon technique, « payload ») est limitée par les contraintes du protocole de signalisation à savoir 140 octets (140 octets équivalent à 140 × 8 bits = 1 120 bits). En pratique, cela se traduit soit par 160 caractères en encodage sur 7 bits, soit par 140 caractères en encodage sur 8 bits, soit encore par 70 caractères en encodage sur 16 bits[6]. Des jeux de caractères comme l’arabe, le chinois, le coréen, le japonais ou les langues slaves (tel que le russe) doivent être encodées en utilisant UCS-2, dont le gain est de 2 octets (voir Unicode). À cette charge utile viennent s’ajouter les données de routage et autres métadonnées.
Un texte plus long, appelé SMS long ou SMS concaténés, peut être envoyé en le segmentant en plusieurs messages, de manière automatique par l’appareil mobile. Dans ce cas, le message commence par un en-tête utilisateur (UDH) contenant les informations de segmentation. L’UDH faisant partie du payload, le nombre de caractères par segment est moindre : 153 en encodage 7 bits, 134 en encodage 8 bits et 67 en encodage 16 bits. C’est le terminal récepteur qui est chargé de réassembler le message, puis de le présenter à l’utilisateur d’un seul tenant. Bien que le standard permette théoriquement jusqu’à 255 segments, en pratique seuls 6 à 8 segments de messages sont possibles, et chaque segment est facturé au prix d’un message individuel.
Classes de SMS
Un SMS reçu sur le mobile est traité de manière différent suivant sa classe. La classe est définie dans le SMS Data Coding Scheme (DCS - Voir norme 3GPP 23.038) :
* classe 0 : le message est directement affiché à l’utilisateur sur l’écran du mobile à la réception. Un rapport est envoyé ensuite au centre de service. Le message n’est enregistré ni dans la mémoire du téléphone ni dans la carte SIM. Il est effacé dès que l’utilisateur a validé la visualisation.
* classe 1 : le message est enregistré dans la mémoire du téléphone et si cette mémoire est pleine, dans la carte SIM par défaut.
Note : un message reçu de type WAP Push pour configurer un mobile par exemple est de classe 1.
* classe 2 : le message est enregistré sur la carte USIM. Un accusé de réception est envoyé au centre de service une fois que le message a bien été transféré sur l’USIM.
* classe 3 : le message est transféré sur un équipement externe connecté au mobile (PDA, PC portable…).
Notion de durée de validité
Pour des raisons techniques et financières, un SMS non délivré à son destinataire est détruit après un temps X défini par le réseau d’émission de cet SMS car celui-ci est stocké dans un SMSC le temps de sa transmission. Ce temps X est compris entre un minimum d’une heure et un maximum de une semaine. La valeur habituelle étant de 72 heures (3 jours). Il existe une variante one-shot du SMSC, l’USSD qui fonctionne selon le même principe excepté pour le stockage du message qui doit être transmis au premier essai.
Les SMS peuvent aussi être utilisés pour envoyer des contenus binaires tels que des sonneries téléphoniques ou des images (logos), ainsi que des mises à jours logicielles (OTA). De telles utilisations sont toutefois des extensions propriétaires au standard GSM, et plusieurs standards sont en compétition, bien que le Smart message de Nokia soit de loin le plus répandu.
Le standard SMS définit un moyen pour un périphérique tiers, par exemple un ordinateur personnel ou un PDA, de contrôler les fonctions SMS d’un appareil mobile, via un câble RS-232 (null-modem), une liaison Bluetooth ou infrarouge, etc. Le protocole de communication est basé sur des commandes AT étendues, dont les plus communes sont AT+CMGS (envoyer message), AT+CMSS (envoyer message depuis stockage), AT+CMGL (lister messages) et AT+CMGR (lire message).
Chiffres
- En 2007, selon l'ARCEP, 19,5 milliards de SMS/MMS ont été envoyés.
- En 2008, selon l'ARCEP, 34,8 milliards de SMS/MMS ont été envoyés.






