Sieć SMS / Protokół GSM SMS wyjaśniony
Jeśli obsługujesz usługi SMS, dobrym zwyczajem jest edukowanie swojego personelu na temat sieci SMS i protokołu SMS używanego do przesyłania wiadomości wewnątrz sieci komórkowej. Ten przewodnik pomoże Ci w tym aspekcie. Zawiera kompleksowy przegląd infrastruktury SMS oraz protokołu SMS używanego w sieciach komórkowych.
Spis treści
- Ważne terminy i definicje (MS, SME, SMSC, MMI, PDU, SM-AL, SM-TL,...)
- Podmioty sieci SMS
- Format jednostki danych protokołu SMS (PDU)
- Kodowanie tekstu SMS
- Przykłady PDU
- Wysyłanie PDU za pomocą modemów
- Domyślny alfabet SMS
- Słownik
Ważne terminy i definicje
- MS: Stacja Mobilna
- SME: Podmiot Wiadomości Krótkich
- SMSC: Centrum Usług Wiadomości Krótkich
- MMI: Interfejs Człowiek-Maszyna
- PDU: Jednostki Danych Protokołu
- SM-AL: Warstwa Aplikacyjna Wiadomości Krótkich
- SM-TL: Warstwa Transportowa Wiadomości Krótkich
- SM-RL: Warstwa Przekaźnikowa Wiadomości Krótkich
- SM-LL: Warstwa Łącza Wiadomości Krótkich
MMI opiera się na zestawie komend AT+Cellular i może być zrealizowany za pomocą terminala (na przykład Win-Terminal, HyperTerminal, itp.) lub wyświetlacza telefonu.
SM-TL zapewnia usługę dla Warstwy Aplikacyjnej Wiadomości Krótkich. Ta usługa umożliwia SM-AL przesyłanie wiadomości krótkich do swojego odpowiednika, odbieranie wiadomości krótkich od swojego odpowiednika oraz otrzymywanie raportów o wcześniejszych żądaniach przesyłania wiadomości krótkich. SM-TL komunikuje się ze swoim odpowiednikiem za pomocą sześciu różnych PDU (Jednostek Danych Protokołu):
- SMS-DELIVER, przekazujący wiadomość krótką z SMSC do MS
- SMS-DELIVER-REPORT, przekazujący przyczynę błędu (jeśli konieczne)
- SMS-SUBMIT, przekazujący wiadomość krótką z MS do SMSC
- SMS-SUBMIT-REPORT, przekazujący przyczynę błędu (jeśli konieczne)
- SMS-STATUS-REPORT, przekazujący raport statusu z SMSC do MS
- SMS-COMMAND, przekazujący komendę z MS do SMSC
Modem SMS obsługuje PDU SMS-DELIVER i SMS-SUBMIT, jak opisano w poniższych sekcjach.
2.1 SMS-DELIVER (Zakończony Mobilnie)

MTI bit 1 = 0
bit 0 = 0
2.2 SMS-SUBMIT (Rozpoczęty Mobilnie)
MTI bit 1 = 0
bit 0 = 1
! Uwaga: Wszystkie nieużywane bity będą ustawione na zero przez nadawcę i zignorowane przez odbiorcę !
SCA | Adres Centrum Usług – element informacyjny | Numer telefonu Centrum Usług |
---|---|---|
Typ PDU | Typ Jednostki Danych Protokołu | |
MR | Referencja Wiadomości | Kolejny numer (0-255) wszystkich ramek SMS-SUBMIT ustawiony przez modem |
OA | Adres Nadawcy | Adres nadającego SME |
DA | Adres Odbiorcy | Adres odbierającego SME |
PID | Identyfikator Protokołu | Parametr pokazujący SMSC, jak przetworzyć SM (jako FAX, głos itp.) |
DCS | Schemat Kodowania Danych | Parametr identyfikujący schemat kodowania w danych użytkownika (UD) |
SCTS | Znacznik Czasu Centrum Usług | Parametr identyfikujący czas, gdy SMSC otrzymał wiadomość |
VP | Okres Ważności | Parametr identyfikujący czas, od którego wiadomość nie jest już ważna w SMSC |
UDL | Długość Danych Użytkownika | Parametr wskazujący długość pola UD |
UD | Dane Użytkownika | Dane SM |
RP | Ścieżka Odpowiedzi | Parametr wskazujący, że istnieje ścieżka odpowiedzi |
UDHI | Wskaźnik Nagłówka Danych Użytkownika | Parametr wskazujący, że pole UD zawiera nagłówek |
SRI | Wskaźnik Raportu Statusu | Parametr wskazujący, czy SME zażądał raportu statusu |
SRR | Żądanie Raportu Statusu | Parametr wskazujący, czy MS zażądał raportu statusu |
VPF | Format Okresu Ważności | Parametr wskazujący, czy pole VP jest obecne |
MMS | Więcej Wiadomości do Wysłania | Parametr wskazujący, czy są jeszcze wiadomości do wysłania |
RD | Odrzuć Duplikaty | |
MTI | Wskaźnik Typu Wiadomości | Parametr opisujący typ wiadomości 00 oznacza SMS-DELIVER 01 oznacza SMS-SUBMIT |
Opis parametrów
3.1 Element informacyjny adresu Centrum Usług (SCA info element)
len:
Oktet "len" zawiera liczbę oktetów wymaganych dla numeru Centrum Usług plus 1 bajt "typ numeru".
typ numeru:
81H: następujący numer jest krajowy
91H: następujący numer jest międzynarodowy
(Wiêcej informacji można znaleźć w GSM 04.08, rozdział 10.5.4.6)
oktet:
Jeden oktet zawiera dwa pola cyfr BCD. Jeśli numer BCD zawiera nieparzystą liczbę cyfr, ostatnia cyfra powinna być wypełniona znakiem końca zakodowanym jako ”FH”.
Przykład:
jeśli masz numer SC +61418706700, musisz wpisać:
style="font-size: 14.0pt">07911614786007F0
! Uwaga: Jeśli pole "len" jest ustawione na zero, modem SMS przyjmuje domyślną wartość adresu Centrum Usług ustawioną przez polecenie AT+CSCA
3.2 Typ Jednostki Danych Protokołu (PDU Type)
SMS-SUBMIT: SMS-DELIVER:
! Uwaga: musisz zapisać typ PDU w formacie Hex, przykładowo "11H"!
RP: 0 Parametr ścieżki odpowiedzi nie jest ustawiony w tym PDU
1 Parametr ścieżki odpowiedzi jest ustawiony w tym PDU
UDHI: 0 Pole UD zawiera tylko krótką wiadomość
1 Początek pola UD zawiera nagłówek oprócz krótkiej wiadomości
SRI: (jest ustawiany tylko przez SMSC)
0 Raport statusu nie zostanie zwrócony do SME
1 Raport statusu zostanie zwrócony do SME
SRR: 0 Raport statusu nie jest wymagany
1 Raport statusu jest wymagany
VPF: bit4 bit3
0 0 Pole VP nie jest obecne
0 1 Zarezerwowane
1 0 Pole VP obecne, reprezentowane jako liczba całkowita (względna)
1 1 Pole VP obecne, reprezentowane jako półoktet (bezwzględna)
wszelkie zarezerwowane wartości mogą być odrzucone przez SMSC
MMS: (jest ustawiany tylko przez SMSC)
0 Więcej wiadomości czeka na MS w SMSC
1 Nie ma więcej wiadomości czekających na MS w SMSC
RD: 0 Instruuje SMSC, aby zaakceptował SMS-SUBMIT dla wiadomości krótkiej, która jest jeszcze przechowywana w SMSC i ma ten sam MR i DA, co wcześniej przesłana wiadomość krótka z tego samego OA.
1 Instruuje SMSC, aby odrzucił SMS-SUBMIT dla wiadomości krótkiej, która jest jeszcze przechowywana w SMSC i ma ten sam MR i DA, co wcześniej przesłana wiadomość krótka z tego samego OA.
MTI: bit1 bit0 Typ wiadomości
0 0 SMS-DELIVER (SMSC ==> MS)
0 0 SMS-DELIVER REPORT (MS ==> SMSC, jest generowany automatycznie przez modem po otrzymaniu SMS-DELIVER)
0 1 SMS-SUBMIT (MS ==> SMSC)
0 1 SMS-SUBMIT REPORT (SMSC ==> MS)
1 0 SMS-STATUS REPORT (SMSC ==> MS)
1 0 SMS-COMMAND (MS ==> SMSC)
1 1 Zarezerwowane
(Pogrubione linie reprezentują funkcje obsługiwane przez modem SMS)
! Uwaga: nie każdy typ PDU jest obsługiwany przez Centrum Usług!
3.3 Referencja Wiadomości (MR)

Pole MR podaje liczbę całkowitą (0..255) reprezentującą numer referencyjny SMS-SUBMIT przesłanego do SMSC przez MS.
Uwaga: w modemie SMS MR jest generowany automatycznie, jednak musisz go wygenerować - przykładowy wpis to np. ”00H”
3.4 Adres Nadawcy (OA) Adres Odbiorcy (DA)
OA i DA mają ten sam format, wyjaśniony poniżej:

len:
Oktet "len" zawiera liczbę cyfr BCD
typ numeru:
81H: następujący numer jest krajowy
91H: następujący numer jest międzynarodowy
(Wiêcej informacji można znaleźć w GSM 04.08, rozdział 10.5.4.6)
cyfry BCD:
Pole cyfr BCD zawiera numer BCD Odbiorcy np. Nadawcy.
Jeśli numer BCD zawiera nieparzystą liczbę cyfr, ostatnia cyfra powinna być wypełniona znakiem końca zakodowanym jako ”FH”.
Przykład:
jeśli masz krajowy numer 1234567, musisz wpisać:
style="font-size: 14.0pt">0781214365F7
3.5 Identyfikator Protokołu (PID)
PID jest elementem informacyjnym, przez który Warstwa Transportowa odnosi się do protokołu wyższej warstwy lub wskazuje współdziałanie z określonym typem urządzenia telemtycznego.
Oto przykłady kodowania PID:
00H: PDU ma być traktowane jako wiadomość krótka
01H: PDU ma być traktowane jako telex
02H: PDU ma być traktowane jako telefax grupy 3
03H: PDU ma być traktowane jako telefax grupy 4
(Wiêcej informacji można znaleźć w GSM 03.40, rozdział 9.2.3.9)
! Uwaga: nie ma gwarancji, że SMSC obsługuje każde kodowanie PID!
3.6 Schemat Kodowania Danych (DCS)
Pole DCS wskazuje schemat kodowania danych pola UD (Dane Użytkownika) i może wskazywać klasę wiadomości. Oktet jest używany zgodnie z grupą kodowania, która jest wskazana w bitach 7..4. Oktet jest następnie kodowany w następujący sposób:
Grupa kodowania: Bity 7..4 |
bity 3..0 |
0000 |
Wskazanie alfabetu Nieokreślone przetwarzanie wiadomości w MS 0000 Domyślny alfabet (7-bitowe kodowanie danych w Danych Użytkownika) 0001-1111 zarezerwowane |
0001-1110 |
Zarezerwowane grupy kodowania |
1111 |
Kodowanie danych/klasa wiadomości bit 3 jest zarezerwowany, ustaw 0 bit 2 (kodowanie wiadomości) 0 Domyślny alfabet (7-bitowe kodowanie danych w Danych Użytkownika) 1 8-bitowe kodowanie danych w Danych Użytkownika bit 1 bit 0 (klasa wiadomości) 0 0 Klasa0 natychmiastowe wyświetlenie 0 1 Klasa1 specyficzna dla ME (Mobile Equipment) 1 0 Klasa2 specyficzna dla karty SIM style="margin-left: 3.6pt">1 1 Klasa3 specyficzna dla TE (Terminate Equipment) |
Domyślny alfabet wskazuje, że UD (Dane Użytkownika) są kodowane z 7-bitowego alfabetu podanego w załączniku A. Gdy ten alfabet jest używany, osiem znaków wiadomości jest pakowanych w siedem oktetów, a wiadomość może składać się z maksymalnie 160 znaków (zamiast 140 znaków w 8-bitowym kodowaniu danych)
W 8-bitowym kodowaniu danych można odwołać się do tabeli INTEL ASCII-HEX.
W Klasie 0 (natychmiastowe wyświetlenie) wiadomość krótka jest zapisywana bezpośrednio na wyświetlaczu, ponieważ modem SMS nie ma wyświetlacza, wiadomość Klasa 0 może być zrealizowana tylko w sposób okrężny.
W Klasach 1 do 3 wiadomość krótka jest przechowywana w różnych lokalizacjach: ME, karta SIM i TE.
Obecnie obsługiwana jest Klasa 2, jeśli wybierzesz Klasę 1 lub Klasę 3, wiadomość krótka jest traktowana w ten sam sposób jak wiadomość Klasa 2.
! Uwaga: Zaleca się używanie wiadomości Klasa 2 lub grupy kodowania ”0000 bin”!
3.7 Znacznik Czasu Centrum Usług (SCTS)
SCTS jest elementem informacyjnym, przez który SMSC informuje odbiorcę MS o czasie przybycia wiadomości krótkiej do jednostki Warstwy Transportowej SMSC. Wartość czasu jest zawarta w każdym SMS-DELIVER dostarczanym do SMSC i reprezentuje czas lokalny w następujący sposób:

Strefa czasowa wskazuje różnicę, wyrażoną w ćwiartkach godziny, między czasem lokalnym a GMT (Greenwich Mean Time).
3.8 Okres Ważności (VP)
Okres Ważności jest elementem informacyjnym, który umożliwia MS przesyłającemu SMS-SUBMIT do SMSC włączenie określonej wartości okresu czasu w wiadomości krótkiej. Wartość parametru Okresu Ważności wskazuje okres czasu, przez który wiadomość krótka jest ważna, tj. jak długo SMSC gwarantuje jej istnienie w pamięci SMSC przed dostarczeniem do odbiorcy.
Pole VP jest podane w reprezentacji całkowitej lub półoktetowej. W pierwszym przypadku VP składa się z 1 oktetu, podając długość okresu ważności, liczoną od momentu otrzymania SMS-SUBMIT przez SMSC. W drugim przypadku VP składa się z 7 oktetów, podając bezwzględny czas zakończenia okresu ważności. W pierwszym przypadku reprezentacja czasu jest następująca:
Wartość VP | Wartość okresu ważności |
---|---|
0-143 | (VP + 1) x 5 minut (tj. interwały 5 minut do 12 godzin) |
144-167 | 12 godzin + ((VP-143) x 30 minut) |
168-196 | (VP-166) x 1 dzień |
197-255 | (VP - 192) x 1 tydzień |
W drugim przypadku reprezentacja czasu jest identyczna z reprezentacją SCTS (Znacznik Czasu Centrum Usług).
Sposób reprezentacji jest ustawiony w VPF (Format Okresu Ważności) w typie PDU.
3.9 Długość Danych Użytkownika (UDL) i Dane Użytkownika (UD)
Pole UDL podaje liczbę całkowitą reprezentującą liczbę znaków w polu Dane Użytkownika, które następuje.
Przykłady PDU
Poniżej znajdują się dwa przykłady wysłania krótkiej wiadomości za pomocą AT+Cellular (szczegóły dotyczące wysyłania SMS-ów znajdują się w Dodatku B):
Najpierw wprowadź numer PIN i adres Centrum Usług:
at+cpin="XXXX"wprowadź numer PIN OK at+csca="+61418706700" wprowadź adres Centrum Usług (Telstra) OK
1. przykład:
at+cmgs=18 wprowadź „wyślij wiadomość”, 18 to rzeczywista długość PDU w oktetach > 0011000A81 4090793444 00000105E8329BFD06
wprowadź PDU (SMS-SUBMIT) i zakończ „ctrl Z” – cienko drukowane znaki to adres docelowy, np. własny numer telefonu (0409974344). Adres Centrum Usług jest taki sam, jak ustawiony za pomocą polecenia at+csca.
+CMGS: 0 OK at+cpms?czy wiadomości są zapisane na karcie SIM?
+CPMS: "SM" , 1 , 7 , "SM" , 1 , 7 na tej karcie SIM jest zapisana 1 wiadomość OK można zapisać maksymalnie 7 wiadomości at+cmgr=1odczytaj wiadomość zapisaną w lokalizacji 1
+CMGR: 0,,24 07911614786007F0040B911604994743F400009930139100406B05E8329BFD06 To jest PDU (SMS- OK -DELIVER) wysłany przez
Centrum Usług
2. przykład:
at+cmgw=18 zapisz wiadomość w pamięci karty SIM > 07911614786007F011000781409079344400F6AA0568656C6C6F wprowadź PDU (SMS-SUBMIT) i zakończ „ctrl Z” – cienko drukowane znaki to adres docelowy, np. własny numer telefonu (0409974344). Adres Centrum Usług to „+61418706700“ +CMGW: 2 OK at+cmgr=2 odczytaj wiadomość zapisaną w lokalizacji 2+CMGR: 2,,18
07911614786007F011000A81407008090500F6010568656C6C6F to jest PDU zapisane w lokalizacji 2
OK
at+cmss=2 wyślij wiadomość zapisaną w lokalizacji 2
+CMSS: 3 OK at+cmss=2,“0407485455“,129 wyślij wiadomość zapisaną w lokalizacji 2 na krajowy (129 = 81H) adres docelowy „0407485455“ at+cmss=2,“+61419877302“,145 wyślij wiadomość zapisaną w lokalizacji 2 na międzynarodowy (145 = 91H) adres docelowy „+61419877302“ at+cpms? czy wiadomości są zapisane na karcie SIM?+CPMS: "SM" , 3 , 7 , "SM" , 3 , 7 na tej karcie SIM są zapisane 3 wiadomości
OK można zapisać maksymalnie 7 wiadomości
at+cmgr=3 odczytaj wiadomość zapisaną w lokalizacji 3
+CMGR: 0,,24 07911614786007F0040B911604994743F400009930139100406B05E8329BFD06 To jest PDU (SMS- OK -DELIVER) wysłany przez Centrum Usług
Dodatek A - Domyślny alfabet

Skróty:
- MS Stacja mobilna
- SME Podmiot wiadomości krótkich
- SMSC Centrum usług wiadomości krótkich
- MMI Interfejs człowiek-maszyna
- PDU Jednostki danych protokołu
- SM-AL Warstwa aplikacyjna wiadomości krótkich
- SM-TL Warstwa transportowa wiadomości krótkich
- SM-RL Warstwa przekazywania wiadomości krótkich
- SM-LL Warstwa łącza wiadomości krótkich
- PDU Typ Typ jednostki danych protokołu
- MR Referencja wiadomości
- OA Adres nadawcy
- DA Adres odbiorcy
- PID Identyfikator protokołu
- DCS Schemat kodowania danych
- SCTS Znacznik czasu centrum usług
- VP Okres ważności
- UDL Długość danych użytkownika
- UD Dane użytkownika
- RP Ścieżka odpowiedzi
- UDHI Wskaźnik nagłówka danych użytkownika
- SRI Wskaźnik raportu statusu
- SRR Żądanie raportu statusu
- VPF Format okresu ważności
- MMS Więcej wiadomości do wysłania
- RD Odrzuć duplikaty
- MTI Wskaźnik typu wiadomości
- ME Urządzenie mobilne
- TE Urządzenie terminalowe
- SIM Moduł identyfikacji abonenta
- 0 awaria telefonu
- 1 brak połączenia z telefonem
- 2 Łącze adaptera telefonu zarezerwowane
- 3 operacja niedozwolona
- 4 operacja nieobsługiwana
- 5 Wymagany PIN PH-SIM
- 10 Karta SIM nie jest włożona
- 11 Wymagany PIN karty SIM
- 12 Wymagany PUK karty SIM
- 13 Awaria karty SIM
- 14 Karta SIM zajęta
- 15 Nieprawidłowa karta SIM
- 16 Nieprawidłowe hasło
- 20 pamięć pełna
- 21 nieprawidłowy indeks
- 22 nie znaleziono
- 23 awaria pamięci
- 24 ciąg tekstowy zbyt długi (+CPBW)
- 25 nieprawidłowe znaki w ciągu tekstowym
- 26 ciąg wybierania zbyt długi
- 27 nieprawidłowe znaki w ciągu wybierania
- 30 brak usługi sieciowej
- 31 przekroczenie czasu sieci
- 100 nieznany
- 265 Wymagany PUK do ochrony przed kradzieżą
- 266 Wymagany PUK2 dla karty SIM
- 267 Wymagany PIN2 dla karty SIM
Aby korzystać z SMS należy zadeklarować numer Centrum Usług Wiadomości Krótkich (SMSC) w Stacji Mobilnej (MS), pod warunkiem, że MS obsługuje Usługę Wiadomości Krótkich Wysłanych z Mobilnego (SMS-MO).
Modem SMS obsługuje SMS-MO.
Numery SMSC dla każdego kraju można znaleźć w tabeli Adres Centrum Usług Wiadomości Krótkich.W modemie SMS wprowadź numer SMSC za pomocą polecenia AT+Celular:
at+csca = ”<numer-SMSC>”
Jeśli odbiorca SMS-a posiada kartę SIM Telstra, polecenie AT należy wprowadzić w następujący sposób:
at+csca = "+61418706700"
Za pomocą polecenia
at+csca?
można sprawdzić aktualny numer SMSC.
! Uwaga: Oprócz polecenia AT+CSCA możliwe jest wprowadzenie numeru SMSC przed Jednostką Danych Protokołu (PDU).
More information
- Protokół SMS wyjaśniony
- Wprowadzenie do trybu PDU SMS