Добрый день.
Подскажите, пожалуйста, какие на данный момент есть средства внешней автоматизации при работе со станцией LTP ?
примеры на Python, Perl, Bash ?
Интересует реализация интеграции с биллингом, когда на входе вводится номер договора абонента и серийный номер подключаемой ONU, а результатом является настроенный порт OLT с уникальным С-VLAN на абонента и проч. характеристиками.
Спасибо.
О деактивации форума Eltex
Уважаемые коллеги! В связи с потерей актуальности данного ресурса, нами было принято решение о частичной деактивации форума Eltex. Мы отключили функции регистрации и создания новых тем, а также возможность оставлять сообщения. Форум продолжит работу в "режиме чтения", так как за долгие годы работы здесь накопилось много полезной информации и ответов на часто встречающиеся вопросы.
Мы активно развиваем другие каналы коммуникаций, которые позволяют более оперативно и адресно консультировать наших клиентов. Если у вас возникли вопросы по работе оборудования, вы можете обратиться в техническую поддержку Eltex, воспользовавшись формой обращения на сайте компании или оставить заявку в системе Service Desk. По иным вопросам проконсультируют наши менеджеры коммерческого отдела: eltex@eltex-co.ru.
Уважаемые коллеги! В связи с потерей актуальности данного ресурса, нами было принято решение о частичной деактивации форума Eltex. Мы отключили функции регистрации и создания новых тем, а также возможность оставлять сообщения. Форум продолжит работу в "режиме чтения", так как за долгие годы работы здесь накопилось много полезной информации и ответов на часто встречающиеся вопросы.
Мы активно развиваем другие каналы коммуникаций, которые позволяют более оперативно и адресно консультировать наших клиентов. Если у вас возникли вопросы по работе оборудования, вы можете обратиться в техническую поддержку Eltex, воспользовавшись формой обращения на сайте компании или оставить заявку в системе Service Desk. По иным вопросам проконсультируют наши менеджеры коммерческого отдела: eltex@eltex-co.ru.
автоматизация LTP
Re: автоматизация LTP
urs писал(а):Добрый день.
Подскажите, пожалуйста, какие на данный момент есть средства внешней автоматизации при работе со станцией LTP ?
примеры на Python, Perl, Bash ?
Интересует реализация интеграции с биллингом, когда на входе вводится номер договора абонента и серийный номер подключаемой ONU, а результатом является настроенный порт OLT с уникальным С-VLAN на абонента и проч. характеристиками.
Спасибо.
Добрый день,
К сожалению, подобных готовых инструментов нет. Указанные параметры можно добавить на олт через snmp.
Данил Колесник / Элтекс / Сервисный центр ШПД / https://eltex-co.ru/support/
Re: автоматизация LTP
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
Спасибо!
Re: автоматизация LTP
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/
Re: автоматизация LTP
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 порту она появилась ?
Re: автоматизация LTP
Добрый день,
Данные команды отключают некоторые фильтры на онт, по умолчанию они включены.
В актуальной версии ПО, опубликованной на сайте, данная проблема была решена, лишние строки в конфигурацию не добавляются.
Включить по snmp на данный момент можно только broadcast-downstream filter.
snmpset -v2c -c private LTP_IP ltp8xONTConfigDownstreamBroadcastFilterEnabled.1.8.dec_pon_serial i 1
Да, можно выполнить такой запрос. Должен вернуться номер канала, даже если онт в unactivated статусе.
snmpwalk -v2c -c public LTP_IP ltp8xONTStateChannel.1.8.dec_pon_serial
Уточняющий вопрос:
У меня по 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/
Re: автоматизация LTP
Если кому-то надо, то вот пример на 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»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 40 гостей