В индустрии сотовой связи мобильные телефоны и их сети иногда поддерживают объединенную службу коротких сообщений (или объединенные SMS ) для преодоления ограничения на количество символов , которые можно отправить в одном текстовом сообщении SMS (обычно 160). Используя этот метод, длинные сообщения разбиваются на более мелкие сообщения отправляющим устройством и объединяются на принимающей стороне. Затем каждое сообщение оплачивается отдельно. Когда функция работает правильно, она почти прозрачна для пользователя, отображаясь как одно длинное текстовое сообщение. Ранее из-за несовместимости между поставщиками и отсутствия поддержки в некоторых моделях телефонов эта функция не получила широкого распространения. [ необходима цитата ]
В конце 2000-х — начале 2010-х годов эта функция была принята более широко. Эту функцию поддерживают не только многие телефоны, но и поставщики SMS-шлюзов поддерживают ее . То, как работает конкатенация в сетях GSM и UMTS, указано в спецификации SMS Point to Point, 3GPP TS 23.040. [1]
В сетях, не поддерживающих объединенные SMS (ни стандартную схему, ни упрощенную), сообщение доставляется в виде отдельных текстовых SMS-сообщений, а не одного объединенного сообщения.
С технической точки зрения, объединенное SMS также может называться PDU Mode SMS [ dubious – discussion ] . Количество частей, которые может содержать многокомпонентное или PDU-режимное SMS-сообщение, технически зависит от заголовка сообщения, но в основном от устройства, отправляющего или получающего SMS, а также от поставщика услуг.
Теоретически, объединенное SMS может состоять из до 255 отдельных SMS-сообщений, которые объединяются для создания одного длинного SMS-сообщения. Из-за природы SMS вероятность того, что эти части SMS-сообщения прибудут в правильном порядке, мала, и поэтому реализуется стратегия для того, чтобы восстановить исходное длинное сообщение.
Один из способов отправки объединенных SMS (CSMS) — разбить сообщение на 153 части по 7 бит (134 октета ) и отправить каждую часть с прикрепленным к началу заголовком пользовательских данных (UDH). UDH можно использовать для различных целей, и его содержимое и размер соответственно различаются, но UDH для объединения SMS выглядит следующим образом:
Можно использовать 16-битный номер ссылки CSMS, чтобы снизить вероятность отправки двух разных объединенных сообщений с идентичными номерами ссылок получателю. В этом случае заголовок пользовательских данных должен быть:
Пример UDH для SMS, разделенного на две части:
05 00 03 CC 02 01 [ сообщение ]05 00 03 CC 02 02 [ сообщение ]
Обратите внимание, что если присутствует UDH и кодировка данных представляет собой 7-битный алфавит по умолчанию, пользовательские данные должны быть выровнены по 7-битному слову после UDH. [2] Это означает, что в начале [сообщения] необходимо вставить до 6 нулевых бит.
Например, с UDH, содержащим одну часть,
05 00 03 СС 01 01
UDH имеет общую длину (количество октетов x размер бит октетов) 6 x 8 = 48 бит. Таким образом, к сообщению должен быть добавлен один бит заполнения. Таким образом, UDH имеет длину (биты для UDH / биты на септет) = (48 + 1)/7 = 7 септетов.
В сообщении «Hello world» [сообщение] кодируется следующим образом:
90 65 36 ФБ 0Д БА БФ Е5 6С 32
поскольку вам нужно добавить наименее значимые биты следующего 7-битного символа. Без однобитового заполнения [сообщение] будет:
C8 32 9B ФД 06 ДД ДФ 72 36 19
UDL равен 7 (септетам заголовка) + 11 (септетам сообщения) = 18 септетам.