---
# System prepended metadata

title: Channel Controller

---

# Channel Controller

## Use case for ODU trail

1. Юзер выбирает клиентский порт на карте (не занятый)
2. Юзер выбирает тип ODU (если > 1)
3. Если уже проброшен ad-hoc канал, предлагаем использовать его
4. Юзер выбирает карту для другого конца канала
6. Система показывает список портов, до которых технически возможно дотянуться, или выдает сообщение о нехватке OTU. OTU пригодно для использования только если в него может быть размещено исходное ODU с заданного порта.
7. Юзер выбирает порт для другого конца канала
8. Юзер выбирает размещение ODU в OTU

Реакция системы:

* Создаем канал.
* Создаем endpoint'ы в домене ODU для 2 клиентских портов и подцепляем к каналу.
* Создаем задачу для runner с 2 job на настройку кроссировок на двух ADM картах.

## Use case for OTU trail

Для создания канала возможно задать дополнительные ограничения:

1. Список объектов (платы, шасси, PoP, группы), через которые должен проходить канал
2. Список объектов, через которые запрещено проводить канал

Сценарий:

1. Юзер выбирает линейный порт на карте (не занятый)
2. Юзер выбирает тип OTU (если > 1)
3. Юзер выбирает частотные характеристики. При этом необходимо учитывать:
    * Возможности трансивера
    * Использование частот на всех ROADM, до которых теоретически можно дотянуться с данного порта (с учетом возможности переконфигурации)
5. Юзер выбирает объект, где должен находиться второй конец канала. Объект может быть как картой, так и шасси, PoP или группой.
6. Система трассирует оптическую сеть и находит линейные порты, которые попадают под критерий. При этом для каждой возможной трассы указывается, реализована ли она полностью, или требуется конфигурация ROADM.
7. Юзер выбирает второй линейный порт

Реакция системы:
* Создаем канал.
* Создаем endpoint'ы в домене OTU для 2 клиентских портов и подцепляем к каналу, ставим discriminator lambda с выбранными частотами.
* Создаем задачу для runner с 2 job на настройку OTU на двух ADM картах. В случае необходимости настройки ROADM формируем job на кроссировку.
