Общая информация:
XML шаблон создается отдельно под каждый тип ONT или для класса.
Название файла шаблона должно полностью соответствовать названию модели или названию класса.
Структура конфигурации xml шаблона схожа с языком HTML. В ней так же используются открывающие и закрывающие тэги между которыми указываются параметры или другие тэги участвующие в настройке терминала. Как пример открывающий и закрывающие тэги которые используются в начале файла и в конце:
<properties></properties> |
Для указания комментария используются следующие символы:
Первым шагом будет добавление пустого шаблона.
Для этого нужно в панели меню EMS нажать на подменю ACS и выбрать "Настройка XML-шаблонов параметров устройств". После чего откроется окно редактор шаблонов

Далее нужно перейти в нужный класс и нажать кнопку
"Создать новый шаблон, Откроется окно с запросом ввода имени шаблона с уже указанным расширением .xml
Новый файл с шаблоном всегда будет начинаться со строки указывающей версию xml и используемой кодировкой, а так же в комментарии будет указано какой пользователь создал шаблон и когда:
<?xml version="1.0" encoding="UTF-8"?>
<!--
GUI.EMS Short params created 2026-01-30 03:40:13 by 'webLisA'
--> |
Для конфигурации шаблона используются тэги:
- Тэг отделяющий начало и конец конфигурации отдельного параметра
Если в поле должны быть использованы определенные символы, то в открывающем тэге необходимо будет указать параметр regexp <property ename="Наименование" regexp="[^!~`№$%&\\\|/,{}()?+^\[\]"' а-яА-Я]*"> |
|
- Тэг определяющий тип параметра используется совместно с тэгом <property> основные используемые значения:
SEPARATOR - разделитель
STR_255 – строка длинной 255 символов
ENUM_INT – переключатель передающий в ноду числовое значение 0 или 1
ENUM_STR – переключатель передающий в ноду числовое значение FALSE или TRUE |
- Тэг с наименованием которое будет отображаться перед полем для заполнения
- Тэг с кратким описанием которое будет появляться при наведении на наименование или поле для заполнения:
- Тэг позволяющий скрывать или отображать параметр:
<evisibility></evisibility> |
- Тэг который содержит ноду которую нужно будет переслать на терминал
Один тэг <property> может содержать несколько <oid> с нодами |
Как пример разберу создание шаблона для настройки PPPoE сервиса, VoIP и Wi-Fi f:
- После заполнения строк с версией и открывающего тега создадим разделитель для удобства просмотра
<property ename="PPP">
<etype>SEPARATOR</etype>
<elabel>PPP</elabel>
<evisibility>1</evisibility>
</property> |
- После разделителя будут указаны Параметры конфигурирующие включение сервиса, логин и пароль, vlan-id и разрешение редактировать сервис пользователю без прав администратора
<!-- включение PPP сервиса-->
<property ename="PPPoE enable">
<etype>ENUM_STR</etype>
<evalue>Disabled</evalue>
<elabel>PPPoE enable</elabel>
<enumManager>org.eltex.ems.web.common.propitem.enumManager.EnabledDisabledManager</enumManager>
<edescr></edescr>
<ewrite>1</ewrite>
<evisibility>1</evisibility>
<oid>InternetGatewayDevice.WANDevice.5.WANConnectionDevice.1.WANPPPConnection.1.Enable</oid>
</property>
<!-- Логин от учетной записи PPP--->
<property ename="ppp_login">
<etype>STR_255</etype>
<evalue></evalue>
<elabel>Login</elabel>
<edescr></edescr>
<ewrite>1</ewrite>
<evisibility>1</evisibility>
<oid>InternetGatewayDevice.WANDevice.5.WANConnectionDevice.1.WANPPPConnection.1.Username</oid>
</property>
<!-- Пароль от учетной записи PPP--->
<property ename="ppp_password">
<etype>STR_255</etype>
<evalue></evalue>
<elabel>Password</elabel>
<edescr></edescr>
<ewrite>1</ewrite>
<evisibility>1</evisibility>
<epassword>yes</epassword>
<oid>InternetGatewayDevice.WANDevice.5.WANConnectionDevice.1.WANPPPConnection.1.Password</oid>
</property>
<!-- VLAN для сервиса PPP--->
<property ename="vlan id">
<etype>STR_255</etype>
<evalue></evalue>
<elabel>VLAN ID</elabel>
<edescr></edescr>
<ewrite>1</ewrite>
<evisibility>1</evisibility>
<oid>InternetGatewayDevice.WANDevice.5.WANConnectionDevice.1.WANPPPConnection.1.X_BROADCOM_COM_VlanMuxID</oid>
</property>
<!-- Разрешение редактировать сервис пользователю без прав администратора--->
<property ename="Allow user to setting PPP">
<etype>ENUM_INT</etype>
<evalue>0</evalue>
<elabel>Разрешить настройку PPP пользователю</elabel>
<evisibility>1</evisibility>
<enumManager>org.eltex.ems.web.common.propitem.AcsEnableDisableManager</enumManager>
<edescr></edescr>
<ewrite>1</ewrite>
<oid>InternetGatewayDevice.WANDevice.5.WANConnectionDevice.1.WANPPPConnection.1.X_BROADCOM_COM_UserDefinedAuthData</oid>
</property> |
- Далее создадим еще один разделитель который будет разделять настройки PPP и VoIP:
<property ename="VOIP">
<etype>SEPARATOR</etype>
<elabel>VOIP</elabel>
<evisibility>1</evisibility>
</property> |
- Далее укажем настройки которые нужно будет применить для VoIP (Сервер, включение 1 и 2 порта для телефонии, назначение на порты номера и пароля для авторизации):
<!-- Указание сервера для авторизации--->
<property ename="sip proxy">
<etype>STR_255</etype>
<evalue></evalue>
<elabel>SIP proxy</elabel>
<edescr></edescr>
<ewrite>1</ewrite>
<evisibility>1</evisibility>
<oid>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.SIP.ProxyServer</oid>
<oid>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.SIP.RegistrarServer</oid>
<oid>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.SIP.OutboundProxy</oid>
</property>
<!-- Включение 1 порта--->
<property ename="port 1 enable">
<etype>ENUM_STR</etype>
<evalue>Disabled</evalue>
<elabel>Port #1 enable</elabel>
<enumManager>org.eltex.ems.web.common.propitem.enumManager.EnabledDisabledManager</enumManager>
<edescr></edescr>
<ewrite>1</ewrite>
<evisibility>1</evisibility>
<oid>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.1.Enable</oid>
</property>
<!-- Указание номера для 1 порта--->
<property ename="port 1 number">
<etype>STR_255</etype>
<evalue></evalue>
<elabel>Port #1 number</elabel>
<edescr></edescr>
<ewrite>1</ewrite>
<evisibility>1</evisibility>
<oid>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.1.CallingFeatures.CallerIDName</oid>
<oid>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.1.DirectoryNumber</oid>
<oid>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.1.SIP.AuthUserName</oid>
<oid>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.1.SIP.URI</oid>
</property>
<!-- Указание пароля для 1 порта--->
<property ename="port 1 password">
<etype>STR_255</etype>
<evalue></evalue>
<elabel>Port #1 password</elabel>
<edescr></edescr>
<ewrite>1</ewrite>
<evisibility>1</evisibility>
<epassword>yes</epassword>
<oid>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.1.SIP.AuthPassword</oid>
</property>
<!-- Включение 1 порта--->
<property ename="port 2 enable">
<etype>ENUM_STR</etype>
<evalue>Disabled</evalue>
<elabel>Port #2 enable</elabel>
<enumManager>org.eltex.ems.web.common.propitem.enumManager.EnabledDisabledManager</enumManager>
<edescr></edescr>
<ewrite>1</ewrite>
<evisibility>1</evisibility>
<oid>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.2.Enable</oid>
</property>
<!-- Указание номера для 2 порта--->
<property ename="port 2 number">
<etype>STR_255</etype>
<evalue></evalue>
<elabel>Port #2 number</elabel>
<edescr></edescr>
<ewrite>1</ewrite>
<evisibility>1</evisibility>
<oid>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.2.CallingFeatures.CallerIDName</oid>
<oid>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.2.DirectoryNumber</oid>
<oid>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.2.SIP.AuthUserName</oid>
<oid>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.2.SIP.URI</oid>
</property>
<!-- Указание пароля для 2 порта--->
<property ename="port 2 password">
<etype>STR_255</etype>
<evalue></evalue>
<elabel>Port #2 password</elabel>
<edescr></edescr>
<ewrite>1</ewrite>
<evisibility>1</evisibility>
<epassword>yes</epassword>
<oid>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.2.SIP.AuthPassword</oid>
</property>
<!-- Разрешение редактировать сервис пользователю без прав администратора--->
<property ename="Allow user to setting voip">
<etype>ENUM_INT</etype>
<evalue>0</evalue>
<elabel>Разрешить настройку VOIP пользователю</elabel>
<evisibility>1</evisibility>
<enumManager>org.eltex.ems.web.common.propitem.AcsEnableDisableManager</enumManager>
<edescr></edescr>
<ewrite>1</ewrite>
<oid>InternetGatewayDevice.Services.VoiceService.1.X_BROADCOM_COM_UserDefinedData</oid>
</property> |
- Укажем еще один разделитель который визуально отделит конфигурацию для Wi-Fi:
<property ename="WI-FI">
<etype>SEPARATOR</etype>
<elabel>Wi-Fi</elabel>
<evisibility>1</evisibility>
</property> |
- После укажем перечислим настройки которые необходимо передать на ONT:
<!-- Включение Wi-Fi--->
<property ename="WifiEnable">
<etype>ENUM_INT</etype>
<enumManager>org.eltex.ems.web.common.propitem.enumManager.Enabled1Disabled0Manager</enumManager>
<evalue>Disabled</evalue>
<elabel>Включить Wi-Fi</elabel>
<edescr></edescr>
<ewrite>1</ewrite>
<evisibility>1</evisibility>
<oid>InternetGatewayDevice.LANDevice.1.WLANConfiguration.#1.Enable</oid>
</property>
<!-- Указание SSID Wi-Fi--->
<property ename="WifiLogin" regexp="[^!~`№$%&\\\\|/,{}()?+^\[\]"' а-яА-Я]*">
<etype>STR_255</etype>
<evalue></evalue>
<elabel>Wi-Fi login</elabel>
<edescr>Логин пользователя на Wi-Fi. Запрещены пробелы, русские буквы и символы !~`№$%\\|/,{}()?+^[]"'.</edescr>
<ewrite>1</ewrite>
<emessage>Запрещены пробелы, русские буквы и символы !~`№$%\\|/,{}()?+^[]"'.</emessage>
<oid>InternetGatewayDevice.LANDevice.1.WLANConfiguration.#1.SSID</oid>
</property>
<!-- Назаначение пароля для подключения к Wi-Fi--->
<property ename="Wifipassword" regexp="[^а-яА-Я]*">
<etype>STR_255</etype>
<evalue></evalue>
<elabel>Wi-Fi password</elabel>
<ewrite>1</ewrite>
<epassword>yes</epassword>
<emessage>Запрещены русские буквы.</emessage>
<oid>InternetGatewayDevice.LANDevice.1.WLANConfiguration.#1.PreSharedKey.1.X_ELTEX_RU_PreSharedKey</oid>
</property> |
- Последним шагом будет закрывающий тэг который обозначает конец конфигурации
Ниже приведен полный файл конфигурации и как это будет выглядеть в графическом интерфейсе:
<?xml version="1.0" encoding="UTF-8"?>
<properties>
<!-- ==================== ppp ======================== -->
<property ename="PPP">
<etype>SEPARATOR</etype>
<elabel>PPP</elabel>
<evisibility>1</evisibility>
</property>
<property ename="PPPoE enable">
<etype>ENUM_STR</etype>
<evalue>Disabled</evalue>
<elabel>PPPoE enable</elabel>
<enumManager>org.eltex.ems.web.common.propitem.enumManager.EnabledDisabledManager</enumManager>
<edescr></edescr>
<ewrite>1</ewrite>
<evisibility>1</evisibility>
<oid>InternetGatewayDevice.WANDevice.5.WANConnectionDevice.1.WANPPPConnection.1.Enable</oid>
</property>
<property ename="ppp_login">
<etype>STR_255</etype>
<evalue></evalue>
<elabel>Login</elabel>
<edescr></edescr>
<ewrite>1</ewrite>
<evisibility>1</evisibility>
<oid>InternetGatewayDevice.WANDevice.5.WANConnectionDevice.1.WANPPPConnection.1.Username</oid>
</property>
<property ename="ppp_password">
<etype>STR_255</etype>
<evalue></evalue>
<elabel>Password</elabel>
<edescr></edescr>
<ewrite>1</ewrite>
<evisibility>1</evisibility>
<epassword>yes</epassword>
<oid>InternetGatewayDevice.WANDevice.5.WANConnectionDevice.1.WANPPPConnection.1.Password</oid>
</property>
<property ename="vlan id">
<etype>STR_255</etype>
<evalue></evalue>
<elabel>VLAN ID</elabel>
<edescr></edescr>
<ewrite>1</ewrite>
<evisibility>1</evisibility>
<oid>InternetGatewayDevice.WANDevice.5.WANConnectionDevice.1.WANPPPConnection.1.X_BROADCOM_COM_VlanMuxID</oid>
</property>
<property ename="Allow user to setting PPP">
<etype>ENUM_INT</etype>
<evalue>0</evalue>
<elabel>Разрешить настройку PPP пользователю</elabel>
<evisibility>1</evisibility>
<enumManager>org.eltex.ems.web.common.propitem.AcsEnableDisableManager</enumManager>
<edescr></edescr>
<ewrite>1</ewrite>
<oid>InternetGatewayDevice.WANDevice.5.WANConnectionDevice.1.WANPPPConnection.1.X_BROADCOM_COM_UserDefinedAuthData</oid>
</property>
<!-- ==================== VOIP ======================== -->
<property ename="VOIP">
<etype>SEPARATOR</etype>
<elabel>VOIP</elabel>
<evisibility>1</evisibility>
</property>
<property ename="sip proxy">
<etype>STR_255</etype>
<evalue></evalue>
<elabel>SIP proxy</elabel>
<edescr></edescr>
<ewrite>1</ewrite>
<evisibility>1</evisibility>
<oid>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.SIP.ProxyServer</oid>
<oid>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.SIP.RegistrarServer</oid>
<oid>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.SIP.OutboundProxy</oid>
</property>
<property ename="port1 enable">
<etype>ENUM_STR</etype>
<evalue>Disabled</evalue>
<elabel>Port #1 enable</elabel>
<enumManager>org.eltex.ems.web.common.propitem.enumManager.EnabledDisabledManager</enumManager>
<edescr></edescr>
<ewrite>1</ewrite>
<evisibility>1</evisibility>
<oid>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.1.Enable</oid>
</property>
<property ename="port1 number">
<etype>STR_255</etype>
<evalue></evalue>
<elabel>Port #1 number</elabel>
<edescr></edescr>
<ewrite>1</ewrite>
<evisibility>1</evisibility>
<oid>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.1.CallingFeatures.CallerIDName</oid>
<oid>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.1.DirectoryNumber</oid>
<oid>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.1.SIP.AuthUserName</oid>
<oid>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.1.SIP.URI</oid>
</property>
<property ename="port1 password">
<etype>STR_255</etype>
<evalue></evalue>
<elabel>Port #1 password</elabel>
<edescr></edescr>
<ewrite>1</ewrite>
<evisibility>1</evisibility>
<epassword>yes</epassword>
<oid>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.1.SIP.AuthPassword</oid>
</property>
<property ename="port2 enable">
<etype>ENUM_STR</etype>
<evalue>Disabled</evalue>
<elabel>Port #2 enable</elabel>
<enumManager>org.eltex.ems.web.common.propitem.enumManager.EnabledDisabledManager</enumManager>
<edescr></edescr>
<ewrite>1</ewrite>
<evisibility>1</evisibility>
<oid>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.2.Enable</oid>
</property>
<property ename="port2 number">
<etype>STR_255</etype>
<evalue></evalue>
<elabel>Port #2 number</elabel>
<edescr></edescr>
<ewrite>1</ewrite>
<evisibility>1</evisibility>
<oid>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.2.CallingFeatures.CallerIDName</oid>
<oid>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.2.DirectoryNumber</oid>
<oid>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.2.SIP.AuthUserName</oid>
<oid>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.2.SIP.URI</oid>
</property>
<property ename="port2 password">
<etype>STR_255</etype>
<evalue></evalue>
<elabel>Port #2 password</elabel>
<edescr></edescr>
<ewrite>1</ewrite>
<evisibility>1</evisibility>
<epassword>yes</epassword>
<oid>InternetGatewayDevice.Services.VoiceService.1.VoiceProfile.1.Line.2.SIP.AuthPassword</oid>
</property>
<property ename="Allow user to setting voip">
<etype>ENUM_INT</etype>
<evalue>0</evalue>
<elabel>Разрешить настройку VOIP пользователю</elabel>
<evisibility>1</evisibility>
<enumManager>org.eltex.ems.web.common.propitem.AcsEnableDisableManager</enumManager>
<edescr></edescr>
<ewrite>1</ewrite>
<oid>InternetGatewayDevice.Services.VoiceService.1.X_BROADCOM_COM_UserDefinedData</oid>
</property>
<!-- ==================== Wi-Fi ================ -->
<property ename="WI-FI">
<etype>SEPARATOR</etype>
<elabel>Wi-Fi</elabel>
<evisibility>1</evisibility>
</property>
<property ename="WifiEnable">
<etype>ENUM_INT</etype>
<enumManager>org.eltex.ems.web.common.propitem.enumManager.Enabled1Disabled0Manager</enumManager>
<evalue>Disabled</evalue>
<elabel>Включить Wi-Fi</elabel>
<edescr></edescr>
<ewrite>1</ewrite>
<evisibility>1</evisibility>
<oid>InternetGatewayDevice.LANDevice.1.WLANConfiguration.#1.Enable</oid>
</property>
<property ename="WifiLogin" regexp="[^!~`№$%&\\\\|/,{}()?+^\[\]"' а-яА-Я]*">
<etype>STR_255</etype>
<evalue></evalue>
<elabel>Wi-Fi login</elabel>
<edescr>Логин пользователя на Wi-Fi. Запрещены пробелы, русские буквы и символы !~`№$%\\|/,{}()?+^[]"'.</edescr>
<ewrite>1</ewrite>
<emessage>Запрещены пробелы, русские буквы и символы !~`№$%\\|/,{}()?+^[]"'.</emessage>
<oid>InternetGatewayDevice.LANDevice.1.WLANConfiguration.#1.SSID</oid>
</property>
<property ename="Wifipassword" regexp="[^а-яА-Я]*">
<etype>STR_255</etype>
<evalue></evalue>
<elabel>Wi-Fi password</elabel>
<ewrite>1</ewrite>
<epassword>yes</epassword>
<emessage>Запрещены русские буквы.</emessage>
<oid>InternetGatewayDevice.LANDevice.1.WLANConfiguration.#1.PreSharedKey.1.X_ELTEX_RU_PreSharedKey</oid>
</property>
</properties> |
