О деактивации форума Eltex

Уважаемые коллеги! В связи с потерей актуальности данного ресурса, нами было принято решение о частичной деактивации форума Eltex. Мы отключили функции регистрации и создания новых тем, а также возможность оставлять сообщения. Форум продолжит работу в "режиме чтения", так как за долгие годы работы здесь накопилось много полезной информации и ответов на часто встречающиеся вопросы.

Мы активно развиваем другие каналы коммуникаций, которые позволяют более оперативно и адресно консультировать наших клиентов. Если у вас возникли вопросы по работе оборудования, вы можете обратиться в техническую поддержку Eltex, воспользовавшись формой обращения на сайте компании или оставить заявку в системе Service Desk. По иным вопросам проконсультируют наши менеджеры коммерческого отдела: eltex@eltex-co.ru.

автоматизация LTP

ONT NTE / NTP, OLT LTE / LTP / MA4000-PX
urs
Сообщения: 116
Зарегистрирован: 25 фев 2016 00:42
Reputation: 0

автоматизация LTP

Сообщение urs » 27 сен 2021 15:20

Добрый день.

Подскажите, пожалуйста, какие на данный момент есть средства внешней автоматизации при работе со станцией LTP ?
примеры на Python, Perl, Bash ?

Интересует реализация интеграции с биллингом, когда на входе вводится номер договора абонента и серийный номер подключаемой ONU, а результатом является настроенный порт OLT с уникальным С-VLAN на абонента и проч. характеристиками.

Спасибо.

kolesnik
Сообщения: 152
Зарегистрирован: 07 май 2019 17:14
Reputation: 0
Откуда: Элтекс

Re: автоматизация LTP

Сообщение kolesnik » 27 сен 2021 17:48

urs писал(а):Добрый день.

Подскажите, пожалуйста, какие на данный момент есть средства внешней автоматизации при работе со станцией LTP ?
примеры на Python, Perl, Bash ?

Интересует реализация интеграции с биллингом, когда на входе вводится номер договора абонента и серийный номер подключаемой ONU, а результатом является настроенный порт OLT с уникальным С-VLAN на абонента и проч. характеристиками.

Спасибо.


Добрый день,
К сожалению, подобных готовых инструментов нет. Указанные параметры можно добавить на олт через snmp.
Данил Колесник / Элтекс / Сервисный центр ШПД / https://eltex-co.ru/support/

urs
Сообщения: 116
Зарегистрирован: 25 фев 2016 00:42
Reputation: 0

Re: автоматизация LTP

Сообщение urs » 27 сен 2021 18:39

kolesnik писал(а):Указанные параметры можно добавить на олт через snmp.

А вы можете подсказать как прописать через SNMP такое (LTP-8X) :

1. Проверить, создан ли VLAN 3292

2. Создать VLAN 3292 с такими параметрами:

Код: Выделить всё

vlan 3292
  name "3210120"
  tagged pon-port 2 , front-port 0 , pon-port 4

3. Проверить, создан ли profile cross-connect "3292"

4. Создать profile cross-connect "3292" с такими параметрами:

Код: Выделить всё

profile cross-connect "3292"
bridge
bridge group "1"
outer vid "3292"
exit

5. Проверить, какое описание (desciption) у интерфейса 4/8 и есть ли он вообще на станции

6. Настроить интерфейс 4/8 таким образом:

Код: Выделить всё

interface ont 4/8
description "Abonent-3210120"
serial ELTX7C01DXXX
service 0 profile cross-connect "3292"
service 0 profile dba "dba-00"
profile ports "NTU-1"
exit

Спасибо!

kolesnik
Сообщения: 152
Зарегистрирован: 07 май 2019 17:14
Reputation: 0
Откуда: Элтекс

Re: автоматизация LTP

Сообщение kolesnik » 28 сен 2021 17:28

1. Проверить, создан ли VLAN 3292

Получить список сконфигурированных vlan:
snmpwalk -v2c -c public LTP_IP ltp8xSwitchVLANEntry
2. Создать VLAN 3292 с такими параметрами:

Код: Выделить всё

vlan 3292
  name "3210120"
  tagged pon-port 2 , front-port 0 , pon-port 4

Создание vlan:
snmpset -v2c -c private LTP_IP ltp8xSwitchVLANRowStatus.1.3292 i 4

Указать имя vlan:
snmpset -v2c -c private LTP_IP ltp8xSwitchVLANName.1.3292 s 3210120

Членство портов:
Членство портов во VLAN указывается при помощи двух битовых масок, в каждой из которых значение 1 в N-ном бите (считая от старшего к младшему) означает включение порта с индексом N в это множество. Распределение индексов портов можно узнать в таблице ltp8xSwitchPortsTable. Для подстановки в команды snmpset, битовые маски переводятся в hex-формат.
Существует два множества: TaggedPorts и UntaggedPorts.
В вашем случае команда для указания tagged портов будет выглядеть так:
snmpset -v2c -c private LTP_IP ltp8xSwitchVLANTaggedPorts.1.3292 x 80028000

Значение 80028000 было сформировано таким образом:
1) Необходимо запросить с олт список интерфейсов и их индексов:
snmpwalk -v2c -c public LTP_IP ltp8xSwitchPortsName
Получаем результат:
iso.3.6.1.4.1.35265.1.22.9.1.1.2.1 = STRING: "front-port 0"
iso.3.6.1.4.1.35265.1.22.9.1.1.2.2 = STRING: "front-port 1"
iso.3.6.1.4.1.35265.1.22.9.1.1.2.3 = STRING: "front-port 2"
iso.3.6.1.4.1.35265.1.22.9.1.1.2.4 = STRING: "front-port 3"
iso.3.6.1.4.1.35265.1.22.9.1.1.2.5 = STRING: "front-port 4"
iso.3.6.1.4.1.35265.1.22.9.1.1.2.6 = STRING: "front-port 5"
iso.3.6.1.4.1.35265.1.22.9.1.1.2.7 = STRING: "front-port 6"
iso.3.6.1.4.1.35265.1.22.9.1.1.2.8 = STRING: "front-port 7"
iso.3.6.1.4.1.35265.1.22.9.1.1.2.9 = STRING: "front-port 8"
iso.3.6.1.4.1.35265.1.22.9.1.1.2.10 = STRING: "front-port 9"
iso.3.6.1.4.1.35265.1.22.9.1.1.2.11 = STRING: "pon-port 0"
iso.3.6.1.4.1.35265.1.22.9.1.1.2.12 = STRING: "pon-port 1"
iso.3.6.1.4.1.35265.1.22.9.1.1.2.13 = STRING: "mgmt-pon-port 0"
iso.3.6.1.4.1.35265.1.22.9.1.1.2.14 = STRING: "mgmt-pon-port 1"
iso.3.6.1.4.1.35265.1.22.9.1.1.2.15 = STRING: "pon-port 2"
iso.3.6.1.4.1.35265.1.22.9.1.1.2.16 = STRING: "pon-port 3"
iso.3.6.1.4.1.35265.1.22.9.1.1.2.17 = STRING: "pon-port 4"
iso.3.6.1.4.1.35265.1.22.9.1.1.2.18 = STRING: "pon-port 5"
iso.3.6.1.4.1.35265.1.22.9.1.1.2.19 = STRING: "pon-port 6"
iso.3.6.1.4.1.35265.1.22.9.1.1.2.20 = STRING: "pon-port 7"
2) Далее формируем 4х байтную маску в двоичном виде.
По умолчанию ни один из портов не принадлежит этому vlan, соответственно, маска по умолчанию включает 32 нуля. Разряды в маске соответствуют индексам интерфейсов, самый старший разряд - это интерфейс с индексом 1, следующий разряд - второй интерфейс, и т.д. Для формирования маски необходимо выставить 1 на нужных разрядах. То есть маска, помечающая front-port 0, pon-port 2, pon-port 4, будет выглядеть так.
10000000000000101000000000000000
3) Переводим это значение в HEX, и получаем 80028000. Далее это значение уже передается через SNMP.
Аналогично формируется маска и для untagged портов, только в этом случае будет использоваться oid ltp8xSwitchVLANUntaggedPorts - .1.3.6.1.4.1.35265.1.22.9.2.1.5.1.<vlan id>
3. Проверить, создан ли profile cross-connect "3292"

Получить список с именами и индексами сконфигурированных профилей cross-connect:
snmpwalk -v2c -c public LTP_IP ltp8xONTCrossConnectName
4. Создать profile cross-connect "3292" с такими параметрами:

Код: Выделить всё

profile cross-connect "3292"
bridge
bridge group "1"
outer vid "3292"
exit

Создать профиль cross-connect, указать первый свободный индекс.
snmpset -v2c -c private LTP_IP ltp8xONTCrossConnectRowStatus.profile_index i 4

Указать имя профиля.
snmpset -v2c -c private LTP_IP ltp8xONTCrossConnectName.profile_index s 3292

Указать строку "bridge".
snmpset -v2c -c LTP_IP ltp8xONTCrossConnectModel.profile_index i 1

Указать бридж группу.
snmpset -v2c -c private LTP_IP ltp8xONTCrossConnectBridgeGroup.profile_index u 1

Указать outer vid.
snmpset -v2c -c LTP_IP ltp8xONTCrossConnectOuterVID.profile_index i 3292
5. Проверить, какое описание (desciption) у интерфейса 4/8 и есть ли он вообще на станции

Для того, чтобы узнать конфигурацию онт, необходимо знать pon-serial этой онт. Т.к. запросы к конфигурации онт выполняются по pon serial.
snmpwalk -v2c -c public LTP_IP ltp8xONTConfigDescription.1.8.dec_pon_serial
Здесь dec_pon_serial - pon-serial в десятичном виде.
Пример перевода ELTX7100004C.
ELTX(text)=454C5458(hex)
45 4C 54 58 71 00 00 4C(hex)=69 76 84 88 113 0 0 76
Таким образом snmp запрос description для онт ELTX7100004C будет выглядеть так:
snmpwalk -v2c -c public LTP_IP ltp8xONTConfigDescription.1.8.69.76.84.88.113.0.0.76

Узнать, прописан ли какой-либо pon-serial на определенном id можно так:
snmpwalk -v2c -c public LTP_IP ltp8xONTConfigFreenessSerial.1.gpon-port.ont_id

Если pon-serial, прописан, oid вернет прописанный pon serial в hex виде, например для онт 6/5:
snmpwalk -v2c -c public 192.168.11.31 ltp8xONTConfigFreenessSerial.1.6.5
iso.3.6.1.4.1.35265.1.22.3.80.1.4.1.6.5 = Hex-STRING: 45 4C 54 58 5C 0E 0A E4

Если ничего не прописано, будет возвращена ошибка.
6. Настроить интерфейс 4/8 таким образом:

Код: Выделить всё

interface ont 4/8
description "Abonent-3210120"
serial ELTX7C01DXXX
service 0 profile cross-connect "3292"
service 0 profile dba "dba-00"
profile ports "NTU-1"
exit

Данная команда создаёт ONT 6/0 с серийным номером ELTX24A80012:
snmpset -v2c -c private 192.168.11.31 ltp8xONTConfigRowStatus.1.8.69.76.84.88.36.168.0.18 i 4 ltp8xONTConfigChannel.1.8.69.76.84.88.36.168.0.18 u 6 ltp8xONTConfigID.1.8.69.76.84.88.36.168.0.18 u 0

Эта команда для ONT с серийным номером ELTX24A80012 устанавливает профиль Cross-Connect с
индексом 1 и профиль DBA с индексом 2 для сервиса 7:
snmpset -v2c -c private 192.168.11.31 ltp8xONTFullServicesConfigCrossConnectProfile.1.8.69.76.84.88.36.168.0.18.8 u 1 ltp8xONTFullServicesConfigDBAProfile.1.8.69.76.84.88.36.168.0.18.8 u 2

Добавить на онт ELTX24A80012 профиль ports с индексом 1:
snmpset -v2c -c private 192.168.11.31 ltp8xONTConfigPortsProfile.1.8.69.76.84.88.36.168.0.18 u 1

Получить список профилей портов с именами и индексами:
snmpwalk -v2c -c public 192.168.11.31 ltp8xONTPortsName

Применение (commit) конфигурации происходит автоматически при изменений конфигурации

Используемые oid в числовом представлении:
ltp8xSwitchVLANEntry - .1.3.6.1.4.1.35265.1.22.9.2.1
ltp8xSwitchVLANRowStatus - .1.3.6.1.4.1.35265.1.22.9.2.1.6
ltp8xSwitchVLANName - .1.3.6.1.4.1.35265.1.22.9.2.1.3
ltp8xSwitchVLANTaggedPorts - .1.3.6.1.4.1.35265.1.22.9.2.1.4
ltp8xSwitchPortsName - .1.3.6.1.4.1.35265.1.22.9.1.1.2
ltp8xONTCrossConnectName - .1.3.6.1.4.1.35265.1.22.3.9.1.3
ltp8xONTCrossConnectRowStatus - .1.3.6.1.4.1.35265.1.22.3.9.1.20
ltp8xONTCrossConnectModel - .1.3.6.1.4.1.35265.1.22.3.9.1.4
ltp8xONTCrossConnectBridgeGroup - .1.3.6.1.4.1.35265.1.22.3.9.1.5
ltp8xONTCrossConnectOuterVID - .1.3.6.1.4.1.35265.1.22.3.9.1.7
ltp8xONTConfigDescription - .1.3.6.1.4.1.35265.1.22.3.4.1.8
ltp8xONTConfigFreenessSerial - .1.3.6.1.4.1.35265.1.22.3.80.1.4
ltp8xONTPortsName - .1.3.6.1.4.1.35265.1.22.3.41.1.3
ltp8xONTConfigPortsProfile - .1.3.6.1.4.1.35265.1.22.3.4.1.31
ltp8xONTConfigRowStatus - .1.3.6.1.4.1.35265.1.22.3.4.1.20
ltp8xONTConfigChannel - .1.3.6.1.4.1.35265.1.22.3.4.1.3
ltp8xONTConfigID - .1.3.6.1.4.1.35265.1.22.3.4.1.4
ltp8xONTFullServicesConfigCrossConnectProfile - .1.3.6.1.4.1.35265.1.22.3.25.1.4
ltp8xONTFullServicesConfigDBAProfile - .1.3.6.1.4.1.35265.1.22.3.25.1.5

MIB можно загрузить по ссылке: https://eltex-co.ru/upload/iblock/824/mib.zip
Ссылка на руководство по работе с SNMP: https://eltex-co.ru/upload/iblock/3e5/L ... 3.42.0.pdf
Данил Колесник / Элтекс / Сервисный центр ШПД / https://eltex-co.ru/support/

urs
Сообщения: 116
Зарегистрирован: 25 фев 2016 00:42
Reputation: 0

Re: автоматизация LTP

Сообщение urs » 28 сен 2021 21:02

kolesnik писал(а):

Большое спасибо.

Уточняющий вопрос:

У меня по SNMP создался такой профиль
interface ont 4/8
description "Abonent-3210120"
serial ELTX7C01DXXX
no broadcast-downstream filter
no multicast-downstream filter
service 0 profile cross-connect "3292"
service 0 profile dba "dba-00"
profile ports "NTU-1"
exit

в отличии от ручного создания, тут появились строчки
no broadcast-downstream filter
no multicast-downstream filter

Как их убрать по SNMP из этой конфигурации ? Особенно multicast-downstream - я не нашёл ничего в MIB
Я так понимаю, что надо чтобы они были true

Ещё такой вопрос:
Когда подключается новая ONU и она видна на каком-то PON порту в статусе UNACTIVATED

Код: Выделить всё

        ##          Serial    ONT ID    GPON-port         Status    Version    EquipmentID    Description
         1    ELTX620E55EC       n/a            <?>    UNACTIVATED        n/a            n/a            n/a

Как-то можно по SNMP узнать на каком PON порту она появилась ?

kolesnik
Сообщения: 152
Зарегистрирован: 07 май 2019 17:14
Reputation: 0
Откуда: Элтекс

Re: автоматизация LTP

Сообщение kolesnik » 29 сен 2021 10:11

Добрый день,
Уточняющий вопрос:

У меня по SNMP создался такой профиль

Код: Выделить всё

interface ont 4/8
description "Abonent-3210120"
serial ELTX7C01DXXX
no broadcast-downstream filter
no multicast-downstream filter
service 0 profile cross-connect "3292"
service 0 profile dba "dba-00"
profile ports "NTU-1"
exit


в отличии от ручного создания, тут появились строчки
no broadcast-downstream filter
no multicast-downstream filter

Как их убрать по SNMP из этой конфигурации ? Особенно multicast-downstream - я не нашёл ничего в MIB
Я так понимаю, что надо чтобы они были true

Данные команды отключают некоторые фильтры на онт, по умолчанию они включены.
В актуальной версии ПО, опубликованной на сайте, данная проблема была решена, лишние строки в конфигурацию не добавляются.
Включить по snmp на данный момент можно только broadcast-downstream filter.
snmpset -v2c -c private LTP_IP ltp8xONTConfigDownstreamBroadcastFilterEnabled.1.8.dec_pon_serial i 1
Ещё такой вопрос:
Когда подключается новая ONU и она видна на каком-то PON порту в статусе UNACTIVATED

Код: Выделить всё

        ##          Serial    ONT ID    GPON-port         Status    Version    EquipmentID    Description
         1    ELTX620E55EC       n/a            <?>    UNACTIVATED        n/a            n/a            n/a

Как-то можно по SNMP узнать на каком PON порту она появилась ?

Да, можно выполнить такой запрос. Должен вернуться номер канала, даже если онт в unactivated статусе.
snmpwalk -v2c -c public LTP_IP ltp8xONTStateChannel.1.8.dec_pon_serial
Данил Колесник / Элтекс / Сервисный центр ШПД / https://eltex-co.ru/support/

urs
Сообщения: 116
Зарегистрирован: 25 фев 2016 00:42
Reputation: 0

Re: автоматизация LTP

Сообщение urs » 30 сен 2021 18:53

Если кому-то надо, то вот пример на bash конвертации PON SERIAL в OID

Код: Выделить всё

convert_serial_to_oid()
{
    # Example: input "ELTX620E55EC" = output ".69.76.84.88.98.14.85.236"
    local SERIAL_IN=$1
    local ELTX=454C5458
    local SERIAL_HEX=${SERIAL_IN/ELTX/$ELTX}
    local SERIAL_DEC=''

    local SERIAL_ARRAY=($(echo $SERIAL_HEX | grep -o .. | tr '\n' ' '))

    for d in ${SERIAL_ARRAY[@]}
    do
        SERIAL_DEC="${SERIAL_DEC}.$((16#$d))"
    done

    echo $SERIAL_DEC
}


Вернуться в «Оборудование PON»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 19 гостей