CSMS – Wikipedia, wolna encyklopedia

CSMS (ang. Concatenated SMS)[1] – usługa łączonych SMS-ów umożliwiająca przekroczenie ograniczenia do 160 znaków dla pojedynczego SMS-a. Przy użyciu tej metody, długie wiadomości dzielone są po stronie nadawczej, a po stronie odbiorczej, po odebraniu wszystkich danych, fragmenty są łączone celem prezentacji użytkownikowi. Opłata jest naliczana za każdą wiadomość składową CSMS-a. Początkowo, ze względu na brak wzajemnej zgodności pomiędzy operatorami telekomunikacyjnymi, użycie funkcji CSMS mogło być utrudnione.

Obecnie, usługa CSMS jest szeroko rozpowszechniona. Także dostawcy niektórych bramek SMS oferują taką usługę.

W jedną wiadomość CSMS można połączyć do 255 SMS-ów (ok. 40 kB), ale terminale pośredniczące nakładają jednak ograniczenie do ok. 900 znaków.

Wysyłanie łączonego SMS-a

[edytuj | edytuj kod]

W celu przesłania długiej wiadomości jest ona dzielona na części składające się maksymalnie z 133 lub 134 oktetów (153 lub 152 7-bitowych znaków). Do tego dodawane jest 6 lub 7 bajtów jako UDH zawierających informacje o tym, jak dokonać ponownego połączenia wiadomości.Jeśli używamy takich opcji jak formatowanie tekstu lub osadzona grafika, maksymalna długość pojedynczej wiadomości ulegnie dalszemu skróceniu.

Przykładowy format UDH opisujący długą wiadomość z 8-bitowym numerem referencyjnym przedstawia się następująco:

  • Bajt 00: Liczba bajtów składających się na element UDH, w tym wypadku 5
  • Bajt 01: Typ elementu nagłówka dla łączonego SMS-a - 0 dla 8-bitowego numeru referencyjnego
  • Bajt 02: Długość elementu pozostałej części elementu (3 bajty dla 8bit-CSMS)
  • Bajt 03: 00-FF, numer referencyjny CSMS, musi być identyczny dla wszystkich SMS-ów w ramach jednej wiadomości
  • Bajt 04: 00-FF, łączna liczba części
  • Bajt 05: 00-FF, numer porządkowy w bieżącej wiadomości - numerowanie rozpoczyna się od 1

Przykładowy format UDH opisujący długą wiadomość z 16-bitowym numerem referencyjnym przedstawia się następująco:

  • Bajt 00: Liczba bajtów składających się na element UDH, w tym wypadku 6
  • Bajt 01: Typ elementu nagłówka dla łączonego SMS-a - 8 dla 16-bitowego numeru referencyjnego
  • Bajt 02: Długość elementu pozostałej części elementu (4 bajty dla 16bit-CSMS)
  • Bajt 03: 00-FF, połowa numeru referencyjnego CSMS, musi być identyczny dla wszystkich SMS-ów w ramach jednej wiadomości
  • Bajt 04: 00-FF, druga połowa numeru referencyjnego CSMS, musi być identyczny dla wszystkich SMS-ów w ramach jednej wiadomości
  • Bajt 05: 00-FF, łączna liczba części
  • Bajt 06: 00-FF, numer porządkowy w bieżącej wiadomości - numerowanie rozpoczyna się od 1

W przypadku kiedy rozmiar w bitach elementu UDH nie jest wielokrotnością jednostki kodowania znaków w wiadomości (np. 7-bitowych znaków) dodawane są bity wyrównujące, gdyż dane użytkownika (właściwa wiadomość) muszą zaczynać się od bitu będącego wielokrotnością jednostki kodowania znaków.

Przykład: Dla UDH, które zajmuje 6 bajtów (8-bitowy numer referencyjny) i znaków kodowanych 7 bitowo wielkość UDH wynosi 48 bitów, i nie jest wielokrotnością 7. W taki wypadku dodawany jest 1 bit wyrównujący, aby wiadomość użytkownika zaczęła się od 49 bitu. (bity numerowane od 0, czyli UDH jest na bitach 0 - 47 + 48 bit wyrównujący + treść wiadomości od 49 bitu).

Przykład UDH dla SMS-a podzielonego na dwa fragmenty:

05 00 03 CC 02 01 [ treść wiadomości ] 05 00 03 CC 02 02 [ treść wiadomości ] 

Porównanie maksymalnej długości wiadomości

[edytuj | edytuj kod]
Liczba wiadomości SMS[a] CSMS
7-bit 8-bit 16-bit 7-bit 8-bit 16-bit[b]
1 160 140 70 nie dotyczy nie dotyczy nie dotyczy
2 320 280 140 306 268 134/132
3 480 420 210 459 402 201/198
4 640 560 280 612 534 268/264
5 800 700 350 765 670 335/330
Kolejna wiadomość +160 +140 +70 +153 +134 +67/+66
  1. Przy zastrzeżeniu że każde 160/140/70 znaków należy wysłać jako osobną wiadomość.
  2. w przypadku gdy numer referencyjny jest odpowiednio 8 lub 16-bitowy

Przypisy

[edytuj | edytuj kod]
  1. Concatenated SMS. mediaburst.co.uk. (ang.).