Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Данный функционал доступен только для внешнего ACS-сервера. На ACS сервере есть возможность добавить онт сторонних производителей для дальнейшего управления по протоколу TR-069. Обычно устройства сторонних вендоров выносятся в отдельные классы, онт разных моделей определенного вендора можно сгруппировать в один hw class. При ручном создании класса по умолчанию датамодель пустая, поэтому в некоторых случаях могут возникать проблемы с передачей параметров на CPE. На запросы SPV CPE может возвращать ошибку 9003. В таком случае необходимо сформировать датамодель, в которой будут указаны типы параметров.

Для начала необходимо включить типизацию для определенного класса в конфигурационном файле ACS сервера. В конфигурационном файле '/etc/acsd.conf' в конец строки 'dm_types_hwclasses = ' необходимо добавить класс, для которого нужно включить типизацию. Например, при включении типизации для класса TEST, строка должна иметь такой вид:

dm_types_hwclasses = UNKNOWN; TC; TEST

После внесения изменений в конфигурационный файл требуется перезапуск сервера:

$ service acsd restart

Далее необходимо сформировать или импортировать датамодель через acs-cli. Переходим в раздел acs-cli advanced / class TEST / datamodel:

tester@tester-acs:~$ acs-cli

********************************************
* ELTEX ACS CLI *
* *
* WARNING: Authorized Access Only *
********************************************

User 'admin' is logged in.
Welcome, it is Пн апр 12 09:52:38 +07 2021
(acs)advanced
(acs-advanced)class TEST
(acs-advanced-class-'TEST')datamodel
(acs-advanced-datamodel-'TEST')

Здесь доступны несколько методов импорта датамодели.

copy — копирование с удалением старой датамодели;
append — добавление отсутствующих параметров;
merge — копирование поверх старой датамодели с перезаписью параметров в случае совпадения имён.

Далее, выбрав нужный метод, нужно определить откуда будет импортирована датамодель.

(acs-advanced-datamodel-'TEST')copy

file Copy datamodel from CSV file
model Copy datamodel from other hardware class
result Copy datamodel from GPN command result

При копировании из другого класса достаточно указать название класса, из которого будет взята датамодель: 

(acs-advanced-datamodel-'TEST')copy model NTP
(acs-advanced-datamodel-'TEST')commit

Остановимся подробнее на копировании из результата GPN-запроса и на копировании из файла.

Обратите внимание, после внесения изменений в датамодель и их применения, потребуется перезапуск ACS сервера.
$ service acsd restart

Копирование датамодели из результата GPN запроса

При использовании данного метода, необходимо предварительно выполнить GPN запрос к корневому объекту InternetGatewayDevice, либо к определенной ветке.

# acs-cli
(acs)class test
TEST(acs)cpe 454C54586C001A94
TEST(acs-cpe-'454C54586C001A94')direct get parameter names InternetGatewayDevice. false nocheck

В конце запроса после запрошенного списка будет показан ID запроса:

Result ID: 7

Далее необходимо выполнить:

TEST(acs-cpe-'454C54586C001A94')top
(acs)advanced
(acs-advanced)class TEST
(acs-advanced-class-'TEST')datamodel
(acs-advanced-datamodel-'TEST')copy result 7
(acs-advanced-datamodel-'TEST')commit

Посмотреть сформированную модель можно командой

(acs-advanced-datamodel-'TEST')show model all

При использовании импорта из GPN-запроса все объекты будут занесены в датамодель с типом 'object'. При необходимости в дальнейшем возможно вручную отредактировать добавленные параметры, например:

(acs-advanced-datamodel-'TEST')show model all

## Name 								Type 		R/W Flags
1: InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.SSID	object		R
(acs-advanced-datamodel-'TEST')set parameter type InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.SSID string(64) writable
Ok
(acs-advanced-datamodel-'TEST')commit
(acs-advanced-datamodel-'TEST')show model all

## Name 								Type 		R/W Flags
1: InternetGatewayDevice.LANDevice.{i}.WLANConfiguration.{i}.SSID	string(64)	W

Копирование датамодели из файла

Импортировать датамодель можно из файлов формата .xml и .csv, имеющих определенную структуру. Импортируемый файл берется из директории '/var/acsd/config/TEST', где TEST - название класса. Перед импортом, необходимо поместить сформированный файл в эту директорию.

Копирование датамодели из файла .csv

CSV файл формируется в любом редакторе таблиц, например, MS Excel. Формат таблицы должен соответствовать формату таблицы, приведенному  в TR. Например, рассмотрим добавление фрагмента датамодели https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html

При просмотре сохраненный файл должен выглядеть так:

Для формирования таблицы необходимо:
1) Скопировать таблицу с датамоделью со страницы https://cwmp-data-models.broadband-forum.org/tr-098-1-8-0.html
2) Создать новый документ в MS Excel и установить для всех ячеек текстовый формат;
3) Вставить в документ скопированную таблицу. Вставленная таблица должна автоматически превратиться в таблицу excel (режим вставки "Использовать форматы конечных ячеек");
4) Удалить столбец Description и строку с заголовками столбцов (если эта строка была вставлена);
5) Этот документ сохраняется в формате CSV. Если редактор при сохранении файла предложит выбрать символ-разделитель, нужно выбрать ';'

Сформированная таблица должна иметь такой вид:

При просмотре сохраненный файл должен выглядеть так:

# cat csv_test.csv
InternetGatewayDevice.;object;-;-;1.0
DeviceSummary;string(1024);-;-;1.0
LANDeviceNumberOfEntries;unsignedInt;-;-;1.0
WANDeviceNumberOfEntries;unsignedInt;-;-;1.0
UserNumberOfEntries;unsignedInt;-;-;1.0
SmartCardReaderNumberOfEntries;unsignedInt;-;-;1.0
InternetGatewayDevice.Services.;object;-;-;1.0
InternetGatewayDevice.Capabilities.;object;-;-;1.0
InternetGatewayDevice.Capabilities.PerformanceDiagnostic.;object;-;-;1.0
DownloadTransports;string;-;-;1.0
UploadTransports;string;-;-;1.0
SerialNumber;string(64);-;-;1.0

Полученный файл нужно поместить в директорию /var/acsd/config/TEST, имя файла может быть любым.
Далее переходим в acs-cli и даем команду на загрузку файла.

# acs-cli
(acs)advanced
(acs-advanced)class TEST
(acs-advanced-class-'TEST')datamodel
(acs-advanced-datamodel-'TEST')copy file csv csv_test.csv

В случае успешного импорта должно появиться подобное сообщение:

13 added, 0 updated, 13 total.
Ok

Далее для применения модели нужно выполнить 'commit' и перезапустить сервер через 'service acsd restart'.

Копирование датамодели из файла .xml

Порядок загрузки файла аналогичен импорту из csv файла.

# acs-cli
(acs)advanced
(acs-advanced)class TEST
(acs-advanced-class-'TEST')datamodel
(acs-advanced-datamodel-'TEST')copy file xml filename.xml

Пример структуры xml-файла во вложении datamodel_example.xml

Примечание. Добавление сторонних ONT на встроенный ACS сервер LTP недоступно.


  • Нет меток