Unstructured Supplementary Service Data (USSD) codes are codes used to communicate with the network provider or to connect to an application. Most USSD codes start with an asterisk (*) followed by a few digits, then end with a number sign (#). When the <SEND> key is pressed, the USSD code is sent to the network for further processing.
Today, we can see that USSD codes are already being used by our networks in different applications such as:
- prepaid balance inquiry (e.g. Smart’s *214#)
- menu-based information services (e.g. Globe’s *143# and Smart’s *121#)
- mobile banking services (e.g. BPI’s mobile banking *119#)
Unlike SMS, USSD messages create a real-time connection during a USSD session. The connection remains open, allowing a two-way exchange of a sequence of data. This makes USSD more responsive than services that use SMS. And another good thing about USSD codes is it doesn’t need 3G or 4G connection. 2G is enough.
Note: Don’t get confused USSD codes with MMI codes like *#06#. These are manufacturer defined MMI codes. They follow a format similar format to USSD. They also start with an asterisk (*) and end with a number sign (#) but they don’t require pressing the <SEND> key to activate. The command is executed as soon as the last digit or character has been entered. MMI codes have been built in by the manufacturer to control the handset/device, for example, show the device’s IMEI (*#06#) or reset the device (*#7780#).[Source: Wikipedia, tobias @ Berlin CCC]