Character Encoding & Economics Published 2026-08-21 • 8 min read

User Data Headers (UDH) Deep Dive: How Carriers Reassemble Multi-Part SMS

Technical deep dive into User Data Headers (UDH). Understand concatenated SMS, reference numbers, segment counters, and concatenated message reassembly.

Key Takeaway & Executive Summary

Multi-part messages use 6-byte User Data Headers (UDH) to reassemble segments on handsets, reducing per-segment capacity to 153 chars (GSM-7) and 67 chars (UCS-2).

When a text message exceeds single-segment limits, modern mobile handsets display it as a single cohesive message rather than multiple disjointed texts. This seamless concatenation is powered by binary User Data Headers (UDH) embedded directly inside each payload packet.

1 The 6-Byte Concatenation UDH Structure

A standard concatenation header occupies 6 bytes at the start of the payload:

- Byte 1 (0x05): Length of User Data Header (5 bytes remaining).
- Byte 2 (0x00): Information Element Identifier (IEI) indicating concatenated SMS.
- Byte 3 (0x03): Header length.
- Byte 4: Reference Number (unique identifier linking segments together).
- Byte 5: Total Segments in sequence.
- Byte 6: Current Segment sequence number.

2 Multi-Segment Capacity Penalties

Because the 6-byte UDH consumes signaling bandwidth:

- GSM-7 Multi-Segment: Drops from 160 to 153 characters per segment (7 bytes reserved for UDH).
- UCS-2 Multi-Segment: Drops from 70 to 67 characters per segment (3 character spaces reserved for UDH).

Frequently Asked Questions • Character Encoding & Economics

Can segments arrive out of order on the recipient's phone?

Yes. Carrier network switches route segments independently. The recipient's handset uses the UDH sequence numbers to reassemble parts correctly before displaying the message.

Related Technical Articles & Deep Dives

Copied to clipboard