USSD

Unstructured Supplementary Services Data

Services →
Introduced in R99 Also in: User Equipment, Security

USSD is a legacy GSM/UMTS mechanism for real-time, text-based communication over signaling channels between a mobile phone and a network application, enabling interactive services without a data connection.

Category
Services
Introduced
R99
Where
Services › IMS
Also touches
2 segments
Specifications
17 specs
USSD Description Purpose Related Classification Specifications

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

Part ofGSM
Related approachesSMSMAP

Evolution Across Releases

R99 Initial

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.

SpecificationTitleRelease
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