MMI and USSD codes – find out everything about your phone

MMI and USSD codes - find out everything about your phone

Secret codes, secret strings, knowledge for insiders … It is possible that you have come across websites or applications that promise to decode the meaning of secret codes, after entering which the phone reveals its secrets … Meanwhile MMI and USSD codes, because that’s what it’s about, it’s not there is some secret knowledge – they have been functioning for many years, practically from the beginning of the 2G network. These are strings of characters containing the symbols * and # which, together with a certain set of numbers, will trigger a specific function, for example * # 06 # displays the IMEI number, and * 100 # the account balance with the network operator.

Read Also: Airplane mode – what is it, how does it work and when is it worth using?

In pre-smartphone times, they gave access to many information and functions, often unavailable from the menu level or without operator support. Do they still apply today?

What’s the difference between MMI and USSD codes?

difference between MMI and USSD codes

Each code that is entered from the keyboard and contains the symbols * and # is an MMI (Man-Machine-Interface) code. This is a parent term, general for codes that can then be divided into USSD codes (in practice most of the codes entered by the user), SS and SIM.

Some of the codes work locally, inside the device, and are designed to extract information about the guts of the device, its components and software. They are no secret and everyone can use them (at their own risk). In the hands of specialists, they provide a clue to discovering specific problems with mobile devices.

MMI codes - universal, standardized codes
SysDump menu, invoked by the code * # 9900 #

Other codes – mainly USSD (Unstructured Supplementary Service Data), i.e. unstructured service and control commands – concern the SIM card, connection status with mobile networks, account balance and other services related to the operator – are generally sent outside the phone to the operator’s network. Before the operators’ applications allowing for easy account management became popular, it was thanks to the USSD codes that it was possible to quickly check how much money was still on the card, and to top up the balance using a different code.

MMI codes – universal, standardized codes

The specification of the MMI codes is contained in the technical specification 3GPP TS 22.030: “Man-Machine Interface (MMI) of the User Equipment (UE)” . It also contains a defined part of service codes with which you can control call forwarding or restrict displaying your number on the caller’s terminal. These are SS (Supplementary Service) codes , integrated in all cellular networks around the world. Neither the mobile operator nor the smartphone manufacturer can change them.

These codes may work locally on the device, so you do not always need to confirm them by anything. Here, the execution of the given action will start immediately after selecting the last digit or the last character of the code. This applies, for example , to SIM codes, which are additional MMI codes that allow you to search for or change information on your SIM card . In turn, the MMI codes addressed to the network operator will be validated using the handset.

MMI codes can be universal, used by any device, and depending on the manufacturer – specific to a given phone brand or model. However, there is one common code, obligatory for all manufacturers and phones, which must work in every device . It is about * # 06 # which shows the IMEI (International Mobile Equipment Identifier).

Other standardized MMI codes concern:

  • unconditional call forwarding (checking: * # 21 # , activation: * 21 * phone_number # , deactivation: # 21 # ),
  • call forwarding when we do not answer (checking: * # 61 # , activation: * 61 * phone_number # , deactivation: # 61 # ),
  • call forwarding when the user is unavailable (checking: * # 62 # , activation: * 62 * phone_number # , deactivation: # 62 # ),
  • call forwarding when the number is busy (checking: * # 67 # , activation: * 67 * phone_number # , deactivation # 67 # ),
  • waiting call (checking: * # 43 # , activation: * 43 # , deactivation: # 43 # ),
  • number identification – blocking the display of incoming call numbers (CLIP) (checking: * # 30 # ),
  • own number identification (CLIR) (checking: * # 31 # ),
  • PIN:
    PIN: ** 04 * OLD_PIN * NEW_PIN * NEW_PIN #
    PIN2: ** 042 * OLD-PIN2 * NEW_PIN2 * NEW_PIN2 #
  • PIN:
    PIN: ** 05 * PIN_UNBLOCKING_KEY * NEW_PIN * NEW_PIN #
    PIN2: ** 052 * PIN2_UNBLOCKING_KEY * NEW_PIN2 * NEW_PIN2 #

Services for which MMI codes have not been established are handled with USSD codes.

USSD codes – network services

The USSD mechanism, next to SMS, was one of the first services that users of 2G / GSM networks could use, but it also works in newer generation networks. However, there is no standardization here – codes may differ between operators and manufacturers. USSD requests can be initiated in various ways, through codes typed directly from the keyboard, through mobile applications or applications on the network. The easiest to use are the applications, often provided by the operator himself, which relieve the user from having to remember the codes.

After entering the USSD code (which, like the MMI, contains the symbols * and #), the request is sent to the operator’s network. If the operator supports a given code, then the user will obtain the desired information or activate / deactivate a specific function. In the case of pre-paid cards, the code * # 100 # is popular among operators, which allows you to check the account balance, but in practice the operator may use a different string of characters. Codelists are available.

The USSD code activation does not take place automatically – the entered sequence of characters and numbers should be ended by pressing the green receiver, i.e. establishing a connection.

Sample codes for smartphones with Android and iOS

The following codes may work on Android smartphones (checked with the Samsung Galaxy A41):

  • * # 0 * # – test menu,
  • * # 1111 # – software version,
  • * # 1234 # – firmware version,
  • * # 2222 # – hardware version,
  • * # 0228 # – battery status information,
  • * # 0011 # – GSM status information for each SIM card,
  • * # 9090 # – DIAG time Config menu,
  • * # 9900 # – SysDump menu,
  • # 0808 # – USB settings,
  • # 67 # – information about call forwarding (also * # 61 #),
  • * 31 # and # 31 # – enable or disable the Caller ID service.
The code * # 0228 # displays information about the battery
The code * # 0228 # displays information about the battery

And these are the codes that work with the iPhone (checked with the iPhone 12 Pro):

  • ## 002 # – disable all call forwarding,
  • ## 004 # – disable all conditional call forwarding,
  • ## 61 # – turn off delayed call redirection,
  • ## 62 # – disable call redirection when the number is not available,
  • * # 61 # – checks if delayed call forwarding is active,
  • * # 62 # – checks if call forwarding is active when the number is not available,
  • * # 67 # – information about call forwarding,
  • * # 07 # – legal information and certificates,
  • * 3001 # 12345 # * – information about the operator’s network.

Why is the code not working?

Why is the code not working

Although there are universal codes that should work on every device, you will likely see the information “invalid request” or “invalid MMI code”. This is due to the fact that each mobile phone manufacturer may use a slightly different set of codes, just as the codes may differ from one operator to another (and even within the pre-paid and post-paid service). What’s more, the codes can be modified along with the software change or system update.

Many codes present the required information on the phone screen, others can activate or deactivate selected functions, but there are also those that can delete files or clean the phone, i.e. restore it to its factory state. And theoretically, it can even be done remotely. In 2012, during the Ekoparty conference, a bug in the TouchWiz software on Samsung smartphones was presented, as a result of which, using a simple USSD code and a crafted page (or data sent via NFC or in a QR code), it was possible to initiate a factory reset of the phone – and the user would not be able to stop this action.

About Post Author

Leave a Reply

Your email address will not be published.