Unstructured Supplementary Service Data

Unstructured Supplementary Service Data (w tłumaczeniu z angielskiego: Nieustrukturyzowane Dane Usług Dodatkowych), USSD – mechanizm używany w sieciach GSM i UMTS, umożliwiający bezpośrednią komunikację między telefonem komórkowym a elementami sieci komórkowych. Operacje USSD mogą być inicjowane w telefonie komórkowym (przez aplikacje mobilne lub przez użytkownika za pomocą interfejsu) albo przez aplikacje w sieci.

USSD wykorzystywane jest na przykład do aktywowania usług dodatkowych (na przykład przekierowania rozmów przychodzących), zasilenia konta za pomocą telekodu lub sprawdzania dostępnego limitu na koncie użytkownika rozliczającego się w systemie prepaid. Może być wykorzystywane również do płatności mobilnych.

Inicjowanie operacji przez telefon komórkowy

Operacja USSD może być inicjowana przez aplikację zainstalowaną w telefonie komórkowym albo przez człowieka (za pomocą interfejsu użytkownika).

MMI interface

Gdy użytkownik wpisze za pomocą klawiatury (MMI interface) sekwencje znaków, która może być uznana za wywołanie USSD (w ogólnym przypadku jest to ciąg znaków zakończony przez znak hasha '#') i naciśnie przycisk inicjujący rozmowę, zamiast próby zestawienia połączenia zostanie do sieci wysłana operacja USSD zawierająca wpisane znaki. Odpowiednie elementy sieciowe odpowiedzialne za przetwarzanie tej informacji, wykonają związaną z nią akcję i (opcjonalnie) zwrócą informacje do użytkownika (zostanie ona wyświetlona na ekranie telefonu komórkowego).

Oto przykładowa struktura wywołań USSD:

  • *<service code>#
  • *<service code>*parametry#
  • ##<service code>#

Kontrola usług wynikających ze specyfikacji 3GPP

Część kodów usług zdefiniowana jest w specyfikacji 3GPP. Mogą one służyć użytkownikowi do zarządzania dodatkowymi usługami oferowanych przez sieci GSM i UMTS (ustawienie przekierowania rozmowy, zastrzeżenie wyświetlania swojego numeru na terminalu rozmówcy). Poniżej znajduje się przykład użycia USSD do kontroli mechanizmu przekierowania rozmowy, gdy abonent ma wyłączony telefon lub jest poza zasięgiem sieci.

  • *62*<numer na który ma być przekierowana rozmowa># – aktywacja przekierowania (w przypadku gdy abonent nie jest dostępny) na nowy numer
  • ##62# – dezaktywacja "przekierowania w przypadku gdy abonent nie jest dostępny"
  • *#62# – sprawdzenie obecnego statusu "przekierowania w przypadku gdy abonent nie jest dostępny" (czy jest aktywne, jeśli tak to na jaki numer)

Kontrola usług dodatkowych oferowanych przez operatora

Operator może oferować dodatkowe usługi nie uwzględnione w specyfikacji, a ich wywołanie powiązać z pewnymi service codami i w ten sposób umożliwić swoim abonentom dostęp do ich aktywacji i konfiguracji. Oto przykłady kodów USSD, których mogą użyć abonenci telefonów z przedpłatą sprzedawanych pod marką Simplus, działających w sieci Plus:

  • *123*TELEKOD# (gdzie TELEKOD oznacza 14- lub 16-cyfrowy numer z Telekarty SIMPLUS) – zasilenie konta Simplus
  • *103*11*48numer_tel# – wprowadzenie numeru telefonu na który będzie można wykonywać tańsze połączenia (usługa Swojaki)
  • *103*00*48numer_tel# – usunięcie numeru telefonu z listy w usłudze "Swojaki"
  • *103# – system wyśle do użytkownika SMS zawierający listę numerów, na które można wykonywać tańsze połączenia (usługa Swojaki)

Aplikacje oferowane przez telefon komórkowy

Producenci telefonów komórkowych dostarczają je wraz z oprogramowaniem. Część aplikacji służy do konfigurowania telefonu lub ustawień sieciowych. Te, które są związane z ustawieniami sieciowymi, zbudowane są z przejrzystego menu, które zwalnia użytkownika ze znajomości skomplikowanych kodów USSD i ich składni związanych z poszczególnymi ustawieniami. Po wybraniu jednej z dostępnych opcji w danej aplikacji, telefon wysyła taką samą operację USSD jak w przypadku wpisania odpowiedniego ciągu znaków na klawiaturze.

Operator oferując dany aparat w abonamencie może dostarczyć go z odpowiednią aplikacją, która będzie wykorzystywać pewne kody USSD specyficzne dla danej sieci.

Na zdjęciu obok znajduje się menu aplikacji umożliwiającej kontrolę nad ustawieniami sieciowymi związanymi z przekierowaniem połączeń (możliwe akcje związane z kontrolą ustawień sieciowych dla przekierowania połączenia w sytuacji gdy dany abonent nie odbiera przychodzącej rozmowy).

Inicjowanie operacji przez aplikacje w sieci komórkowej

Operacje USSD mogą być również inicjowane przez aplikacje znajdujące się w sieci komórkowej. W wyniku takiej akcji, odpowiedni komunikat (o treści ustalonej przez aplikację) pojawi się na wyświetlaczu telefonu komórkowego. Możliwe jest też przesłanie wraz z operacją USSD (i związanym z nią komunikatem) odpowiedniej instrukcji, która zostanie zinterpretowana przez telefon jako "żądanie odpowiedzi". Wprowadzony przez użytkownika ciąg znaków zostanie odesłany do aplikacji która zainicjowała połączenie.

Mechanizm inicjowania dialogu przez aplikację za pomocą USSD ("USSD push") daje operatorom i innym współpracującym z nimi firmom możliwość zaoferowania nowych usług dla abonentów.

Techniczna realizacja USSD

Implementacja USSD w telefonie komórkowym

Obsługa wysyłania i odbierania operacji USSD zaimplementowana jest w każdym telefonie komórkowym działającym w standardzie GSM lub UMTS. Każdy terminal potrafi prawidłowo zinterpretować wprowadzany ciąg znaków jako żądanie wysłania operacji USSD[1], odpowiednio wyświetlić odpowiedź, która została przesłana z sieci lub wejść w tryb edycji odpowiedzi na operacje USSD zainicjowaną przez sieć. Oferowane jest też odpowiednie API, które może być wykorzystane przez odpowiednie aplikacje.

Współdziałanie elementów infrastruktury telekomunikacyjnej

Mechanizm USSD jest także zaimplementowany w niektórych elementach infrastruktury sieci GSM/UMTS:

Information icon.svgJeśli chcesz zapoznać się z architekturą sieci komórkowych i opisem współdziałania ich elementów, zobacz rozdział Architektura sieci GSM w artykule GSM.
Infrastruktura Wspomagajaca USSD.svg

W momencie, gdy telefon wysyła operację USSD, poprzez sieć radiową dociera ona do obsługującej go centrali MSC i związanego z nią VLR.

  1. jeśli service code użyty w operacji USSD jest z zakresu 100 – 149, VLR prześle tę operację do HLR przechowującego dane użytkownika, który ją zainicjował.
  2. jeśli service code użyty w operacji USSD jest z zakresu 150 – 199, zostanie on obsłużony bezpośrednio przez aplikację w MSC/VLR.

Jeśli operacja USSD ma być obsłużona przez MSC/VLR (przypadek 2), ale użyty w niej service code nie zostanie przez nie rozpoznany, do telefonu będzie odesłana informacja o błędzie. Jeśli użyty service code jest zdefiniowany w MSC/VLR, odpowiednia aplikacja zacznie przetwarzać operację.

Jeśli operacja USSD przesłana jest do HLR, zawarty w niej service code jest analizowany na podstawie specjalnej tablicy routingu.

  • Jeśli nie jest ona znaleziona w tej tablicy, do telefonu komórkowego zwracana jest informacja o błędzie.
  • Jeśli analiza wykaże, że operacja powinna być obsługiwana przez HLR, odpowiednia aplikacja w tym elemencie sieci komórkowej przejmie kontrolę nad przetwarzaniem tej operacji. Tak dzieje się np. w przypadku obsługi supplementary services poprzez USSD, czyli np. ustawienia przekierowania rozmowy lub zastrzeżenia wyświetlania swojego numeru na telefonie, do którego się dzwoni (te informacje o abonencie przechowywane są właśnie w HLR).
  • Dzięki technologii CAMEL możliwe jest przesłanie operacji USSD z HLR do zewnętrznej aplikacji. W tablicy routingu dla danego service codu może znaleźć się informacja, że operacja powinna zostać przesłana do innego elementu sieciowego (wraz z adresem tego elementu). Najczęściej tym elementem jest Service Control Point, platforma, na której uruchomiane są serwisy działające na bazie sieci inteligentnych, np. prepaid. Mogą to być też inne zewnętrzne bazy danych lub serwery aplikacyjne w internecie.

Użyte protokoły

Do komunikacji USSD pomiędzy telefonem komórkowym a MSC używa się protokołu DTAP (Direct Transfer Application Part) opisanego w specyfikacji 3GPP TS 24.08. MSC i VLR zazwyczaj są zaimplementowane w jednym elemencie sieciowym, więc wymiana informacji pomiędzy nimi jest kwestią wewnętrznej komunikacji w tym elemencie. Przesyłanie operacji pomiędzy VLR i HLR następuje na bazie protokołu MAP (Mobile Application Part), specyfikacja 3GPP TS 29.02. HLR używa też tego protokołu do dalszego przesyłania operacji USSD do zewnętrznych aplikacji.

Przypisy

  1. Specyfikacja 3GPP TS 22.030 v4.1.0 Man-Machine Interface (MMI) of the User Equipment (UE). Rozdział 6.5.2 Supplementary Services Control

Bibliografia

  • Rogier Noldus. CAMEL: Intelligent Networks for the GSM, GPRS and UMTS Network
  • 3GPP TS 22.30 Man-Machine Interface (MMI) of the User Equipment (UE)
  • 3GPP TS 22.90 Unstructured Supplementary Service Data (USSD) – Stage 1
  • 3GPP TS 23.90 Unstructured Supplementary Service Data (USSD) – Stage 2

Linki zewnętrzne

Media użyte na tej stronie

Infrastruktura Wspomagajaca USSD.svg
Autor: Wersję rastrową wykonał użytkownik polskiego projektu wikipedii: Pan Camel, Zwektoryzował: Krzysztof Zajączkowski, Licencja: CC BY 3.0
Infrastruktura sieci GSM i UMTS wspomagająca mechanizm USSD.
Menu of USSD application-cell phone.jpg
(c) Pan Camel z polskiej Wikipedii, CC BY 3.0
Menu aplikacji w telefonie komórkowym umożliwiającej kontrolę nad ustawieniami sieciowymi związanymi z przekierowaniem połączeń