UDH

User Data Header

Services
Introduced in Rel-5
A header structure within an SMS (Short Message Service) message that carries control information and enables enhanced messaging features. It precedes the actual text payload and allows for concatenation, port addressing, and other advanced capabilities. UDH is essential for extending the basic SMS protocol beyond simple 160-character text.

Description

The User Data Header (UDH) is a defined field within the TP-User-Data (TP-UD) element of a Short Message (SM) in the GSM/3GPP SMS protocol stack. Its primary purpose is to carry additional control information alongside the user's text message, enabling a variety of enhanced messaging services. Architecturally, it resides in the application layer but is transported transparently by the underlying mobile network signaling layers (e.g., MAP over SS7). The UDH is placed at the beginning of the TP-UD field and its presence is indicated by setting the TP-UDHI (User Data Header Indicator) bit in the SMS Submit or Deliver PDU.

The structure of the UDH is based on Information Elements (IEs). Each IE has a one-byte identifier (IEI), a one-byte length field, and the data itself. This modular design allows for multiple IEs to be concatenated within a single UDH. Key UDH Information Elements include the Concatenated Short Messages IE (which allows a long message to be split across multiple SMS segments), the Application Port Addressing IE (which enables SMS to be routed to a specific application on the handset, like WAP push or email clients), and the National Language Single Shift and Locking Shift IEs (for supporting extended character sets beyond the default GSM 7-bit alphabet).

How it works: When a device wants to send an enhanced SMS (e.g., a long message or a binary message to an app), it constructs the UDH with the necessary IEs and prepends it to the user data. The total length of the UDH reduces the space available for the actual text payload in that segment. For concatenated messages, each segment contains a UDH with the same message reference number, a total segment count, and a segment sequence number. The receiving device's SMS stack uses the UDH information to reassemble the segments in the correct order before presenting the complete message to the user or target application.

UDH plays a critical role in enabling the SMS ecosystem. For network operators, it allows value-added services without changing the core transport mechanism. For handset manufacturers and application developers, it provides a standardized way to implement features like picture messaging (via EMS, which uses UDH), ringtone downloads, and Over-The-Air (OTA) provisioning. The handling of UDH is mandatory for SMS-compliant devices, ensuring interoperability. The specifications governing UDH, such as 3GPP TS 23.040 (SMS) and TS 23.048 (Security mechanisms for SMS), detail the exact encoding and procedures.

Purpose & Motivation

UDH was created to overcome the severe limitations of the original SMS design, which was conceived as a simple, 160-character text-messaging service with no inherent support for longer messages, binary data, or application addressing. As SMS popularity exploded, users wanted to send messages longer than 160 characters, and operators wanted to offer new services like logos, ringtones, and information alerts. The problem was that the basic SMS PDU had no standardized way to carry this extra control information.

The introduction of UDH in Release 5 provided an elegant, backward-compatible solution. By dedicating a portion of the user data field to a header, it allowed new features to be introduced without breaking existing devices that did not support them (they would simply ignore the UDH and display the remaining text, often as garbled characters). This was a crucial design principle for gradual network and handset evolution. It solved the fragmentation problem that would have occurred if each vendor had invented proprietary methods for message concatenation or application routing.

Its creation was directly motivated by commercial demands for Enhanced Messaging Service (EMS) and later as a foundation for Multimedia Messaging Service (MMS) notification. UDH enabled SMS to become a carrier for small binary objects and control commands, extending its utility far beyond person-to-person text. It addressed the limitation of the fixed-length PDU by providing a flexible, extensible container for metadata, which ultimately allowed SMS to remain a viable and versatile service platform for decades, supporting everything from two-factor authentication to machine-to-machine communication.

Key Features

  • Indicated by the TP-User-Data-Header-Indicator (TP-UDHI) bit in the SMS PDU.
  • Composed of one or more Information Elements (IEs), each with an Identifier, Length, and Data.
  • Enables concatenation of long messages across multiple SMS segments.
  • Provides application port addressing for routing SMS to specific software applications (e.g., WAP push, MMS notifications).
  • Supports national language locking and shifting for extended character sets.
  • Forms the basis for Enhanced Messaging Service (EMS) for simple pictures, sounds, and formatting.

Evolution Across Releases

Rel-5 Initial

Originally introduced and standardized to support Enhanced Messaging Service (EMS) and long message concatenation. Defined the core UDH structure and key Information Elements (IEs) such as concatenation (8-bit and 16-bit reference), application port addressing, and national language shift. This release established SMS as a platform for enhanced services.

Enhancements related to the integration of SMS over IP networks (IMS). Specifications ensured UDH was correctly transported and interpreted within the IP Multimedia Subsystem (IMS) for services like SMS over IMS, maintaining feature parity with circuit-switched SMS.

Continued support and specification maintenance for UDH as part of the SMS functionality in the 5G Core network. With the 5G system supporting SMS via the IMS or via the 5G core directly, the UDH mechanisms were preserved to ensure backward compatibility and support for all existing SMS-based services in the new architecture.

Defining Specifications

SpecificationTitle
TS 23.048 3GPP TS 23.048
TS 29.311 3GPP TS 29.311