Определение
Составное SMS — это длинное сообщение, которое отправляется в виде нескольких связанных сегментов. Заголовок пользовательских данных (User Data Header, UDH) в каждом сегменте содержит ссылочный номер, общее число частей и номер части, чтобы телефон мог собрать сообщение заново.
Информационный элемент конкатенации описан в 3GPP TS 23.040. При 8-битном ссылочном номере UDH занимает 6 октетов, при 16-битном — 7 октетов. Из-за этих накладных расходов в сегменте помещается 153 (или 152) символа GSM-7 вместо 160.
В SMPP v3.4 отправитель может сам сформировать UDH и установить бит UDHI (0x40) в esm_class либо поручить сегментацию SMSC: с помощью TLV sar_ или одного message_payload длиной более 254 октетов — в зависимости от того, что поддерживает провайдер.
Телефон показывает сегменты как одно сообщение, когда придут все части. Если одна часть потеряна или ссылочные номера совпали, пользователь может увидеть фрагменты или не увидеть ничего.
Каждый сегмент, как правило, формирует собственный отчёт о доставке (DLR) и тарифицируется отдельно. Поэтому отчёты о доставке нужно агрегировать по сообщению, а не только по сегменту.
Пример
UDH: 05 00 03 A7 03 01 = длина заголовка 5, IE 00 (конкатенация, 8-битный ссылочный номер), длина IE 3, ссылочный номер 0xA7, всего 3 части, это часть 1.