BroadNet
SMS-CodierungSegmentierung

SMS-Segmentierung, Verkettung und der UDH

Aktualisiert am 3 Min. LesezeitStandardsbasiert
Direkte Antwort

SMS-Nutzlasten, die über eine Nachricht hinausgehen, werden in Segmente zerlegt und auf dem Endgerät mit einem User Data Header (UDH) wieder zusammengesetzt. Der Standard-6-Byte-Verkettungs-UDH trägt eine Referenznummer, die Gesamtzahl der Segmente und die Sequenz dieses Segments. Er verbraucht Nutzlast und senkt die Kapazität auf 153 GSM-7- oder 67 UCS-2-Zeichen je Segment.

§01

Warum Verkettung existiert

Eine einzelne SMS ist auf 140 Oktette Nutzdaten begrenzt. Längerer Text wird als mehrere SMS gesendet, die das empfangende Endgerät zu einer Nachricht zusammensetzt. Dies geschieht mit einem User Data Header (UDH), der am Anfang der Nutzdaten jedes Segments platziert wird, zusammen mit einem Flag (dem UDHI-Bit), das dem Endgerät mitteilt, dass ein Header vorhanden ist. Das Netz trägt jedes Segment als eigenständige SMS; nur das Endgerät fügt sie wieder zusammen.

§02

Der 6-Byte-Verkettungs-UDH

Der häufigste Verkettungs-Header umfasst 6 Oktette: eine Header-Länge, eine Information-Element-Kennung für 8-Bit-Verkettung, deren Länge und dann die drei Werte, die die Reassemblierung steuern — eine von allen Segmenten einer Nachricht geteilte Referenznummer, die Gesamtzahl der Segmente und die Position dieses Segments. Eine Variante mit 16-Bit-Referenz existiert (IEI 0x08) und umfasst 7 Oktette.

6-Byte-Verkettungs-UDH (8-Bit-Referenz)
OktettFeldWert / Bedeutung
1UDHL0x05 — Länge des folgenden Headers
2IEI0x00 — verkettete Kurznachricht, 8-Bit-Referenz
3IEDL0x03 — Länge dieses Informationselements
4ReferenzWird in allen Segmenten der Nachricht geteilt
5Segmente gesamtWie viele Teile insgesamt
6SequenznummerPosition dieses Segments (1..gesamt)
§03

Kapazität je Segment

Der UDH liegt innerhalb der 140-Oktett-Nutzlast, sodass er den Text reduziert, den jedes Segment tragen kann. Für GSM-7 muss der 6-Oktett-UDH septett-ausgerichtet sein, kostet effektiv 7 Septette und lässt 153 Zeichen je Segment. Für UCS-2 lassen die 6 Oktette 134 Oktette — 67 Zeichen. Für 8-Bit-Daten bleiben 134 Bytes. Deshalb wird eine 161-Zeichen-GSM-7-Nachricht zu zwei Segmenten von bis zu 153, nicht zu 160 + 1.

Kapazität eines verketteten Segments
KodierungEinzelnes SMSPro Segment (mit UDH)
GSM-7160153
UCS-27067
8-Bit140 Bytes134 Bytes
§04

Sequenzierung und Reassemblierung

Segmente einer logischen Nachricht teilen eine Referenznummer; das Endgerät gruppiert nach Referenz und ordnet nach Sequenznummer, um den Text neu aufzubauen. Segmente können außer der Reihe oder verspätet eintreffen, sodass ein fehlendes Teil die Nachricht unvollständig lässt, bis es auftaucht (oder abläuft). In SMPP können Sie entweder mit den UDH-Bytes in short_message (durch Setzen des esm_class-UDHI-Bits) oder mit den sar_*-TLVs verketten — wählen Sie eine Methode je Route und bleiben Sie konsistent.

Häufig gestellte Fragen

Häufig gestellte Fragen

Wie viele Zeichen je Segment in einer verketteten SMS?

153 für GSM-7 und 67 für UCS-2, weil der 6-Byte-User-Data-Header einen Teil der 140-Oktett-Nutzlast verbraucht. Reine 8-Bit-Datensegmente tragen je 134 Bytes.

Was ist der UDH in SMS?

Der User Data Header ist eine kleine Struktur am Anfang der Nutzdaten eines Segments, die Steuerinformationen trägt — bei Verkettung eine Referenznummer, die Gesamtzahl der Segmente und die Sequenz dieses Segments. Das UDHI-Bit signalisiert seine Anwesenheit.

Warum kostet eine 161-Zeichen-Nachricht zwei Segmente à 153?

Weil sobald eine Nachricht Verkettung benötigt, jedes Segment einen UDH trägt, der die Kapazität auf 153 GSM-7-Zeichen reduziert. 161 Zeichen teilen sich also in zwei Segmente (bis zu 306 Zeichen gesamt), die jeweils als eigene SMS berechnet werden.

Was ist der Unterschied zwischen UDH- und SAR-Verkettung?

Beide zerlegen lange Nachrichten auf gleiche Weise. UDH bettet die Header-Bytes in den Nachrichten-Body ein und setzt das esm_class-UDHI-Bit; SAR trägt Referenz, Gesamtzahl und Sequenz stattdessen in SMPP-sar_*-TLVs und hält den Body sauber. Verwenden Sie, was Ihre Route unterstützt.

Können verkettete Segmente außer der Reihe eintreffen?

Ja. Jedes Segment reist als eigenständige SMS, sodass sie außer der Reihe eintreffen oder verzögert werden können. Das Endgerät setzt anhand von Referenznummer und Sequenz wieder zusammen; ein fehlendes Segment lässt die Nachricht unvollständig, bis es eintrifft.

Referenzen

Quellenspezifikationen

Diese Seite basiert auf den veröffentlichten Standards. (Wird in einem neuen Tab geöffnet.)

BNWird vom BroadNet -Entwicklungsteam betreut.·Messaging in Carrier-Qualität seit 2003
Hänge es an den Draht

Entwicklung mit echtem SMPP Binding und REST-API.

Fordern Sie Testzugriff mit echten Testschlüsseln an: Senden Sie zunächst an Ihre eigene verifizierte Nummer und gehen Sie dann in über 200 Ländern zum Produktivbetrieb über, sobald Ihre Absenderidentität und die Routen genehmigt wurden.