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 |
Uwagi
[edytuj | edytuj kod]Przypisy
[edytuj | edytuj kod]- ↑ Concatenated SMS. mediaburst.co.uk. (ang.).