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ść VPWartość okresu ważności
0-143(VP + 1) x 5 minut (tj. interwały 5 minut do 12 godzin)
144-16712 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

SMS technical

SMS tech

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=1
odczytaj 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

SMS Technical table

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
Czasami skrót SC (Centrum Usług) oznacza to samo co SMSC..

Tryb PDU jest domyślnym ustawieniem dla modemu SMS. .

Aby móc odczytać wiadomość SMS bezpośrednio w formacie tekstowym, upewnij się, że modem SMS został ustawiony w trybie tekstowym..

Numer telefonu można wprowadzić jako numer krajowy lub międzynarodowy (+61…)..

Jeden oktet zawiera dwa pola cyfr BCD, np. 11, 00 lub 0A itp..

18 to długość wiadomości PDU w oktetach, jak pokazano w kroku 2..

Wybieranie odpowiedniego SMSC

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