Индекс материала |
---|
Приказ Минтранса РФ от 31.07 2012 г. N 285 |
Приложение 1 |
Приложение 2 |
Приложение 3 |
Приложение 4 |
Приложение 5 |
Приложение 6 |
Приложение 7 |
Приложение 8 |
Все страницы |
Приложение № 6
к приказу Минтранса РФ
от 31 июля 2012 г. № 285
Спецификация протокола транспортного уровня
1. Введение
1.1. Обмен данными между абонентским терминалом и системами и аппаратно-программными комплексами осуществляется при помощи сетей подвижной радиотелефонной связи стандартов GSM и UMTS.
1.2. Сетевая модель OSI имеет следующие уровни: физический, канальный, сетевой, транспортный, сеансовый, представления данных и приложений. Для передачи данных между абонентскими терминалами и системами и аппаратно-программными комплексами используются следующие протоколы: транспортный уровень - протокол TCP, сетевой уровень - протокол IP. Соответствие уровней сетевой модели OSI, стека протоколов TCP/IP и протоколов системы представлено в Таблице № 1.
Таблица № 1. Соответствие уровней сетевой модели OSI, стека протоколов TCP/IP и протоколов системы
Модель OSI |
Стек протоколов ТСР/IР |
Протоколы TCP/IP |
Протоколы системы |
||
Номер уровня |
Название уровня |
Номер уровня |
Название уровня |
||
7 |
Приложений |
4 |
Приложений |
FTP, HTTP, РОР3, IMAP, telnet, SMTP, DNS, TFTP |
Уровень поддержки услуг |
6 |
Представления данных |
||||
5 |
Сеансовый |
Транспортный уровень |
|||
4 |
Транспортный |
3 |
Транспортный |
TCP, UDP |
TCP |
3 |
Сетевой |
2 |
Межсетевой |
IP |
IP |
2 |
Канальный |
1 |
Доступ к сети |
||
1 |
Физический |
1.3. Общая длина пакета протокола транспортного уровня не превышает значения 65535 байт.
2. Протокол транспортного уровня
2.1. Обеспечение маршрутизации.
В качестве адресов маршрутизации используются идентификаторы аппаратно-программных комплексов, которые уникальны в рамках одной сети.
2.2. Механизм проверки целостности данных.
Для части пакета Транспортного уровня используется алгоритм вычисления циклического избыточного кода CRC-8.
Для части пакета Уровня поддержки услуг используется алгоритм вычисления циклического избыточного кода CRC-16.
2.3. Обеспечение надёжности доставки.
Отправляющая сторона после передачи пакета ожидает на него подтверждение в виде пакета определённого типа, содержащего идентификатор ранее переданного пакета и код результата его обработки на принимающей стороне. Ожидание производится в течение определённого промежутка времени, зависящего от типа используемого протокола транспортного уровня (значение данного параметра TL_RESPONSE_TO указано в Таблице № 13).
После получения подтверждения отправляющая сторона производит анализ кода результата. Коды результатов обработки регламентированы протоколом и представлены в Таблице № 14. Пакет считается недоставленным в случае, если подтверждение не приходит по истечению времени TL_RESPONSE_TO. Недоставленные пакеты отправляются повторно (количество попыток отправки регламентировано протоколом. В Таблице № 13 указано значение данного параметра - TL_RESEND_ATTEMPTS). По достижении предельного количества попыток отправки канал передачи данных считается ненадёжным и производится уничтожение установленной сессии (разрыв соединения в случае использования TCP/IP протокола в качестве транспортного протокола) и попытка создания новой сессии (соединения) через время, определяемое параметром TL_RECONNECT_TO (Таблица № 13).
3. Построение систем и аппаратно-программных комплексов на основе протокола Транспортного уровня
3.1. Все сервисы в рамках одного аппаратно-программного комплекса соединяются с Диспетчером (часть аппаратно-программного комплекса, выполняющая функции координации межсистемного взаимодействия и маршрутизации) и не имеют непосредственных связей между собой.
3.2. Абонентский терминал также осуществляет взаимодействие с сервисами аппаратно-программного комплекса через компонент Диспетчер. При этом он идентифицируется по специальным пакетам, содержащим уникальный номер абонентского терминала UNIT_ID, назначаемый ему при регистрации в сети, а также другие учётные данные и информацию о состоянии модулей и блоков абонентского терминала.
3.3. Протоколом Транспортного уровня (далее - протокол) зарезервирован диапазон номеров типов сервисов до 63. Пользовательские сервисы имеют типы с номерами, начиная с 64.
4. Описание типов данных
4.1. Протоколом определены и используются несколько различных типов данных полей и параметров, указанных в Таблице № 2.
Таблица № 2. Типы данных Протокола
Тип данных |
Размер, байт |
Диапазон значений |
Описание |
BOOLEAN |
1 |
TRUE=1, FALSE=0 |
Логический тип, принимающий только два значения TRUE или FALSE |
BYTE |
1 |
0 .. 255 |
Целое число без знака |
USHORT |
2 |
0 .. 65535 |
Целое число без знака |
UINT |
4 |
0 .. 4294967295 |
Целое число без знака |
ULONG |
8 |
0 .. 18446744073709551615 |
Целое число без знака |
SHORT |
2 |
-32768 .. + 32767 |
Целое число со знаком |
INT |
4 |
-2147483648 .. +2147483647 |
Целое число со знаком |
FLOAT |
4 |
Е - 38 ... 3.4 Е + 38 |
Дробное число со знаком |
DOUBLE |
8 |
Е - 308 ... 1.7 Е + 308 |
Дробное число со знаком |
STRING |
Переменный. Размер определяется внешними параметрами или применением специального символа-терминатора (код 0x00) |
Содержит последовательность печатных символов в кодировке по умолчанию CP-1251 |
|
BINARY |
Переменный. Размер определяется внешними параметрами |
Содержит последовательность данных типа BYTE |
|
ARRAY OF TYPE |
Переменный. Размер определяется внешними параметрами |
Содержит последовательность одного из вышеуказанных типов (TYPE), кроме BINARY. Экземпляры типов идут последовательно один за другим. |
4.2. Многобайтовые типы данных USHORT, UINT, ULONG, FLOAT и DOUBLE используют порядок следования байт little - endian (младший байт вперёд). Байты, составляющие последовательность в типах STRING и BINARY, интерпретируются как есть, т.е. обрабатываются в порядке их поступления.
4.3. Определены следующие типы полей и параметров:
М (Mandatory) - обязательный параметр;
О (Optional) - необязательный параметр.
5. Структуры данных
5.1. Состав пакета протокола Транспортного уровня представлен на Рисунке № 1.
Заголовок Протокола Транспортного Уровня |
Данные Уровня Поддержки Услуг |
Контрольная Сумма Данных Уровня Поддержки Услуг |
Рисунок № 1. Состав пакета протокола Транспортного уровня
5.2. Пакет данных протокола Транспортного уровня состоит из заголовка, поля данных Уровня поддержки услуг, а также поля контрольной суммы данных Уровня поддержки услуг.
5.3. Общая длина пакета протокола Транспортного уровня не превышает значения 65535 байт, что соответствует максимальному значению параметра Window Size (максимальный размер целого пакета, принимаемый на стороне приёмника) заголовка протокола TCP. Таблица № 3 определяет состав пакета протокола Транспортного уровня.
Таблица № 3. Состав пакета протокола Транспортного уровня
Бит 7 |
Бит 6 |
Бит 5 |
Бит 4 |
Бит 3 |
Бит 2 |
Бит 1 |
Бит 0 |
Тип |
Тип данных |
Размер, байт |
PRV (Protocol Version) |
M |
BYTE |
1 |
|||||||
SKID (Security Key ID) |
М |
BYTE |
1 |
|||||||
PRF (Prefix) |
RTE |
ENA |
CMP |
PR |
М |
BYTE |
1 |
|||
HL (Header Length) |
М |
BYTE |
1 |
|||||||
HE (Header Encoding) |
М |
BYTE |
1 |
|||||||
FDL (Frame Data Length) |
М |
USHORT |
2 |
|||||||
PID (Packet Identifier) |
М |
USHORT |
2 |
|||||||
PT (Packet Type) |
М |
BYTE |
1 |
|||||||
PRA (Peer Address) |
О |
USHORT |
2 |
|||||||
RCA (Recipient Address) |
О |
USHORT |
2 |
|||||||
TTL (Time To Live) |
О |
BYTE |
1 |
|||||||
HCS (Header Check Sum) |
М |
BYTE |
1 |
|||||||
SFRD (Services Frame Data) |
О |
BINARY |
0 .. 65517 |
|||||||
SFRCS (Services Frame Data Check Sum) |
О |
USHORT |
0, 2 |
5.4. Заголовок протокола Транспортного уровня состоит из следующих полей: PRV, PRF, PR, CMP, ENA, RTE, HL, HE, FDL, PID, PT, PRA, RCA, TTL, HCS. Протокол Уровня поддержки услуг представлен полем SFRD, контрольная сумма поля Уровня поддержки услуг содержится в поле SFRCS.
5.5. Параметр PRV содержит значение 0x01. Значение данного параметра инкрементируется каждый раз при внесении изменений в структуру заголовка.
5.6. Параметр SKID определяет идентификатор ключа, используемого при шифровании.
5.7. Параметр PRF определяет префикс заголовка Транспортного уровня и содержит значение 00.
5.8. Поле RTE (Route) определяет необходимость дальнейшей маршрутизации данного пакета на удалённый аппаратно-программный комплекс, а также наличие опциональных параметров PRA, RCA, TTL, необходимых для маршрутизации данного пакета. Если поле имеет значение 1, то необходима маршрутизация и поля PRA, RCA, TTL присутствуют в пакете. Данное поле устанавливает Диспетчер того аппаратно-программного комплекса, на котором сгенерирован пакет, или абонентский терминал, сгенерировавший пакет для отправки на аппаратно-программный комплекс, в случае установки в нём параметра "HOME_DISPATCHER_ID", определяющего адрес аппаратно-программного комплекса, на котором данный абонентский терминал зарегистрирован.
5.9. Поле ENA (Encryption Algorithm) определяет код алгоритма, используемый для шифрования данных из поля SFRD. Если поле имеет значение 0 0, то данные в поле SFRD не шифруются.
5.10. Поле CMP (Compressed) определяет, используется ли сжатие данных из поля SFRD. Если поле имеет значение 1, то данные в поле SFRD считаются сжатыми.
5.11. Поле PR (Priority) определяет приоритет маршрутизации данного пакета и может принимать следующие значения:
0 0 - наивысший
0 1 - высокий
1 0 - средний
1 1 - низкий
При получении пакета Диспетчер, производит маршрутизацию пакета с более высоким приоритетом быстрее, чем пакетов с низким приоритетом.
5.12. Поле HL - длина заголовка Транспортного уровня в байтах с учётом байта контрольной суммы (поля HCS).
5.13. Поле НЕ определяет применяемый метод кодирования следующей за данным параметром части заголовка Транспортного уровня.
5.14. Поле FDL определяет размер в байтах поля данных SFRD, содержащего информацию протокола Уровня поддержки услуг.
5.15. Поле PID содержит номер пакета Транспортного Уровня, увеличивающийся на 1 при отправке каждого нового пакета на стороне отправителя. Значения в данном поле изменяются по правилам циклического счётчика в диапазоне от 0 до 65535, т.е. при достижении значения 65535, следующее значение 0.
5.16. Поле РТ - тип пакета Транспортного уровня. Поле РТ может принимать следующие значения:
0 - EGTS_PT_RESPONSE (подтверждение на пакет Транспортного уровня);
1 - EGTS_PT_APPDATA (пакет, содержащий данные протокола Уровня поддержки услуг);
2 - EGTS_PT_SIGNED_APPDATA (пакет, содержащий данные протокола Уровня поддержки услуг с цифровой подписью);
5.17. Поле PRA - адрес аппаратно-программного комплекса, на котором данный пакет сгенерирован. Данный адрес является уникальным в рамках сети и используется для создания пакета-подтверждения на принимающей стороне.
5.18. Поле RCA - адрес аппаратно-программного комплекса, для которого данный пакет предназначен. По данному адресу производится идентификация принадлежности пакета определённого аппаратно-программного комплекса и его маршрутизация при использовании промежуточных аппаратно-программных комплексов.
5.19. Поле TTL - время жизни пакета при его маршрутизации между аппаратно-программными комплексами. Использование данного параметра предотвращает зацикливание пакета при ретрансляции в системах со сложной топологией адресных пунктов. Первоначально TTL устанавливается аппаратно-программным комплексом, сгенерировавшим данный пакет. Значение TTL устанавливается равным максимально допустимому числу аппаратно-программных комплексов между отправляющим и принимающим аппаратно-программным комплексом. Значение TTL уменьшается на единицу при трансляции пакета через каждый аппаратно-программный комплекс, при этом пересчитывается контрольная сумма заголовка Транспортного уровня. При достижении данным параметром значения 0 и при обнаружении необходимости дальнейшей маршрутизации пакета, происходит уничтожение пакета и выдача подтверждения с соответствующим кодом PC_TTLEXPIRED, описанным в Таблице № 14.
5.20. Поле HCS - контрольная сумма заголовка Транспортного уровня (начиная с поля "PRV" до поля "HCS", не включая поле "HCS"). Для подсчёта значения поля HCS ко всем байтам указанной последовательности применяется алгоритм CRC-8.
5.21. Поле SFRD - структура данных, зависящая от типа пакета и содержащая информацию Протокола уровня поддержки услуг.
5.22. Поле SFRCS - контрольная сумма поля уровня Протокола поддержки услуг. Для подсчёта контрольной суммы по данным из поля SFRD используется алгоритм CRC-16. Данное поле присутствует только в том случае, если есть поле SFRD.
5.23. Блок схема алгоритма обработки пакета данных протокола Транспортного уровня при приеме представлена на Рисунке № 2.
2.png
6. Структуры данных
6.1. Структура данных пакета EGTS_PT_APPDATA.
Таблица № 4 описывает формат поля SFRD для пакета типа EGTS_PT_APPDATA.
Таблица № 4. Формат поля SFRD для пакета типа EGTS_PT_APPDATA
Бит 7 |
Бит 6 |
Бит 5 |
Бит 4 |
Бит 3 |
Бит 2 |
Бит 1 |
Бит 0 |
Тип |
Тип данных |
Размер, байт |
SDR 1 (Service Data Record) |
О |
BINARY |
9 .. 65517 |
|||||||
SDR 2 |
О |
BINARY |
9 .. 65517 |
|||||||
... |
||||||||||
SDR n |
О |
BINARY |
9 .. 65517 |
Структуры SDR 1, SDR 2, SDR п содержат информацию Протокола уровня поддержки услуг.
6.2. Структура данных пакета EGTS_PT_RESPONSE
Он содержит информацию о результате обработки данных Протокола транспортного уровня, полученного ранее. Таблица № 5 описывает формат поля SFRD для пакета типа EGTS_PT_RESPONSE.
Таблица № 5. Формат поля SFRD для пакета типа EGTS_PT_RESPONSE
Бит 7 |
Бит 6 |
Бит 5 |
Бит 4 |
Бит 3 |
Бит 2 |
Бит 1 |
Бит 0 |
Тип |
Тип данных |
Размер, байт |
RPID (Response Packet ID) |
М |
USHORT |
2 |
|||||||
PR (Processing Result) |
М |
BYTE |
1 |
|||||||
SDR 1 (Service Data Record) |
О |
BINARY |
9 .. 65517 |
|||||||
SDR 2 |
О |
BINARY |
9 .. 65517 |
|||||||
... |
||||||||||
SDR n |
О |
BINARY |
9 .. 65517 |
6.3.1 Параметр RPID - идентификатор пакета Транспортного уровня, подтверждение на который сформировано.
6.3.2 Параметр PR - код результата обработки части пакета, относящейся к Транспортному уровню. Список возможных кодов результата обработки представлен в Таблице № 14.
6.3.4 Структуры SDR 1, SDR 2, SDR n содержат информацию Уровня поддержки услуг.
6.4. Структура данных пакета EGTS_PT_SIGNED_APPDATA.
Таблица № 6 определяет формат поля SFRD для пакета типа EGTS_PT_SIGNED_APPDATA.
Таблица № 6. Формат поля SFRD для пакета типа EGTS_PT_SIGNED_APPDATA
Бит 7 |
Бит 6 |
Бит 5 |
Бит 4 |
Бит 3 |
Бит 2 |
Бит 1 |
Бит 0 |
Тип |
Тип данных |
Размер, байт |
SIGL (Signature Length) |
М |
SHORT |
2 |
|||||||
SIGD (Signature Data) |
О |
BINARY |
0 .. 512 |
|||||||
SDR 1 (Service Data Record) |
О |
BINARY |
9 .. 65515 |
|||||||
SDR 2 |
О |
BINARY |
9 .. 65515 |
|||||||
. . . |
||||||||||
SDR n |
О |
BINARY |
9 .. 65515 |
6.9. Параметр SIGL определяет длину данных "цифровой подписи" из поля SIGD.
6.10. Параметр SIGD содержит непосредственно данные "цифровой подписи".
6.11. Структуры SDR 1, SDR 2, SDR n содержат информацию Уровня поддержки услуг.
6.12. На каждый пакет типа EGTS_PT_APPDATA или EGTS_PT_SIGNED_APPDATA, поступающий от абонентского терминала на аппаратно-программный комплекс или от аппаратно-программного комплекса на абонентский терминал, отправляется пакет типа EGTS_PT_RESPONSE, содержащий в поле PID номер пакета из пакета EGTS_PT_APPDATA или EGTS_PT_SIGNED_APPDATA. На Рисунке № 3 представлена последовательность обмена пакетами при взаимодействии абонентского терминала и аппаратно-программного комплекса.
┌─────────────────────┐ ┌───────────────────────┐
│Абонентский терминал │ │ Аппаратно-программный │
│ │ │ комплекс │
└──────┬──────────────┘ └────────────────┬──────┘
│ │
│ │
│ Пакет PT_APPDATA PID=1 (Авторизация) │
├────────────────────────────────────────────────►│
│ │
│ Пакет PT_RESPONSE на PID=1 (Подтверждение │
│ Авторизации) │
│◄────────────────────────────────────────────────┤
│ │
│ Пакет РТ_APPDATA РID=2 (Телематические данные) │
├────────────────────────────────────────────────►│
│ │
│ Пакет РТ_RESPONSE на PID=2 (Подтверждение │
│ Телематических данных) │
│◄────────────────────────────────────────────────┤
│ ... │
│ Пакет PT_APPDATA PID=n (Команда) │
│◄────────────────────────────────────────────────┤
│ │
│ Пакет PT_RESPONSE на PID=n (Подтверждение │
│ пакета с командой) │
├────────────────────────────────────────────────►│
┌──────┴──────┐ ┌───────┴────────┐
│ │ │ │
└─────────────┘ └────────────────┘
Рисунок № 3. Взаимодействие абонентского терминала и аппаратно-программного комплекса на уровне пакетов Транспортного уровня
7. Структура данных при использовании SMS-сервиса в качестве резервного канала передачи
7.1. При использовании SMS для передачи пакетов данных Протокола используется режим PDU. Режим PDU позволяет передавать не только текстовую, но и бинарную информацию через SMS-сервис оператора подвижной радиотелефонной связи.
7.2. Для передачи используется структура SMS-SUBMIT с 8-ми битной кодировкой. Таблица № 7 описывает формат SMS сообщения для отправки в PDU режиме.
Таблица № 7. Формат SMS с использованием PDU режима (SMS-SUBMIT)
Бит 7 |
Бит 6 |
Бит 5 |
Бит 4 |
Бит 3 |
Бит 2 |
Бит 1 |
Бит 0 |
Тип |
Размер, байт |
SMSC AL (SMSC Address Length) |
M |
1 |
|||||||
SMSC AT (SMSC Address Type) |
О |
0,1 |
|||||||
SMSC A (SMSC Address) |
О |
0,6 |
|||||||
TP RP |
TP UDHI |
TP SRR |
TP VPF |
TP RD |
TP MTI |
Тип |
Размер, байт |
||
TP MR (Message Reference) |
М |
1 |
|||||||
TP DA L (Destination Address Length) |
М |
1 |
|||||||
TP DA T (Destination Address Type) |
М |
1 |
|||||||
TP DA (Destination Address) |
М |
6 |
|||||||
TP PID (Protocol Identifier) |
М |
1 |
|||||||
TP DCS (Data Coding Schema) |
М |
1 |
|||||||
TP VP (Validity Period) |
О |
0, 1, 7 |
|||||||
TP UDL (User Data Length) |
М |
1 |
|||||||
TP UD (User Data) |
О |
0...140 |
7.3. SMSC AL - длина полезных данных адреса SMSC в октетах плюс 1 октет поля SMSC AT.
7.4. SMSC AT - тип формата адреса SMSC. Возможные значения параметров SMSC AT представлены в Таблице № 7. Поле опциональное, его наличие зависит от значения параметра SMSC AL (если значение SMSC AL > 0, то данное поле присутствует).
7.5. SMSC А - адрес SMSC. Каждая десятичная цифра номера представлена в виде 4-х бит (младшие 4 бита - цифра более старшего разряда, старшие 4 бита -цифра меньшего разряда). При этом, если количество цифр в номере нечётное, то в битах с 4 по 7 последнего байта номера устанавливается значение 0xF (1111b). Данный параметр опциональный и его наличие зависит от значения параметра SMSC AL. В случае отсутствия параметра SMSC А, используется SMSC из SIM карты.
7.6. TP MTI - (Message Type Indicator) тип сообщения (содержит бинарное значение 01).
7.7. TP RD - (Reject Duplicates) определяет, необходимо ли SMSC принимать данное сообщение на обработку, если существует предыдущее необработанное отправленное с данного номера сообщение, которое имеет такое же значение поля TP MR и такой же номер получателя в поле TP DA.
7.8. TP VPF - (Validity Period Format) формат параметра TP VP.
7.9. TP SRR - (Status Report Request) определяет необходимость отправки подтверждения со стороны SMSC на данное сообщение (Если данный бит имеет значение 1, то требуется подтверждение).
7.10. TP UDHI - (User Data Header Indicator) определяет, передаётся ли заголовок пользовательских данных TP UD HEADER (если поле имеет значение 1, то заголовок присутствует).
7.11. TP RP - (Reply Path) определяет, присутствует ли поле RP в сообщении.
7.12. TP MR - идентификатор сообщения (увеличивается на 1 при каждой отправке нового сообщения).
7.13. TP DA L - длина полезных данных адреса получателя (определяется как количество символов в номере получателя). Например, если адрес получателя "79991234567", то TP DA L = 0Bh (11).
7.14. TP DA T - тип формата адреса получателя. Возможные значения параметров TP DA Т и SMSC AT представлены в Таблице № 9.
7.15. TP DA - адрес получателя. Кодировка номера производится по тем же правилам, что и в параметре SMSC А.
7.16. TP PID - идентификатор протокола (содержит значение 00).
7.17. TP DCS - тип кодировки данных (содержит значение 0x04, определяющий 8-ми битную кодировку сообщения, отсутствие компрессии).
7.18. TP VP - время актуальности данного сообщения. Таблица № 8 описывает формат данного параметра.
7.19. TP UDL - длина данных сообщения из поля TP DL, в байтах для используемой 8-ми битной кодировки.
7.20. TP UD - непосредственно передаваемые пользовательские данные. Таблица № 10 описывает формат данного поля.
Таблица № 8. Формат поля TP_VP в зависимости от значения поля TP_VPF
Значение битов |
Описание |
||
0 |
0 |
Поле TP VP не передаётся |
|
1 |
0 |
Поле TP VP имеет формат "относительное время" и размер 1 байт |
|
0 |
1 |
Поле TP VP имеет формат "расширенное время" и размер 7 байт |
|
1 |
1 |
Поле TP VP имеет формат "абсолютное время" и размер 7 байт |
|
Таблица № 9. Формат полей TP_DA_T и SMSC_AT (тип адреса)
Бит 7 |
Бит 6 |
Бит 5 |
Бит 4 |
Бит 3 |
Бит 2 |
Бит 1 |
Бит 0 |
Размер, байт |
1 |
TON |
NPI |
1 |
7.21. TON - (Type Of Number) тип номера. TON может принимать следующие значения:
000 - неизвестный;
001 - международный формат;
010 - национальный формат;
011 - специальный номер, определяемый сетью;
100 - номер абонента;
101 - буквенно-цифровой (коды с 7-битной кодировкой по умолчанию);
110 - укороченный;
111 - зарезервировано.
7.22. NPI - (Numeric Plan Identification) тип плана нумерации (применимо для значений поля TON = 000,001,010). NPI может принимать следующие значения:
0000 - неизвестный;
0001 - план нумерации ISDN телефонии;
0011 - план нумерации при передаче данных;
0100 - телеграф;
1000 - национальный;
1001 - частный;
1111 - зарезервировано.
Таблица № 10. Формат поля TP_UD
Бит 7 |
Бит 6 |
Бит 5 |
Бит 4 |
Бит 3 |
Бит 2 |
Бит 1 |
Бит 0 |
Тип |
Размер, байт |
LUDH (Length of User Data Header) |
О |
1 |
|||||||
IEI "A" (Information-Element-Identifier "A") |
О |
1 |
|||||||
LIE "A" (Length of Information-Element "A") |
О |
1 |
|||||||
IED "A" (Information-Element-Data of "A") |
О |
1 .. n |
|||||||
IEI "B" (Information-Element-Identifier "B") |
О |
1 |
|||||||
LIE "B" (Length of Information-Element "B") |
О |
1 |
|||||||
IED "B" (Information-Element-Data of "B") |
О |
1 .. n |
|||||||
IEI "N" (Information-Element-Identifier "N") |
О |
1 |
|||||||
LIE "N" (Length of Information-Element "N") |
О |
1 |
|||||||
IED "N" (Information-Element-Data of "N") |
О |
1 .. n |
|||||||
UD (User Data) |
М |
1 .. 140 |
7.23. LUDH - длина заголовка пользовательских данных в байтах без учета размера данного поля.
7.24. IEI "А", IEI "В", IEI "N" - идентификатор информационного элемента "А", "В" и "N" соответственно, который определяет тип информационного элемента и может принимать следующие значения (в шестнадцатеричной системе):
00 - часть конкатенируемого SMS сообщения;
01 - индикатор специального SMS сообщения;
02 - зарезервировано;
03 - не используется;
04 - 7F = зарезервировано;
80 - 9F = для специального использования SME;
А0 - BF = зарезервировано;
С0 - DF = для специального использования SC;
Е0 - FF = зарезервировано.
7.25. LIE "А", LIE "В" , LIE "N" - параметры, определяющие размер данных информационных элементов "А", "В" и "N" соответственно, в байтах без учета размера данного поля.
7.26. IED "А", IED "В", IED "N" - данные информационных элементов "А", "В" и "N" соответственно.
7.27. UD - данные пользователя. Размер данного поля определяется наличием заголовка пользовательских данных РТ UD HEADER, состоящего из полей LUDH, IEI, LIE, IED. Если заголовок не передаётся, то размер равен значению из поля TP UDL из Таблицы № 7. Если заголовок передаётся, то размер поле вычисляется как разность (TP UDL - LUDH -1).
7.28. В случае если идентификатор информационного элемента IEI заголовка пользовательских данных TP_UD_HEADER имеет значение 00, структура поля IED будет иметь вид, представленный в Таблице № 11.
Таблица № 11. Формат поля данных информационного элемента, характеризующего часть конкатенируемого SMS сообщения
Бит 7 |
Бит 6 |
Бит 5 |
Бит 4 |
Бит 3 |
Бит 2 |
Бит 1 |
Бит 0 |
Тип |
Размер, байт |
CSMRN (Concatenated Short Message Reference Number) |
М |
1 |
|||||||
MNSM (Maximum Number of Short Messages) |
М |
1 |
|||||||
SNCSM (Sequence Number of Current Short Message) |
М |
1 |
7.29. CSMRN - номер конкатенируемого SMS сообщения. Имеет одинаковое значение для всех частей длинного SMS сообщения.
7.30. MNSM - общее количество сообщений из которых состоит длинное SMS. Содержит значения в диапазоне от 1 до 255.
7.31. SNCSM - номер передаваемой части длинного SMS сообщения. Инкрементируется при отправке каждой новой части длинного сообщения. Содержит значение в диапазоне от 1 до 255. Если значение данного поля превышает значение из поля MNSM или равно нулю, то принимающая сторона игнорирует весь информационный элемент.
7.32. При приёме SMS используется формат SMS-DELIVER с 8-ми битной кодировкой. Таблица № 12 определяет формат SMS сообщения в PDU режиме при получении.
Таблица № 12. Формат принимаемого SMS сообщения в PDU режиме (SMS-DELIVER)
Бит 7 |
Бит 6 |
Бит 5 |
Бит 4 |
Бит 3 |
Бит 2 |
Бит 1 |
Бит 0 |
Тип |
Размер, байт |
SMSC_AL (SMSC Address Length) |
М |
1 |
|||||||
SMSC_AT (SMSC Address Type) |
О |
0,1 |
|||||||
SMSC_A (SMSC Address) |
О |
0,6 |
|||||||
TP_RP |
TP_UDHI |
TP_SRI |
- |
TP_MMS |
TP_MTI |
М |
1 |
||
TP_OA_L (Originating Address Length) |
М |
1 |
|||||||
TP_OA_T (Originating Address Type) |
М |
1 |
|||||||
TP_OA (Originating Address) |
М |
0-10 |
|||||||
TP_PID (Protocol Identifier) |
М |
1 |
|||||||
TP_DCS (Data Coding Schema) |
М |
1 |
|||||||
TP_SCTS (SMSC Time Stamp) |
М |
7 |
|||||||
TP_UDL (User Data Length) |
М |
1 |
|||||||
TP_UD (User Data) |
О |
0 .. 140 |
7.33. SMSC_AL - длина полезных данных адреса SMSC в октетах плюс 1 октет поля SMSC_AT.
7.34. SMSC_AT - тип формата адреса SMSC. Возможные значения параметров SMSC_AT представлены в Таблице № 7. Поле опциональное и его наличие зависит от значения параметра SMSC_AL (если значение SMSC_AL > 0, то данное поле присутствует).
7.35. SMSC_A - адрес SMSC. Каждая десятичная цифра номера представлена в виде 4-х бит (младшие 4 бита - цифра старшего разряда, старшие 4 бита - цифра младшего разряда), при этом, если количество цифр в номере нечётное, то в битах с 4 по 7 последнего байта номера устанавливается значение 0xF (1111b).
7.36. TP_MTI - (Message Type Indicator) тип сообщения (содержит бинарное значение 00)
7.37. TP_MMS - (More Messages to Send) определяет, существуют ли сообщения на стороне SMSC, ожидающие доставки данному получателю. Параметр может иметь следующие значения:
0 - есть ещё SMS сообщения для доставки;
1 - сообщений для доставки нет.
7.38. TP_SRI - (Status Report Indication) показывает, запрашивает ли сторона, отправившая данное сообщение, уведомление о доставке. Может принимать следующие значения:
0 - уведомление не будет передаваться отправителю;
1 - уведомление будет отправлено.
7.39. TP_UDHI - (User Data Header Indicator) определяет, передаётся ли заголовок пользовательских данных TP_UD_HEADER (если поле имеет значение 1, то заголовок присутствует).
7.40. TP_RP - (Reply Path) определяет, присутствует ли поле RP в сообщении.
7.41. TP_OA_L - длина полезных данных адреса отправителя.
7.42. ТР_ОА_Т - тип формата адреса отправителя. Возможные значения параметров ТР_ОА_Т и SMSC_AT представлены в Таблицах № 7, 12.
7.43. ТР_ОА - адрес отправителя. Кодировка номера производится по тем же правилам, что и в параметре SMSC_A.
7.44. TP_PID - идентификатор протокола;
7.45. TP_DCS - тип кодировки данных (содержит значение 0x04, определяющее 8-ми битную кодировку сообщения, отсутствие компрессии).
7.46. TP_SCTS - время, когда данное сообщение было передано в транспортный уровень SMSC. Формат данного параметра определяется значением из таблицы № 12.
7.47. TP_UDL - Длина данных сообщения из поля TP_DL, в байтах для используемой 8-ми битной кодировки.
7.48. TP_UD - непосредственно передаваемые пользовательские данные. Формат данного поля в зависимости от значения поля TP_UDHI представлен в Таблице № 7.
8. Формат передаваемой информации
8.1. При использовании SMS-сервиса для обмена данными между абонентским терминалом и аппаратно-программным комплексом пакеты, упакованные по правилам Протокола транспортного уровня и Уровня поддержки услуг, помещаются в поле TP_UD (Таблица № 10), при этом полный размер пакета Протокола не превышает 140 байт.
8.2. Для отправки SMS, содержащего "цифровую подпись", используется пакет Транспортного уровня типа EGTS_PT_SIGNED_APPDATA.
8.3. В случае если размер пакета данных протокола превышает 140 байт, используется механизм конкатенации SMS сообщений. Суть данного механизма состоит в том, что передаваемые пользовательские данные разбиваются на части и отправляются отдельными SMS сообщениями. Каждое такое сообщение содержит специальную структуру, определяющую общее количество частей передаваемых данных и порядок их сборки на принимающей стороне. В качестве такой структуры используется поле TP_UD_HEADER, которое содержит информационный элемент, характеризующий часть конкатенируемого SMS сообщения.
Максимально возможный размер пакета при использовании 8-ми битной кодировки составляет 34170 байт.
9. Временные и количественные параметры протокола транспортного уровня при использовании пакетной передачи данных
9.1. Таблица № 13 содержит описание временных и количественных параметров протокола Транспортного уровня.
Таблица № 13. Временные и количественные параметры протокола Транспортного уровня
Наименование |
Тип данных |
Диапазон значений |
Значение по умолчанию |
Описание |
TL RESPONSE ТО |
BYTE |
0 .. 255 |
5 |
Время ожидания подтверждения пакета на Транспортном Уровне отсчитываемое с момента его отправки стороной сгенерировавшей пакет, секунды |
TL RESEND ATTEMPTS |
BYTE |
0 .. 255 |
3 |
Количество повторных попыток отправки неподтверждённого пакета стороной сгенерировавшей пакет. Отсчитывается после истечения времени параметра TL_RESPONSE_TO при отсутствии пакета подтверждения |
TL RECONNECT TO |
BYTE |
0 .. 255 |
30 |
Время в секундах, по истечении которого осуществляется повторная попытка установления канала связи после его разрыва |
Таблица № 14 - Коды результатов обработки
Значение |
Обозначение |
Описание |
0 |
EGTS_PC_OK |
успешно обработано |
1 |
EGTS_PC_IN_PROGRESS |
в процессе обработки |
128 |
EGTS_PC_UNS_PROTOCOL |
неподдерживаемый протокол |
129 |
EGTS_PC_DECRYPT_ERROR |
ошибка декодирования |
130 |
EGTS_PC_PROC_DENIED |
обработка запрещена |
131 |
EGTS_PC_INC_HEADERFORM |
неверный формат заголовка |
132 |
EGTS_PC_INC_DATAFORM |
неверный формат данных |
133 |
EGTS_PC_UNS TYPE |
неподдерживаемый тип |
134 |
EGTS_PC_NOTEN_PARAMS |
неверное количество параметров |
135 |
EGTS_PC_DBL_PROC |
попытка повторной обработки |
136 |
EGTS_PC_PROC_SRC_DENIED |
обработка данных от источника запрещена |
137 |
EGTS_PC_HEADERCRC_ERROR |
ошибка контрольной суммы заголовка |
138 |
EGTS_PC_DATACRC_ERROR |
ошибка контрольной суммы данных |
139 |
EGTS_PC_INVDATALEN |
некорректная длина данных |
140 |
EGTS_PC_ROUTE_NFOUND |
маршрут не найден |
141 |
EGTS_PC_ROUTE_CLOSED |
маршрут закрыт |
142 |
EGTS_PC_ROUTE_DENIED |
маршрутизация запрещена |
143 |
EGTS_PC_INVADDR |
неверный адрес |
144 |
EGTS_PC_TTLEXPIRED |
превышено количество ретрансляции данных |
145 |
EGTS_PC_NO_ACK |
нет подтверждения |
146 |
EGTS_PC_OBJ_NFOUND |
объект не найден |
147 |
EGTS_PC_EVNT_NFOUND |
событие не найдено |
148 |
EGTS_PC_SRVC_NFOUND |
сервис не найден |
149 |
EGTS_PC_SRVC_DENIED |
сервис запрещён |
150 |
EGTS_PC_SRVC_UNKN |
неизвестный тип сервиса |
151 |
EGTS_PC_AUTH_DENIED |
авторизация запрещена |
152 |
EGTS_PC_ALREADY_EXISTS |
объект уже существует |
153 |
EGTS_PC_ID_NFOUND |
идентификатор не найден |
154 |
EGTS_PC_INC_DATETIME |
неправильная дата и время |
155 |
EGTS_PC_IO_ERROR |
ошибка ввода/вывода |
156 |
EGTS_PC_NO_RES_AVAIL |
недостаточно ресурсов |
157 |
EGTS_PC_MODULE_FAULT |
внутренний сбой модуля |
158 |
EGTS_PC_MODULE_PWR_FLT |
сбой в работе цепи питания модуля |
159 |
EGTS_PC_MODULE_PROC_FLT |
сбой в работе микроконтроллера модуля |
160 |
EGTS_PC_MODULE_SW_FLT |
сбой в работе программы модуля |
161 |
EGTS_PC_MODULE_FW_FLT |
сбой в работе внутреннего ПО модуля |
162 |
EGTS_PC_MODULE_IO_FLT |
сбой в работе блока ввода/вывода модуля |
163 |
EGTS_PC_MODULE_MEM_FLT |
сбой в работе внутренней памяти модуля |
164 |
EGTS_PC_TEST_FAILED |
тест не пройден |
• Источник: garant.ru
< Предыдущая | Следующая > |
---|