Skip navigation

Клиент TR-069 – клиентское ПО, предназначенное для управления STB с использованием TR-069.

TR-069 - спецификация, описывающая протокол CWMP (CPE WAN Management Protocol). В качестве CPE (customer premises equipment) выступает STB.

  Схема работы сети

Что такое клиент TR-069?

  Стек протоколов
CPE/ACS Management Application
RPC Methods
SOAP
HTTP
SSL/TLS
TCP/IP
  • CPE/ACS Application – приложение, которое использует CPE WAN Management Protocol (CWMP) на CPE и ACS.  Приложение определяется локально и не указывается как часть CWMP.
  • RPC Methods – RPC (Remote Procedure Call) методы, которые определены в CWMP. Механизм RPC методов используется для двустороннего взаимодействия между CPE-устройством и ACS-сервером.
  • SOAP – синтаксис на основе XML, используемый для удалённого вызова процедур
  • HTTP – протокол прикладного уровня, предназначенный для передачи данных.
  • TLS – протокол защиты транспортного уровня.
  • TCP/IP – Стандарт TCP/IP.

Клиент TR-069 поддерживает следующий функционал: 

  • Обновление прошивки.
  • Перезагрузка устройства.
  • Отправка файла на устройство.
  • Просмотр логов с устройства.

Конфигурация клиента TR-069 осуществляется путем добавления в build.prop файла следующих полей:

  • ro.stb.management.s0 - поле содержащее ссылку на сервер. Ссылку на сервер можно указать как http-, https-ссылку, IP-адрес или hostname;
  • ro.stb.management.s1 - логин, который используется для авторизации на сервере по стандарту TR-069;
  • ro.stb.management.s2 - пароль, который используется для авторизации на сервере по стандарту TR-069;
  • ro.stb.management.s3 - логин, который используется для авторизации на приставке по стандарту TR-069;
  • ro.stb.management.s4 - пароль, который используется для авторизации на приставке по стандарту TR-069;
  • ro.stb.management.s5 - логин, который используется для Basic или Digest аутентификации по http/https протоколу;
  • ro.stb.management.s6 - пароль, который используется для Basic или Digest аутентификации по http/https протоколу;
  • ro.stb.management.s7 - локальный полный путь к стороннему SSL сертификату, если таковой имеется;

Обратите внимание: все вышеперечисленные поля должны быть закодированы по методу Base64, чтобы данная информация не хранилась в открытом виде. Все поля, кроме “ro.stb.management.s0”, могут быть пустыми. Если поле “ro.stb.management.s0” будет пустым, то сервис закончит свою работу сразу после старта.

Обратите внимание: данные о сервере и другие параметры build.prop файла можно изменить только перепрошив устройство.

Обратите внимание: после сброса STB к заводским настройкам конфигурационные данные клиента TR-069 не стираются. Стираются только логи.

Как происходит подключение STB к ACS?

Взаимодействие STB - ACS-сервер организовано по технологии клиент-сервер. STB (клиент) автоматически подключается к ACS-серверу, как только появляется сетевое соединение. Далее подключение STB к серверу происходит с интервалом 60 секунд. При подключении через RPC-метод Inform на сервер передаются следующие данные: IP-адрес приставки в локальной сети, серийный номер, производитель, модель, Product class, версия программного обеспечения, версия аппаратного обеспечения, Ethernet MAC-адрес, реальный IP-адрес, название сети в случае подключения по Wi-Fi (WLAN SSID), логи устройства.

Обратите внимание: в локальной сети (LAN) сервер может сам инициировать подключение STB, игнорируя интервал подключения равный 60 секунд. Данная возможность настраивается на стороне сервера.

Обновление версии прошивки

Для обновления версии прошивки необходимо загрузить образ с расширением .zip на приставку. Если файл успешно загружен с сервера на STB, Recоvery Manager проводит валидацию файла (проверяет корректность файла и его подпись). В случае успешной загрузки и валидации файла, происходит Reboot in Recovery и попытка прошивки этого файла. 

Перезагрузка устройства

После получения приставкой команды reboot, перезагрузка происходит только в том случае, если устройству удается отправить на сервер ответ об успешном выполнении команды reboot. Таким образом обеспечивается избежание циклической перезагрузки устройства. После перезагрузки STB автоматически подключается к серверу.

Отправка файла на устройство

Все файлы, отправленные с сервера на STB, сохраняются в папке Download.

Просмотр логов с устройства

Для возможности просмотра логов с устройства в рекомендованную модель данных клиента добавлено поле DeviceLogs в группе InternetGatewayDevice.DeviceInfo. При отправке лог-файла генерируется два блока:

  • Логи TR (полученные команды от сервера и их статусы) - последние сто команд.
  • WARNINGs и ERRORs устройства (logcat)

По умолчанию устройство отправляет запросы на сервер раз в минуту.

Безопасность

Протокол CWMP обеспечивает высокую степень надежности операций по взаимодействию, которые его используют. Протокол CWMP позволяет обеспечить безопасность и конфиденциальность транзакций между STB и ACS, а также предоставляет возможность использования различных уровней аутентификации. Протокол поддерживает такие механизмы безопасности:

  • SSL/TLS  для защиты взаимодействий CPE и ACS на транспортном уровне. Это обеспечивает конфиденциальность транзакций, целостность данных и возможность аутентификации между CPE и ACS на основе сертификатов.
  • Защиту на уровне HTTP.

Клиент TR-069 поддерживает защищенное соединение по SSL/TLS. В случае, если сертификат является самозаверенным (self-signed), его можно положить на устройство и указать к нему полный путь в поле “ro.stb.management.s7”. Таким образом, возможно использование защищенного соединения при помощи этого сертификата.

Клиент TR-069 поддерживает Basic и Digest аутентификацию на всех этапах соединения с сервером. Для этого используются поля “ro.stb.management.s5” и “ro.stb.management.s6”. Используемый тип аутентификации зависит от конфигурации сервера.

В полях “ro.stb.management.s3” и “ro.stb.management.s4” указываются логин и пароль для аутентификации сервера на устройстве. Если данные сервера неверные, устройство игнорирует это соединение. Если данные сервера верные, приставка инициирует соединение с сервером.

Требования к серверной части

Клиент TR-069 может работать с различными реализациями ACS-сервера, поддерживающими стандарт TR-069. Один сервер может обслуживать STB разных типов, на которых установлен клиент TR-069.

Серверная часть работы протокола была реализована и протестирована с помощью GenieACS – программного продукта с открытым исходным кодом, который поддерживает протокол TR-069. В качестве примера все возможные операции рассмотрены c использованием GenieACS.

Need Help

Дима – эксперт по работе с приставками серии MAG и автор этой статьи.

Была ли полезна эта статья?

Да Нет

Сожалеем.
Как можно улучшить эту статью?

Мы используем cookie-файлы, чтобы оптимизировать работу сайта и предоставить вам лучший интерфейс; а также для продвижения нашей продукции. Ознакомьтесь с нашей политикой Cookie, чтобы узнать, как именно мы используем cookie-файлы, и как вы можете это контролировать.
Если вы продолжите пользоваться сайтом или закроете это сообщение — это значит, что вы согласны с нашей Политикой конфиденциальности и разрешаете использование cookie-файлов, как описано в политике Cookie.