What's the difference between USSD and MMI codes?
MMI codes or Man-Machine Codes, are special codes you dial on your phone to communicate with your phone, SIM, or with your service provider’s network operator computers.
By dialing MMI codes on your phone you will be able to obtain valuable data or change phone/ sim settings you can’t access through the phone’s user interface.
Every code that you enter over your phone keypad that contains an asterisk (*) or hash (#) characters is an MMI code. MMI stands for Man-Machine-Interface.
Even though most of these MMI codes look pretty similar, they fall into different groups with completely different actions. Some are just used locally on the device, some are sent to the SIM, others are sent to the network.
MMI codes usually contain special characters such as the asterisk * and the # hash.
Among the most common MMI codes used to communicate with your phone is *#06#, and it is the code to get your phone’s IMEI/Serial number.
Another set of MMI codes are USSD codes. They are also known as Quick Codes or Feature Codes, and they are used in GSM cellular telephones to communicate with their mobile network operators. You often use USSD codes to check your prepaid card balance.
USSD or Unstructured Supplementary Service Data is the USSD full form. USSD is the basic service provided GSM network operators for sending and receiving data (or strings) on a mobile device to/from the core network of a mobile operator
How do MMI Codes work?
When you dial the MMI code in your phone, it is processed your phone’s MMI reader, and if or when it does not recognize the code, it is then sent to the network verbatim.
Say, for example, you have sent the code *123*567# your phone’s MMI parser will send the “command” to the phone, and if it doesn’t recognize the code as an internal command, it will then send it to your network operator verbatim.
Your network has a specific list of MMI codes they use on their own so if it returns with a “Connection Problem or invalid MMI code” message, it means that the MMI code you have used is not recognized or your phone failed to connect to your network.