Unstructured Supplementary Service Data

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, wyszukiwania

USSD (ang. Unstructured supplementary service data) - mechanizm używany w sieciach GSM i UMTS, umożliwiający bezpośrednią komunikację pomiędzy telefonem komórkowym a poszczególnymi elementami sieci komórkowych. Operacje USSD mogą być inicjowane przez aplikacje w telefonie komórkowym, bezpośrednio przez użytkownika za pomocą klawiatury (Man-Machine Interface (MMI)) lub przez aplikację w sieci.

USSD wykorzystywane jest na przykład do aktywowania usług, supplementary services (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.

Inicjowanie operacji przez telefon komórkowy[edytuj | edytuj kod]

Operacja USSD może być zainicjowana przez aplikację na telefonie komórkowym, bądź bezpośrednio przez użytkownika za pomocą Man-Machine Interface (MMI).

MMI interface[edytuj | edytuj kod]

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 '#') 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[edytuj | edytuj kod]

Część service codów zdefiniowana jest w specyfikacji 3GPP. Mogą one posłużyć użytkownikowi do kontrolowania tzw. supplementary services oferowanych przez sieci GSM/UMTS (np. ustawienie przekierowania rozmowy, lub zastrzeżenie wyświetlania swojego numeru na terminalu osoby do której się dzwoni). Poniżej znajduje się przykład użycia USSD do kontroli mechanizmu przekierowania rozmowy w sytuacji gdy abonent ma wyłączony telefon lub jest poza zasięgiem sieci.

Information icon.svg Jeśli chesz znaleźć service cody dla wszystkich supplementary services dostępnych w sieciach GSM i UMTS, zobacz artykuł Lista supplementary services w sieciach GSM i UMTS.
  • *62*<numer na który ma być przekierowana rozmowa># – aktywacja przekierowania (w przypadku gdy abonent nie jest dostępny) na nowy numer
  • ##62# – deaktywacja "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[edytuj | edytuj kod]

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 Prepaid 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")
Menu of USSD application-cell phone.jpg

Aplikacje oferowane przez telefon komórkowy[edytuj | edytuj kod]

Producenci telefonów komórkowych dostarczają je wraz z softwarem. 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[edytuj | edytuj kod]

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[edytuj | edytuj kod]

Implementacja USSD w telefonie komórkowym[edytuj | edytuj kod]

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[edytuj | edytuj kod]

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

Information icon.svg Jeś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[edytuj | edytuj kod]

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[edytuj | edytuj kod]

  • 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[edytuj | edytuj kod]