unstructured supplementary service data

Unstructured Supplementary Service Data (USSD) is a protocol used in telecommunications to send text messages between a mobile phone and an application program in the network. It's a technology that allows interactive communication between the user and the service provider's computer. USSD messages are generally typed on the mobile phone, and they can trigger various services or retrieve information from the network.

Here's a technical breakdown of how USSD works:

  1. Protocol Stack:
    USSD operates within the signaling layer of the Global System for Mobile Communications (GSM) network. It uses the SS7 (Signaling System 7) protocol, specifically the MAP (Mobile Application Part) layer, for communication between the mobile device and the USSD gateway in the mobile operator's network.
  2. Session Initiation:
    When a user initiates a USSD session by dialing a specific code (e.g., *121#), a USSD request is generated. The request is sent as a signaling message over the GSM network to the USSD gateway.
  3. Message Format:
    USSD messages are transmitted using a simple text-based format. The message typically consists of a string of characters, and the content is not encrypted. The USSD code and parameters are included in this message.
  4. Routing:
    The USSD gateway in the mobile operator's network receives the request and routes it to the appropriate service platform or application. The USSD gateway acts as an interface between the mobile device and the application servers.
  5. Service Execution:
    The application server processes the USSD request, performs the required actions, and generates a response. The response is then sent back to the USSD gateway.
  6. Session Persistence:
    USSD sessions are generally short-lived and stateless. Each interaction between the user and the service provider is a separate session. However, some USSD services may simulate session persistence by maintaining context information on the server side.
  7. Response Handling:
    The USSD gateway forwards the response back to the user's mobile device. The response is displayed on the mobile screen, allowing the user to interact further or conclude the session.
  8. No Store-and-Forward:
    USSD messages are typically not stored on the mobile device or the network. They are transmitted in real-time, and the response is immediately displayed on the user's device.
  9. Billing and Charging:
    USSD sessions may be subject to charging based on the services provided. The mobile operator's billing system tracks USSD usage and charges users accordingly.

USSD provides a lightweight and real-time interactive communication channel that can be used for a variety of purposes, including balance inquiries, mobile banking, and service activations, among others. It is widely used in various mobile applications and services due to its simplicity and accessibility across different types of mobile devices.