USSD

Unstructured Supplementary Services Data

Services
Introduced in R99
A legacy GSM/UMTS mechanism for real-time text-based communication between a mobile phone and an application in the network. It enables interactive menu-driven services like balance checks, prepaid top-ups, and service activation without a data connection. It operates over signaling channels, making it widely accessible.

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.

Key Features

  • Real-time, session-oriented text dialogue (not store-and-forward)
  • Operates over signaling channels, independent of voice or data bearers
  • Initiated by user dialing a code (*XXX#) from the handset keypad
  • Supports interactive menu navigation within a single session
  • Uses MAP protocol for transport between MSC and USSD Gateway
  • Widely used for prepaid services, balance checks, and mobile banking

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.

Defining Specifications

SpecificationTitle
TS 21.905 3GPP TS 21.905
TS 22.121 3GPP TS 22.121
TS 22.945 3GPP TS 22.945
TS 23.048 3GPP TS 23.048
TS 23.057 3GPP TS 23.057
TS 23.090 3GPP TS 23.090
TS 23.110 3GPP TS 23.110
TS 23.806 3GPP TS 23.806
TS 24.259 3GPP TS 24.259
TS 24.294 3GPP TS 24.294
TS 24.390 3GPP TS 24.390
TS 24.391 3GPP TS 24.391
TS 31.111 3GPP TR 31.111
TS 31.115 3GPP TR 31.115
TS 31.131 3GPP TR 31.131
TS 32.250 3GPP TR 32.250
TS 32.272 3GPP TR 32.272