Standard GSM e come si applica all’SMS

08/06/2022

Il Global System for Mobile Communications (o GSM, acronimo di Groupe Spécial Mobile, il gruppo francese che inizialmente si occupò dello sviluppo.) è uno standard di telefonia mobile 2G (abbreviazione usata nell’ambito della telefonia mobile per indicare le tecnologie di seconda generazione lanciate commercialmente a partire dal 1991) approvato dall’ETSI (Ente Europeo di Standardizzazione).

La prima rete GSM fu sviluppata da Telenokia e Siemens (Nokia Networks). Nel 2017 diviene lo standard di telefonia mobile più utilizzato a livello globale potendo contare su più di 3 miliardi di utenti dislocati in 200 differenti stati.

Lo standard GSM si basa sull’algoritmo di codifica delle trasmissioni digitali sviluppato da Andrea Giacomo Viterbi. Si tratta di un algoritmo diffusissimo nell’ambito dei codici a correzione d’errore (Forward Error Correction o FEC).

Questo algoritmo trova impiego nelle trasmissioni digitali e non solo dal sistema GSM ma anche in sistemi come:

  • UMTS (Universal Mobile Telecommunications System: uno standard di telefonia mobile 3G, evoluzione del GSM);
  • DVB-T (Digital Video Broadcasting - Terrestrial: è uno standard di trasmissione televisiva digitale terrestre);
  • LTE (Long Term Evolution: nuova generazione per i sistemi di accesso mobile a banda larga);
  • WiMAX (Worldwide Interoperability for Microwave Access: è uno standard tecnico di trasmissione che consente l’accesso di tipo wireless a reti di telecomunicazioni a banda larga).

L’introduzione del GSM ha rappresentato una vera e propria rivoluzione nell’ambito dei sistemi di telefonia mobile. Fondamentalmente i numerosi vantaggi rispetto ai precedenti sistemi sono stati:

  • possibilità, mediante procedure unificanti, di interscambio e interazione tra reti diverse che aderiscono ad un unico standard internazionale;
  • comunicazioni di tipo digitale (cioè con numeri codificati in sequenze di bit).

L’introduzione di una trasmissione di tipo digitale aumenta la velocità di trasmissione permettendo la nascita di nuovi servizi (ad esempio gli SMS) e garantendo standard di sicurezza più elevati in termini di cifratura delle comunicazioni. Infatti anche se lo standard GSM si sviluppa inizialmente con il principale obiettivo di gestire telecomunicazioni a carattere vocale viene presto sfruttato anche per lo scambio di dati. Il punto di forza di questo sistema è stata la possibilità da parte degli utenti, di accedere a tutta una serie di nuovi servizi a costi molto contenuti. Uno dei principali vantaggi per gli operatori è stato invece, la possibilità di acquistare infrastrutture ed attrezzature a costi molto bassi. La diffusione universale dello standard GSM ha inoltre permesso la nascita del cosiddetto Roaming (viene utilizzato dagli operatori di telefonia mobile per permettere agli utenti di collegarsi tra loro utilizzando reti non di loro proprietà dietro una quota di pagamento). A partire dal 2006 la rete GSM ha permesso di utilizzare il protocollo DTM (un terminale mobile che permette di effettuare contemporaneamente comunicazioni vocali e trasmissioni di dati. Questo terminale ha reso possibili ad esempio le videochiamate su rete GSM). Pur essendo lo standard in costante evoluzione, i sistemi GSM hanno sempre mantenuto la piena retrocompatibilità con le precedenti versioni.

Nella telefonia mobile GSM 03.38 (o 3GPP 23.038) è una codifica dei caratteri per SMS (Short Message Service). Questo standard definisce l’alfabeto predefinito GSM a 7 bit che è obbligatorio nelle reti GSM. Un messaggio SMS che utilizza questo tipo di codifica, può contenere fino a 160 caratteri inclusi spazi e interruzioni di riga, se tra questi non vi sono caratteri speciali. Nella tabella seguente sono elencati tutti i caratteri che fanno parte dell’ alfabeto di default (o “Basic set”). E’ disponibile anche un “Extension set” di caratteri, ognuno di questi tuttavia, viene conteggiato come due caratteri poiché include anche un carattere di escape non visibile.

Sono inclusi infine anche caratteri non stampati:

  • carattere di spazio;
  • controllo di avanzamento riga, che indica la fine di una riga di testo e l’inizio di un’altra;
  • controllo di ritorno a capo, che passa all’inizio di una riga di testo (in genere dopo un carattere di avanzamento riga);
  • controllo di escape, non visibile nel testo, viene aggiunto automaticamente ai caratteri che fanno parte dell’ “Extension set”.
Set Caratteri
GSM 03.30 Basic set A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z à Å å Ä ä Ç É é è ì Ñ ñ ò Ø ø Ö ö ù Ü ü Æ æ ß 0 1 2 3 4 5 6 7 8 9 & * @ : , ¤ $ = ! > # - ¡ ¿ ( < % . + £ ? “ ) § ; “ / _ ¥ Δ Φ Γ Λ Ω Π Ψ Σ Θ Ξ
GSM 03.30 Extension set ^ { } ¥ [ ] ~ \ €

Sono supportati anche SMS concatenati: se il testo supera i 160 caratteri vengono mandati più SMS (fino a un massimo di 5 o di 7 a seconda dell’operatore). A seconda dell’operatore e del dispositivo del destinatario, è possibile che più messaggi vengano visualizzati come un unico SMS o come una sequenza di SMS separati. Gli SMS concatenati richiedono un prefisso di continuazione e un numero di sequenza, motivo per cui il massimo di caratteri consentiti per ognuno scende a 153. I restanti 7 caratteri vengono utilizzati dal protocollo GSM 03.38 per consentire la concatenazione.

Questo “Standard set” definisce un alfabeto di caratteri adatto solo per un certo numero di lingue tra le quali anche l’inglese. Dalla versione 8 dello standard 3GPP 23.038 di Marzo 2008 alcune lingue possono accedere a un set di caratteri aggiuntivi tramite l’uso di “National Language Shift Tables”. Queste tabelle consentono di utilizzare diversi set di caratteri a seconda della lingua di scrittura. La scelta viene selezionata nella sezione “User Data Header” di un SMS. Può essere specificata per l’intero testo una “Locking shift table” che sostituisce la tabella standard GSM a 7 bit predefinita. Oppure può essere specificata per un singolo carattere una “Single shift table” sostitutiva della tabella di estensione GSM a 7 bit predefinita. Possono essere sostituite sia la tabella standard predefinita che la tabella di estensione predefinita nello stesso SMS. Utilizzando le “National Language Shift Tables”, un messaggio può ancora utilizzare la codifica a 7 bit, ma è possibile scegliere un set diverso per mostrare correttamente i caratteri specifici di scrittura per ogni linguaggio. Inizialmente, erano specificate le “National Language Shift Tables” solo per il turco, lo spagnolo e il portoghese. La versione 9 ha introdotto altre dieci lingue usate in India che utilizzano scritture brahmiche (bengalese, gujarati, hindi, kannada, malayalam, oriya, punjabi, tamil, telugu) e urdu.

Non esiste attualmente un supporto per lingue che hanno troppi caratteri di scrittura distinti come ad esempio il giapponese scritto in kanas di base, o per il coreano scritto in hangul jamos o per il cinese scritto in caratteri han.

Nel caso si decida di inserire nel messaggio un carattere “speciale”, ovvero non presente nel “Basic set” e nell’ “Extension set” di caratteri a disposizione, l’SMS utilizzerà una codifica UCS-2 a 16 bit (o Unicode). Questa codifica consente l’uso di una gamma più ampia di caratteri supportando quindi più lingue, al costo di una maggiore spesa in termini di spazio. Un SMS Unicode consente l’invio di 70 caratteri.

I caratteri “speciali” quindi riducono il limite di caratteri consentiti per ogni SMS da 160 a 70. La concatenazione di SMS è supportata ma affinché essa sia consentita la lunghezza di ogni SMS passerà da 70 a 67 caratteri.

Nicola Valente

Articolo scritto da

Nicola Valente

Riferimenti