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
Yes. Carrier network switches route segments independently. The recipient's handset uses the UDH sequence numbers to reassemble parts correctly before displaying the message.