Description
Unstructured Supplementary Services Data (USSD) is a session-based, real-time communication protocol used in GSM, UMTS, and related mobile networks. Unlike SMS, which is store-and-forward, USSD establishes a transient interactive dialogue between the user's mobile station (MS) and an application in the network, typically a USSD Gateway or a service node. The user initiates a session by dialing a USSD string, which begins with an asterisk (*) and ends with a hash (#), for example, *123#. This string is transmitted from the MS to the Mobile Switching Center (MSC) or Serving GPRS Support Node (SGSN) over the signaling channels (e.g., the DTAP protocol on the radio interface). The MSC/SGSN routes the USSD message to the appropriate USSD handler based on the dialed code.
The core network element for USSD is the USSD Gateway or USSD Service Center. It acts as an interpreter and router for USSD messages. Upon receiving a USSD string, the gateway can either process it locally using internal service logic or forward it to an external application server (e.g., a prepaid system, customer care platform) via protocols like MAP or SMPP. The application generates a text response, which is sent back through the gateway and MSC to the user's handset, displaying it on the screen. A USSD session remains open until explicitly ended by the user (e.g., by sending another #) or by a network timeout, allowing for multiple message exchanges in a single session to support menu navigation.
USSD operates independently of the circuit-switched or packet-switched bearer services; it uses the non-call associated signaling path. This means it works even when the user is on a voice call or in an area without GPRS/EDGE/3G data coverage, providing near-universal availability. The messages are carried within MAP (Mobile Application Part) operations, specifically MAP PROCESS-UNSTRUCTURED-SS-REQUEST and MAP UNSTRUCTURED-SS-REQUEST. Architecturally, it leverages the existing SS7 or SIGTRAN infrastructure for transport between the MSC and the USSD Gateway. Its role is to provide a lightweight, low-latency interface for simple but critical subscriber services, especially in markets where smartphones and mobile data are not ubiquitous.
Purpose & Motivation
USSD was created to offer a simple, efficient, and interactive method for mobile subscribers to access network-based services directly from their handset's dialer, without requiring a data plan or specific application installation. In the early days of GSM, operators needed a way to allow customers to manage their services (e.g., check prepaid balance, activate call forwarding) without relying on customer service calls or complex handset menus. USSD solved this by providing a standardized, machine-to-machine text interface that could be triggered by the user and processed in real-time by network applications.
It addressed significant limitations of alternative methods. Interactive Voice Response (IVR) systems required a voice call, incurring cost and occupying a traffic channel. SMS-based services suffered from latency due to the store-and-forward nature and required the user to remember specific syntax. USSD, by contrast, uses signaling channels, is session-oriented for fast interaction, and uses a simple, memorable code structure (*XXX#). This made it ideal for prepaid systems, where real-time balance inquiry and top-up are critical, and for value-added services like mobile banking (m-banking) in developing regions.
The historical context is rooted in the GSM Phase 2+ specifications, where supplementary services were being expanded. USSD provided an 'unstructured' counterpart to the highly structured supplementary services like call forwarding. Its flexibility allowed operators and third parties to rapidly deploy new text-based services. Its enduring purpose, especially in emerging markets, is to bridge the digital divide by delivering essential financial and information services to basic and feature phones, ensuring service accessibility for the entire subscriber base regardless of handset capability.
Classification
Evolution Across Releases
Formally standardized as a core supplementary service mechanism in 3GPP. It established the basic architecture involving the Mobile Station, MSC/VLR, and a USSD Service Center/Node, defining the MAP-based signaling procedures for both mobile-originated and network-originated USSD sessions to support a wide range of interactive services.
Explore further
Broader topics and technologies where USSD plays a role.
Defining Specifications
3GPP specifications that define or reference USSD, with the latest known release. Sourced from the 3GPP document catalog — see methodology.
| Specification | Title | Release |
|---|---|---|
| TR 21.905 vj00 | 3GPP Technical Terms and Definitions | Rel-19 |
| TS 22.121 v1400 | Virtual Home Environment Requirements | Rel-5 |
| TR 22.945 v1300 | Fax Services Guidance for GSM/UMTS | Rel-4 |
| TS 23.048 v1400 | Secured Packets for UICC Remote Management | Rel-5 |
| TS 23.057 vj00 | Mobile Execution Environment (MExE) Specification | Rel-19 |
| TS 23.090 vj00 | USSD Stage 2 Specification | Rel-19 |
| TS 23.110 vj00 | Access Stratum Services Specification | Rel-19 |
| TS 23.806 v1700 | Voice Call Continuity between CS and IMS | Rel-7 |
| TS 24.259 vj00 | Personal Network Management (PNM) Protocol Details | Rel-19 |
| TS 24.294 vj00 | IMS Centralized Services (ICS) I1 Interface Protocol | Rel-19 |
| TS 24.390 vj00 | USSD over IMS Procedures | Rel-19 |
| TS 24.391 vj00 | USSD over IMS Management Object Specification | Rel-19 |
| TS 31.111 vj30 | USIM Application Toolkit (USAT) Specification | Rel-19 |
| TS 31.115 vj00 | Secured Packet Structure for UICC Applications | Rel-19 |
| TS 31.131 vj00 | C Language Binding for (U)SIM API | Rel-19 |
| TS 32.250 vj00 | Circuit Switched Offline Charging | Rel-19 |
| TS 32.272 vj00 | Charging for Push-to-Talk over Cellular (PoC) | Rel-19 |