Подсистема SCCP. Общие положения. Основные задачи подсистемы, страница 6

Машина состояний: SCCP без установления соединений

Процедуры SCCP с услугой неориентированной на соединение

При использовании данной услуги возможно передавать сообщения с помощью протокола класса 0 (без контроля последовательности сообщений) и с помощью протокола класса 1 (контроль последовательности сообщений средствами MTP путем выставления одинакового значения параметра SLS для передачи всех пакетов данных, полученных в одном Multiple N-UNITDATA-request).

Для запроса передачи данных на исходящей стороне, пользователь SCCP должен передать примитив N-UNITDATA-request. Для доставки данных пользователю на входящей стороне используется примитив N-UNITDATA-indication. Для передачи сообщений по сети используются пакеты трех типов UDT (UNITDATA) и XUDT(EXTENDED UNITDATA).

1. Сегментация

Сегментация используется для передачи больших объемов данных. Максимальный объем данных, который может быть передан с использованием сегментации, составляет 3952 октета. Максимальное количество сегментов – 16. Сегментация возможна только при использовании для передачи сообщений типа XUDT. Алгоритм выбора размера сегмента зависит от производителя, рекомендация – минимизация количества сегментов.

После сегментации сообщения, подсистема SCCP выполняет следующие действия:

  • SCCP помещает каждый сегмент сообщения в отдельный пакет XUDT с одинаковыми значениями "Calling Party Address", "Called Party Address", OPC, DPC, SLS;
  • каждый пакет XUDT должен включать параметр segmentation;
  • в каждом пакете XUDT параметр "Number Of Remaining Segments" должен содержать количество не переданных сегментов;
  • для всех пакетов – сегментов одного блока данных параметр "Segmentation Local Reference" должен быть идентичным;
  • F-bit первого сегмента должен быть установлен, остальных сегментов – сброшен;
  • класс протокола должен быть 1;

При получении на входящей стороне сообщения XUDT с установленным F битом, подсистема SCCP на входящей стороне запускает процедуру Reassembly. При этом для уникальной идентификации процедуры используется совокупность параметров: "Calling Party Address", "Called Party Address", OPC, DPC, SLS, "Segmentation Local Reference".

При приеме сегментированных сообщений подсистема SCCP осуществляет мониторинг параметров: F-bit (должен быть сброшен во всех пакетах кроме первого) и "Number Of Remaining Segments" (должен быть на единицу меньше чем в предыдущем пакете). При обнаружении ошибки в данных параметрах, либо при истечении таймера на прием всех сегментов данного блока данных принимается решение об ошибке и инициализируется процедура возврата сообщений.

2. Процедура возврата сообщений

Процедура возврата сообщений может быть инициирована подсистемой SCCP или пользователем SCCP в следующих случаях:

  • SCCP routing не может доставить данное сообщение адресату;
  • обнаружены проблемы с поддержкой данного типа сообщений;
  • обнаружены проблемы с ресурсами системы;
  • обнаружены ошибки в процессе сегментации/сборки сообщений.

Процедура возврата сообщений инициируется только в том случае, если установлен параметр "Message Handling". При возврате сообщений выполняются следующие преобразования:

  • тип сообщения UDT заменяется на UDTS;
  • тип сообщения XUDT заменяется на XUDTS;
  • параметры "Called Party Address" и "Calling Party Address" меняются местами:
  • содержимое поля "data" передается неизменным.

Если параметр "Message Handling" не установлен, сообщение просто отбрасывается. При получении сообщения UDTS или XUDTS подсистема SCCP генерирует пользователю примитив N-NOTICE-indication.

При сегментации сообщений параметр "Message Handling" должен быть установлен только в первом сообщении. Если ошибка произошла в процессе сегментации, то возвращен будет также только первый сегмент, аналогично, если ошибка произошла при сборке сообщений, возврату подлежит только первый сегмент. Если принимается решение о возврате сегментированного сообщения по причине отличной от приведенных выше, то количество возвращаемых сегментов зависит от конкретной реализации.