Kody MMI i USSD – dowiedz się wszystkiego o swoim telefonie

7 minut czytania
Komentarze

Tajne kody, sekretne ciągi znaków, wiedza dla wtajemniczonych… Możliwe, że trafiliście na strony lub aplikacje, które obiecują rozszyfrować znaczenie sekretnych kodów, po wpisaniu których telefon ujawnia swoje tajemnice… Tymczasem kody MMI i USSD, bo to o nie właśnie chodzi, to nie jest jakaś sekretna wiedza – funkcjonują od wielu lat, praktycznie od początków sieci 2G. Są to ciągi znaków zawierające symbole * i #, które wraz z określonym zestawem cyfr wywołają określoną funkcję, na przykład *#06# wyświetla numer IMEI, a *100# saldo konta u operatora sieci.

W czasach przedsmartfonowych dawały dostęp do wielu informacji i funkcji, niedostępnych często z poziomu menu lub bez wsparcia operatora. Czy dziś mają jeszcze zastosowanie?

Kody MMI i USSD
Kody MMI i USSD wpisuje się tak samo, jak numer telefonu

Czym różnią się kody MMI i USSD?

Każdy kod, który wprowadzany jest z klawiatury i zawiera symbole * oraz # jest kodem MMI (Man-Machine-Interface). To termin nadrzędny, ogólny dla kodów, które następnie podzielić można na kody USSD (w praktyce większość kodów, które wpisuje użytkownik), SS i SIM.

Część kodów działa lokalnie, wewnątrz urządzenia i ma na celu wydobycie informacji o wnętrznościach urządzenia, jego komponentach i oprogramowaniu. Nie są one żadną tajemnicą i każdy może z nich korzystać (na własną odpowiedzialność). W rękach specjalistów stanowią wskazówkę do wykrycia określonych problemów z urządzeniami przenośnymi.

Menu SysDump, wywoływane kodem *#9900#

Inne kody – głównie USSD (Unstructured Supplementary Service Data), czyli nieustrukturyzowane polecenia serwisowe i kontrolne – dotyczą karty SIM, statusu połączenia z sieciami komórkowymi, salda konta i innych usług powiązanych z operatorem – generalnie są wysyłane poza telefon, do sieci operatora. Zanim upowszechniły się aplikacje operatorów, pozwalające na łatwe zarządzanie kontem, to właśnie dzięki kodom USSD można było szybko sprawdzić, ile pieniędzy jest jeszcze na karcie, a za pomocą innego kodu uzupełnić saldo.

Kody MMI – uniwersalne, ustandaryzowane kody

Specyfikacja kodów MMI jest zawarta w specyfikacji technicznej 3GPP TS 22.030: „Man-Machine Interface (MMI) of the User Equipment (UE)”. Zawiera też zdefiniowaną część kodów usług, za pomocą których można kontrolować przekierowania rozmowy czy zastrzec wyświetlanie swojego numeru na terminalu rozmówcy. To kody SS (Supplementary Service), zintegrowane we wszystkich sieciach komórkowych na całym świecie. Nie może ich zmienić ani operator komórkowy, ani producent smartfona.

Kody te mogą działać lokalnie, w urządzeniu, w związku z tym nie zawsze trzeba je czymkolwiek zatwierdzać. Tutaj wykonanie danej akcji zostanie rozpoczęte zaraz po wybraniu ostatniej cyfry lub ostatniego znaku kodu. Dotyczy to na przykład kodów SIM, czyli dodatkowych kodów MMI, które umożliwiają wyszukiwanie lub zmianę informacji na karcie SIM. Z kolei kody MMI kierowane do operatora sieci będą zatwierdzane za pomocą słuchawki.

Kody MMI są mogą być uniwersalne, używane przez dowolne urządzenie, oraz zależne od producenta – specyficzne dla danej marki telefonów lub modelu. Jest jednak jeden wspólny, obowiązkowy dla wszystkich producentów i telefonów kod, który musi zadziałać w każdym urządzeniu. Chodzi o *#06#, który pokazuje IMEI (International Mobile Equipment Identifier).

Inne ustandaryzowane kody MMI dotyczą:

  • bezwarunkowych przekierowań połączeń (sprawdzenie: *#21#, aktywacja: *21*numer_telefonu#, dezaktywacja: #21#),
  • przekierowań połączeń gdy nie odbieramy (sprawdzenie: *#61#, aktywacja: *61*numer_telefonu#, dezaktywacja: #61#),
  • przekierowań połączeń gdy użytkownik jest nieosiągalny (sprawdzenie: *#62#, aktywacja: *62*numer_telefonu#, dezaktywacja: #62#),
  • przekierowań połączeń gdy numer jest zajęty (sprawdzenie: *#67#, aktywacja: *67*numer_telefonu#, dezaktywacja #67#),
  • rozmowy oczekującej (sprawdzenie: *#43#, aktywacja: *43#, dezaktywacja: #43#),
  • identyfikacji numeru – blokowania wyświetlania numerów połączeń przychodzących (CLIP) (sprawdzenie: *#30#),
  • identyfikacji własnego numeru (CLIR) (sprawdzenie: *#31#),
  • obsługi PIN w zakresie zmiany PIN/PIN2:
    PIN: **04*OLD_PIN*NEW_PIN*NEW_PIN#
    PIN2: **042*OLD-PIN2*NEW_PIN2*NEW_PIN2#
  • obsługi PIN w zakresie odblokowania PIN/PIN2 (przy użyciu PUK/PUK2):
    PIN: **05*PIN_UNBLOCKING_KEY*NEW_PIN*NEW_PIN#
    PIN2: **052*PIN2_UNBLOCKING_KEY*NEW_PIN2*NEW_PIN2#

Usługi, dla których nie ustalono kodów MMI, są obsługiwane za pomocą kodów USSD.

Kody USSD – usługi w sieci

Mechanizm USSD, obok SMS-ów, był jedną z pierwszych usług, z których mogli korzystać użytkownicy sieci 2G/GSM, ale działa też w sieciach nowszych generacji. Nie ma tu jednak standaryzacji – kody mogą być różne u poszczególnych operatorów i producentów. Żądania USSD mogą być inicjowane na różne sposoby, poprzez kody wpisywane bezpośrednio z klawiatury, poprzez aplikacje mobilne albo aplikacje w sieci. Najprostsze w użyciu są aplikacje, nierzadko dostarczane przez samego operatora, które zwalniają użytkownika z konieczności zapamiętania kodów.

Po wpisaniu kodu USSD (który, podobnie jak MMI, zawiera symbole * i #), wysyłane jest żądanie do sieci operatora. Jeśli operator obsługuje dany kod, wtedy użytkownik uzyska pożądaną informację lub aktywuje/dezaktywuje konkretną funkcję. W przypadku kart pre-paid popularny wśród operatorów jest kod *#100#, który pozwala sprawdzić stan konta, ale w praktyce operator może wykorzystać inny ciąg znaków. Listy kodów udostępnia na przykład Play (Krótkie kody w Play) oraz Plus (Krótkie Kody podstawowych usług).

Uruchomienie kodu USSD nie następuje automatycznie – należy wpisany ciąg znaków i cyfr zakończyć wciśnięciem zielonej słuchawki, tj. nawiązaniem połączenia.

Przykładowe kody na smartfony z Androidem i iOS

W smartfonach z Androidem (sprawdzane za pomocą Samsunga Galaxy A41) mogą zadziałać następujące kody:

  • *#0*# – menu testowe,
  • *#1111# – wersja software’u,
  • *#1234# – wersja firmware’u,
  • *#2222# – wersja hardware’u,
  • *#0228# – informacje o stanie baterii,
  • *#0011# – informacje o stanie GSM dla każdej z kart SIM,
  • *#9090# – menu DIAG time Config,
  • *#9900# – menu SysDump,
  • *#0808# – ustawienia USB,
  • *#67# – informacje o przekazywaniu połączeń (także *#61#),
  • *31# oraz #31# – włączenie lub wyłączenie usługi Caller ID.
Kod *#0228# wyświetla informacje o baterii

A to kody działające z iPhonem (sprawdzane za pomocą iPhone’a 12 Pro):

  • ##002# – wyłącza wszystkie przekierowania połączeń,
  • ##004# – wyłącza wszystkie warunkowe przekierowania połączeń,
  • ##61# – wyłącza opóźnione przekierowanie połączeń,
  • ##62# – wyłącza przekierowanie połączeń gdy numer nie jest dostępny,
  • *#61# – sprawdza, czy opóźnione przekierowanie połączeń jest aktywne,
  • *#62# – sprawdza, czy przekierowanie połączeń jest aktywne, gdy numer nie jest dostępny,
  • *#67# – informacje o przekazywaniu połączeń,
  • *#07# – informacje prawne i certyfikaty,
  • *3001#12345#* – informacje o sieci operatora.
Kod *3001#12345#* wyświetli informacje o sieci na iPhone’ie

Dlaczego kod nie działa?

Choć są kody uniwersalne, które powinny zadziałać na każdym urządzeniu, to nierzadko zapewne zobaczycie informację „nieprawidłowe żądanie” lub „błędny kod MMI”. Wynika to z tego, że każdy producent telefonów komórkowych może stosować nieco inny zestaw kodów, podobnie jak kody mogą różnić się u poszczególnych operatorów (a nawet w obrębie usługi na kartę i abonamentowej). Co więcej, kody mogą być modyfikowane wraz ze zmianą oprogramowania czy aktualizacją systemu.

Wiele kodów prezentuje żądane informacje na ekranie telefonu, inne potrafią aktywować lub dezaktywować wybrane funkcje, ale są też takie, które mogą usuwać pliki lub wyczyścić telefon, tj. przywrócić go do stanu fabrycznego. I teoretycznie można to nawet zrealizować zdalnie. W 2012 roku podczas konferencji Ekoparty zaprezentowano błąd w oprogramowaniu TouchWiz w smartfonach Samsunga, w wyniku którego, z wykorzystaniem prostego kodu USSD i spreparowanej strony (albo danych wysłanych przez NFC lub w kodzie QR) możliwe było zainicjowanie fabrycznego resetu telefonu – a użytkownik nie miałby możliwości zatrzymania tego działania.

    Motyw