USSD (Unstructured Supplementary Service Data) is a text messaging protocol used by the Global System for Mobile Communications (GSM). USSD is similar to SMS (Short Message Service).
USSD employs codes composed of the characters available on a mobile phone. A USSD message, which can be up to 182 characters long, initiates a real-time communication session between the phone and another device, most commonly a network or server.
Wireless Application Protocol (WAP) surfing, mobile money services, prepaid callback service, menu-based information services, and location-based content services are all possible with USSD.
Users engage with USSD directly from their mobile phones by selecting options from numerous menus. Unlike an SMS message, a USSD message establishes a real-time connection during a USSD session. This means that USSD allows for two-way information communication as long as the communication channel remains open. As a result, requests and responses are practically instantaneous.
How USSD works
Typically, USSD involves a mobile phone user’s enquiry, such as a request for a bank account balance. When the user sends the request, the USSD gateway routes it to the user’s USSD application, which answers to it.
The procedure is then reversed, with the response returning to the USSD gateway, which displays the content of the response on the user’s mobile phone’s screen. In general, answers with a maximum of 182 alphanumeric characters are sent in an easy-to-read format. The user sends and receives data by dialling a short code, which is usually five numbers.
USSD applications operate on the network rather than on the user’s handset. As a result, they do not need to be installed on the user’s phone, which is beneficial for users with feature phones with little storage space. When USSD apps are delivered to a network, they are immediately available to all subscribers.
How USSD is used
USSD is used for a variety of things, including the following:
- Banking on the go. Unlike banking apps, which require internet access and smartphone functionality, USSD banking can be accessed via any mobile device, including feature phones.
- Requests and network configuration. USSD is a network configuration method for a user’s mobile device. It also offers a menu of service alternatives from which a user can select, such as purchasing airtime or requesting account balances.
- Customer requests for updates. To obtain updated client information, USSD can link with enterprise resource planning (ERP) and customer relationship management (CRM) systems. This improves customer service and data accuracy.
- Marketing polls. Mobile marketing can benefit from the use of USSD. Organisations, for example, can send simple marketing surveys to consumers, who can answer promptly, allowing companies to gain client feedback in real time.
- Call-back services are available. Service providers, such as insurance firms and financial institutions, can use USSD to assess their consumers’ preferences by allowing them to request callbacks after presenting their offers.
- Confirmations of orders. Food delivery services can employ USSD to facilitate two-way communication between customers who place orders and vendors who notify customers when their orders are on their way.
Coupons and vouchers are both types of vouchers. Retailers can utilise USSD to send coupons and vouchers to customers as well as communicate special offers.
Sending a text message to a service provider is how USSD payment processing works. When the service provider gets the text message, the amount of the purchase is either charged to an online payment system or added to the user’s phone bill.
The merchant subsequently delivers the items or provides the service, and the funds are deposited to the company’s account. Digital goods are frequently delivered via Multimedia Messaging Service (MMS), which allows files to be transferred to users via SMS. If the user purchased a tangible item, the receipt can be sent to the user through SMS or MMS. The majority of USSD or SMS purchases are done in Europe and Asia.
The majority of GSM phones support USSD. USSD is frequently used in conjunction with real-time or instant messaging (IM) services. USSD does not provide store-and-forward, as other short message protocols, such as SMS, do.
USSD services rely on the existing GSM network infrastructure. When a user dials a USSD service code, a conversation with a USSD app on a mobile network begins. The network node can be a mobile switching centre, visitor location registration, home locator register, or any other network entity that has access to the specific USSD service, such as an application platform.
Technically, USSD allows the mobile station user and a public land mobile network operator-defined application to communicate in a transparent manner to both the mobile station user and intermediary network entities.
An asterisk (*) precedes a typical USSD message, which is followed by digits that represent orders or data. Additional asterisks can be used to distinguish digit groups. A hashtag (#) concludes the message.
Differences between USSD, MMI and SS codes
A man-machine interface (MMI) code is any code that a user types via the keypad on his mobile phone that contains the characters * or #. Most of these MMI codes appear to be the same, yet they are categorised into separate groups and perform different functions. Some are only utilised locally on the device, while others are transferred to the SIM and others are sent to the network.
The following are the various types of MMI codes.
Supplementary service (SS) codes
These codes are in charge of call forwarding or number presentation. For example, a user might command his phone to ask the network to forward all incoming calls to the phone number 987654321 by dialling *21*987654321# SEND>. This code, however, is not delivered directly to the network; rather, it is processed by the phone, which then creates an Abstract Syntax Notation One (ASN.1) coded request to the network.
A network operator cannot change these codes, which are hardcoded into every GSM, Universal Mobile Telecommunications System (UMTS), and Long-Term Evolution (LTE) device in the globe.
If a user types a code that ends in a hashtag and taps SEND>, but the code isn’t recognised by the phone’s MMI interpreter, it will be sent to the network verbatim.
The network’s support for this code is then determined. One of the most common uses is a prepaid card code that consumers can use to check their balances. Several networks employ something akin to *#100#. However, the network operator chooses which code to use if it is not already in use.
Entering *20*1234# SEND> or *21*1234# SEND> would result in two different results: The first code would be transmitted to the network to be processed further, most likely returning an error, whereas the second code would be interpreted by the phone and submitted to the network a structured request for call forwarding activation.
Manufacturer-defined MMI codes
Manufacturers have built in these codes, which are specific to phone models, to activate service menus or reset devices, for example. These codes also include the characters * and #.
Because the codes are not broadcast to the network, the user does not need to press the SEND> key at the end because the codes are executed as soon as the user enters the final digit or character. *#06#, on the other hand, must be implemented by every maker of GSM/UMTS/LTE phones. This number displays the worldwide mobile equipment identifier of a device.
A USSD gateway service, also known as a USSD centre, delivers USSD messages from the signalling network to a service application and vice versa.
A USSD gateway is dependent on the delivery agent’s or source’s ability to transmit and receive USSD messages. USSD messages are used to inquire information and generate services using GSM signalling channels. Unlike similar services based on store-and-forward technologies, such as SMS and MMS, USSD establishes a real-time session between a mobile handset and the application handling the service.