Ролик смонтирован на версии AirTune 1.3.0 и SoftWLC 1.18 |
Одним из приоритетных направлений по развитию точек доступа в области Enterprise&High-Density Wi-Fi является реализация сервиса AirTune, основной функцией которого, является Radio Resource Management (RRM).
Radio Resource Management позволяет автоматически оптимизировать характеристики точек доступа в зависимости от текущих условий. Сервис AirTune не заменяет собой процедуры радиопланирования, но позволяет провести финальный этап оптимизации сети, а также вести постоянный контроль.
Используемые технологии и алгоритмы:
Transmit Power Control (TPC) - Алгоритм управления мощностью передатчиков с целью обеспечения оптимальной зоны покрытия сети и минимизации "конфликтных" областей, где клиент находится в зоне уверенного приема нескольких соседних точек доступа;
Основными задачами функционала являются:
При работе функционала TPC/DCA точки доступа по команде от сервиса с помощью специальных пакетов (Action Frame) собирают информацию о радиосреде в текущий момент времени. Затем передают информацию на сервис, который выполняет анализ "качества радиоэфира" и проводит оптимизацию параметров для каждой точки доступа, что обеспечивает равномерность зоны покрытия и минимизацию интерференции.
Также сервис в себя включает функционал роуминга:
Для работы роуминга стандартов 802.11k/v/r необходима поддержка стандарта со стороны клиентов. |
Простой пример работы оптимизации сети с помощью сервиса представлен на картинке (функционал DCA+TPC):

Имеется возможность запустить сервис AirTune в Docker-контейнере. Для этого необходимо создать файл с настройками docker-compose.yml и .env следующего содержания:
version: "3"
services:
eltex-airtune:
container_name: eltex-airtune
image: ${ELTEX_HUB}/eltex-airtune:${AIRTUNE_VERSION}
restart: unless-stopped
ports:
# api port
- "8089:8089/tcp"
# cli api port
- "8082:8082/tcp"
# listen port
- "8099:8099/tcp"
environment:
# Настройки таймзоны
- TZ=${TZ}
volumes:
# Сертификаты для https web интерфейса
#- ./data/eltex-airtune/etc/eltex-airtune/cert/server.pem:/etc/eltex-airtune/cert/server.pem:ro
#- ./data/eltex-airtune/etc/eltex-airtune/cert/server.key.pem:/etc/eltex-airtune/cert/server.key.pem:ro
# Конфиги
- ./data/eltex-airtune/etc/eltex-airtune/airtune.conf:/etc/eltex-airtune/airtune.conf:ro
- ./data/eltex-airtune/etc/eltex-airtune/airtune_logger.conf:/etc/eltex-airtune/airtune_logger.conf:ro
# директория для репортов
- ./volumes/eltex-airtune/var/lib/eltex-airtune/reports:/var/lib/eltex-airtune/reports
# директория для логов
- ./volumes/logs/eltex-airtune:/var/log/eltex-airtune
# директория с лицензиями
- ./data/eltex-airtune/etc/eltex-airtune/licence:/etc/eltex-airtune/licence:ro
|
ELTEX_HUB=hub.eltex-co.ru/softwlc # Common version number AIRTUNE_VERSION=1.5.2 TZ=Asia/Novosibirsk |
В разделе volumes необходимо указать путь к файлу конфигурации softwlc.conf, а также путь к директории, которая будет содержать логи.
Файлы airtune.conf и airtune_logger.conf должны существовать в указанных директориях, так как через них осуществляется управление сервисом. Пример конфигурационных файлов: airtune_logger.conf airtune.conf
Запустить контейнер можно командой:
docker compose up |
Лицензия ограничивает число ТД, находящихся под контролем сервиса AirTune.
Для работы сервиса с ТД необходимо файл лицензии "licence.xml" поместить в директории:
В случае, если в EMS используются инкрементальные лицензии, файлы нужно дублировать и в сервис AirTune(файлы licence.xml, licence-1.xml и т.д.) |
Затем перезапустить сервисы EMS и AirTune командами:
service eltex-ems restart service eltex-airtune restart |
При использовании сервиса AirTune в docker лицензию необходимо добавлять в директорию с лицензиями, указанную в docker-compose.yml
После добавления лицензии необходимо пересобрать контейнер командой :
docker-compose up -d --force-recreate eltex-airtune |
Для получения/продления лицензии необходимо обратиться в коммерческий отдел компании ЭЛТЕКС. |
Количество доступных и использованных на сервере лицензий можно увидеть в GUI EMS в разделе Справка -> Лицензии, либо непосредственно в файле лицензий /usr/lib/eltex-ems/conf/licence/licence.xml

<group>
<title>AIRTUNE</title>
<count>200</count>
<typeList>
<type>AIRTUNE</type>
</typeList>
</group> |
Если лицензия на Airtune присутствует в списке, то в GUI EMS в меню "Wireless" будет доступна для настройки вкладки Конфигурации сервиса, изображенные на скриншоте:
![]()
Также появится вкладка AirTune при нажатии на узел в дереве EMS .
При выборе сервера, необходимо учитывать следующие системные требования (требования предоставляются к VM без учета резервирования системы):
Количество устройств | CPU core, Xeon | RAM, Gb | HDD, Gb |
|---|---|---|---|
| от 10 до 200 ТД | 4, 64-bit x86 CPUs | 4 | 40 |
| от 200 до 500 ТД | 6, 64-bit x86 CPUs | 6 | 80 |
| от 500 до 1000 ТД | 6, 64-bit x86 CPUs | 8 | 120 |
| от 1 тыс. до 2 тыс. ТД | 8, 64-bit x86 CPUs | 12 | 200 |
| от 2 тыс. до 4 тыс. ТД | 8, 64-bit x86 CPUs | 16 | 350 |
Для корректной работы функционала необходимо чтобы версия ПО точек доступа была не менее 1.19.0, ПО сервиса AirTune не менее 1.3.0 и версией SoftWLC 1.17 |
Для работы сервиса с ТД необходимо:
ТД при подключении к серверу (соединение между ТД и сервером осуществляется по протоколу WebSocket) отправляет сообщение "subscribe-request", где передает свои параметры, такие как:
После того как ТД построила сессию с сервисом, на AirTune точки группируются по доменам. Если на сервисе нет домена, которому принадлежит точка, AirTune отправляет отказ в обслуживании.
Если на AirTune домен настроен, то сервер отправляет "subscribe-response" c указанием какие функции (DCA, TPC, Load Balance) настроены для этого домена.
Оптимизация (DCA, TPC) проходит внутри домена по следующему сценарию:
|
Оптимизация происходит в следующих случаях:
Оптимизация не происходит в случае:
|
Сценарий балансировки клиентов на ТД:
|
Балансировка клиентов между точками доступа происходит в рамках одного интерфейса (2.4ГГц или 5ГГц). Если клиент подключился в 2.4ГГц к загруженной ТД, то его балансировка на свободный интерфейс 5ГГц второй точки доступа происходить не будет, только на аналогичный интерфейс (2.4ГГц). |
Важный нюанс: Если клиентское устройство поддерживает функционал рандомизации mac-адреса в Probe Request'ах, то для таких клиентов функционал работать не будет, т.к. анализ уровня сигнала от клиента на соседних точках доступа основывается на менеджмент-пакетах от клиента(Probe request). |
| Действие | Команда | Ответ | |||||
|---|---|---|---|---|---|---|---|
| Проверка состояния |
|
| |||||
| Запуск сервиса |
|
| |||||
| Остановка сервиса |
|
| |||||
| Перезапуск сервиса |
|
|
Для управление сервисом AirTune через систему управления EMS необходимо настроить сетевую связность двух модулей. Для этого в GUI EMS перейти в меню "Администрирование" → "Настройка сервера" → "Системные модули" .
Далее перейти на вкладку "airtune", где выбрать используемый протокол обмена данными, указать Адрес и порт сервера, на котором установлен пакет AirTune.
Обязательно сменить Host на IP адрес сервера, на котором установлен сервис AirTune. |

| Параметр | Описание | Доступное значение | Значение по умолчанию |
|---|---|---|---|
| Protocol | Используемый протокол | Http/Https | Http |
| Host | Хост для подключения к API AirTune | ASCII строка | localhost |
| Port | Порт для подключения к API AirTune | 0 - 65535 | 8089 |
| Connection Timeout, s | Таймаут подключения к сервису AirTune | 0 - 65535 | 10 |
| Request Timeout, s | Таймаут выполнения запроса к сервису AirTune | 0 - 65535 | 5 |
С помощью глобальных настроек производится включение/отключение работы сервиса, а также настройка порта, который будет слушать сервис для подключения ТД.
|
Имеется возможность запрета на редактирования данных настроек в зависимости от ролей пользователя. |
Для настройки работы сервиса в различных сценариях, типах помещений, плотности расположения точек доступа, требованиях к сети используются шаблоны. С их помощью можно настроить различные сценарии работы сервиса в зависимости от используемого географического домена точек доступа.
К примеру, если в домене требуется только функционал балансировки клиентов, а настройки радиоинтерфейсов администратор проводит вручную - нужен шаблон только с включенным функционалом Load Balance. Если в домене (на этаже) нужно автоматически настроить радиоинтерфейсы точек доступа (разнести по частотным каналам и излучаемой мощности), нужно создать шаблон с соответствующей настройкой.
По умолчанию все функции сервиса TPC,DCA,Load Balancing, Roaming включены. Очень важно на данном этапе определить цель использования сервиса, если какая-то функция для сети лишняя - отключить заранее, иначе сервис произведет реконфигурацию устройств (ТД), которые, возможно, были сконфигурированы ранее. |
Также в настройках шаблона можно провести более точечные изменения в работе функционала.
Для создания шаблона, необходимо перейти в меню "Wireless"→"Шаблоны AirTune".
Список Шаблонов:
|
Редактирование шаблона:
|
Список доменов использующих созданный шаблон располагаются на вкладке "Domain Link":

|
| Параметр | Описание | Доступное значение | Значение по умолчанию |
|---|---|---|---|
| Away timeout | Допустимое время ожидание ТД в случае потери связи, по истечению которого сервис будет считать ТД отключенной от сервиса | 10-3600 | 120 |
| Use Optimization time | Включение/выключение функционала оптимизации по указанному времени. | Up/Down | Down |
| Optimization time | Локальное время домена с ТД, в которое будет произведена очередная оптимизация. | 00:00 - 23:59 | 00:00 |
| Use Optimization event | Включение/выключение функционала оптимизации по событию:
| Up/Down | Up |
|
| Параметр | Описание | Доступное значение | Значение по умолчанию |
|---|---|---|---|
| Use Eltex RRM scan | Включение/выключение ускоренного сканирования. С включенным параметром ТД в один момент времени обмениваются специальными Action-фреймы в определенном частотном канале, который сообщил им сервис. По окончанию обмена передают сообщение на сервис с полученными результатами. Весь процесс оптимизации в таком режиме будет занимать не более пары минут вне зависимости от количества ТД в домене. В случае отключенного параметра ТД по очереди сканируют все каналы, учитывают влияние конкурентных ТД. В данном случае время требуемое для оптимизации будет увеличиваться при увеличении количества ТД (на 1 ТД - 50-60 секунд). | Up/Down | Up |
| Use RRM report | Включение/выключение генерации отчетов работы RRM. | Up/Down | Up |
| Days to keep report | Количество дней, в течение которого отчеты будут храниться на сервере, после чего будут удалены. | 1-365 | 93 |
| Use TPC | Включение/выключение автоматического управления мощностью. | Up/Down | Up |
| Use HD mode | Включение/выключение режима HD. Мощность ТД управляется только на ТД работающих на одинаковых каналах. | Up/Down | Down |
| AP RSSI Treshold 2.4GHz | Максимальный уровень сигнала, с которым соседние ТД могут видеть друг друга в диапазоне 2.4 ГГц, Дбм. | -1 - -100 | -70 |
| AP RSSI Treshold 5GHz | Максимальный уровень сигнала, с которым соседние ТД могут видеть друг друга в диапазоне 5 ГГц, Дбм. | -1 - -100 | -70 |
| Hysteresis 2.4Ghz | Гистерезис в диапазоне 2.4 ГГц. Разрешенная "погрешность" от порога, если полученный сигнал лежит в диапазоне RSSI Treshold+-2dbm, оптимизацию по мощности проводить не следует. | 1-10 | 2 |
| Hysterezis 5GHz | Гистерезис в диапазоне 5 ГГц. Разрешенная "погрешность" от порога, если полученный сигнал лежит в диапазоне RSSI Treshold+-2dbm, оптимизацию по мощности проводить не следует. | 1-10 | 2 |
| Use DCA | Включение/выключение функционала динамического распределения каналов. | Up/Down | Up |
Для достижения наибольшей гибкости при настройке функционала DCA/TPC в настройках радиоинтерфейсов точек доступа имеются следующие параметры:
Параметры можно настраивать через шаблон сразу на все ТД домена, либо на конкретной ТД в домене. |
|
| Параметр | Описание | Допустимое значение | Значение по умолчанию |
|---|---|---|---|
| Use All AP for Optimization | Включение/выключение режима балансировки и Роуминга между всеми ТД в домене, не зависимо от их фактического расположения(соседствуют друг с другом или нет). Функция безусловной балансировки и роуминга клиентов в текущем домене. В случае если параметр отключен - ТД будут сканировать эфир и определять какие ТД являются соседями, чтобы балансировать клиентов и осуществлять роуминг только между рядом стоящими ТД (меньше лишнего трафика в проводной сети, но больше в радио среде). Если параметр включен, сервис использует функционал в рамках всего домена, даже если ТД находятся на большом расстоянии друг от друга (больше трафика в проводной сети, меньше в радио среде). | Up/Down | Down |
| Use 802.11r | Включение/выключение функционала отправки ключей для роуминга стандарта 802.11r. | Up/Down | Up |
| 802.11r over ds | Включение/выключение функционала Over-DS стандарта 802.11r. Если параметр отключен, используется Over-Air. | Up/Down | Down |
| Reassociation deadline, ms | Максимальный период времени в течение которого ТД должны обменяться данными о попытке роуминга клиента(RRB пакеты). Если ответ на запрос по истечению таймаута не пришел, RRB запрос на бесшовный роуминг считается не успешным. | 1000 - 4294967295 | 1000 |
| Use 802.11k | Включение/выключение функционала синхронизации списков для роуминга стандарта 802.11k. | Up/Down | Up |
| Use 802.11v | Включение/выключение функционала работы роуминга стандарта 802.11v. Функционал работает совместно со стандартом 802.11k, роуминг осуществляется по общим спискам. Для его работы на ТД должна быть включена опция 802.11k/v. | Up/Down | Up |
| Use Load Balance | Включение/выключение балансировки клиентов между ТД в одном домене, нужен для равномерного распределения клиентов между ТД и избежания перегрузки одной из ТД, если в зоне видимости клиента есть более свободная ТД. | Up/Down | Up |
| Blacklist high threshold | Верхняя граница окончания зоны устойчивого приема сигнала от клиента, Дбм. Порог уровня RSSI от клиента, при превышении которого подключенный клиент будет считаться в "уверенной" зоне и поиск новой ТД не начнется в случае если ТД не перегружена. | -1 - -100 | -65 |
| Blacklist low threshold | Нижняя граница окончания зоны устойчивого приема сигнала от клиента, Дбм. Порог уровня RSSI от клиента, в случае если уровень от клиента меньше указанного в данном параметре, клиент считается находящимся в "не уверенной" зоне. Сервис будет пытаться найти для клиента ТД с "уверенным" приемом, и последующим переключением клиента на целевую ТД. | -1 - -100 | -75 |
| Load balance high STA treshold | Порог количества подключенных клиентов на радио интерфейсе, при превышении которого точка будет считаться Перегруженной. | 1-100 | 20 |
| Load balance low STA threshold | Порог количества подключенных клиентов на радио интерфейсе, при превышении которого сервис будет искать для новых клиентов более свободную ТД (если таковая не найдется, клиент продолжит работу на текущей точке доступа). Если количество клиентов меньше текущего порога - точка доступа считается свободной. | 1-100 | 5 |
| Методика настройки и проверки роуминга 802.11r на точках доступа доступна в инструкции |
Управление географическими доменами с точками доступа и привязкой к ним готовых шаблонов осуществляется в меню "Wireless" → "Домены AirTune".
Для корректной работы AirTune крайне важно поместить ТД в Домен отличный от root. Пример: hotel.root |
| ТД будут управляться сервисом AirTune только в случае, если географический домен на ТД (домен узла) совпадает с созданным доменом AirTune. |
Географический домен на ТД выставляется автоматически при инициализации ТД в узел. Но в случае, если ТД добавили в узел вручную, необходимо запустить групповую операцию по назначению домена для точек доступа:
"Список устройств" → "Групповые операции" → "Установить домен".
Для работы ТД с сервисом AirTune необходимо создать связку с текущим доменом узла, в котором находятся точки доступа с ранее созданным шаблоном (или шаблоном по умолчанию).

Добавление домена:
После нажатия кнопки добавить, необходимо выбрать домен узла, в котором располагаются точки доступа, указать часовой пояс домена (в UTC), а также ранее созданный шаблон (либо шаблон по умолчанию)

Перед подключением точек доступа к сервису, на них необходимо настроить Limit channels в разделе настроек радио интерфейсов ТД.
|
Для того, чтобы ТД смогли обратиться на URL AirTune с запросом на подключение, необходимо на них произвести настройку, где включить функционал сервиса и указать URL для построения сессии.
Подключение к сервису на точке доступа можно настроить через GUI EMS / CLI.
EMS:
Настройку URL на точках доступа можно настроить несколькими способами через EMS:



CLI:
set rrm rrm-service up set rrm rrm-service-url ws://<IP адрес AirTune>:8099/apb/rrm |
Мониторинг располагается в разделе "Wireless" при нажатии на узел с точками доступа .
В разделе находятся 3 вкладки для контроля работы RRM, далее по каждой из них:
На вкладке представлен список точек доступа выбранного домена, а также поддоменов, которые подключены к сервису AirTune в настоящий момент.
Поддержан функционал:

| Параметр | Описание |
|---|---|
| MAC-адрес ТД | Mac-адрес точки доступа. |
| Тип устройства | Модель точки доступа. |
| Домен | Географический домен точки доступа (домен узла). |
| Диапазон | Рабочий диапазон интерфейса, ГГц. |
| MAC-адрес интерфейса | Mac-адрес интерфейса точки доступа (2.4ГГц и 5ГГц). |
| Состояние | Статус радиоинтерфейса. |
| Заблокирован для TPC | Интерфейс заблокирован для изменений со стороны AirTune, так как на ТД настроен WDS/Mesh/WGB. |
| Заблокирован для DCA | Интерфейс заблокирован для изменений со стороны AirTune, так как на ТД настроен WDS/Mesh/WGB. |
| Заблокирован для 802.11v | Интерфейс заблокирован для изменений со стороны AirTune, так как на ТД отключен функционал, либо не поддерживается. |
| Клиенты | Количество подключенных клиентов на радиоинтерфейсе. |
| Текущий канал | Текущий установленный канал на радиоинтерфейсе. |
| Ширина полосы пропускания | Ширина полосы пропускания. |
| Мощность излучения | Текущая установленная мощность излучения. |
| Доступные каналы | Список доступных каналов для авто выбора (Limit channels). |
На вкладке "Отчеты AirTune" в табличном виде представлена информация о результатах прошедших оптимизаций TPC/DCA, представленные данные помогают проанализировать в какой момент времени производилась очередная оптимизация, а так же результат ее выполнения.
Поддержан функционал:

| Параметр | Описание |
|---|---|
| Дата | Дата проведения оптимизации. На сервере AirTune хранится в UTC формате, в GUI отображается в текущей таймзоне. |
| Домен | Географический домен точки доступа (домен узла). |
| MAC-адрес ТД | Mac-адрес точки доступа. |
| MAC-адрес интерфейса | Mac-адрес интерфейса точки доступа (2.4ГГц и 5ГГц). |
| Mощность до | Излучаемая мощность точки доступа до момента оптимизации, dbm. |
| Мощность после | Излучаемая мощность точки доступа после момента оптимизации, dbm. |
| Канал до | Канал точки доступа до момента оптимизации. |
| Канал после | Канал точки доступа после момента оптимизации. |
| Доступные каналы | Список доступных каналов для авто выбора (Limit channels). |
На вкладке "Гистограммы AirTune" представлены в графическом виде результаты распределения точек доступа по каналам в результате выполнения алгоритма DCA.
Поддержан функционал:
Внешний вид:

На вкладке "Список устройств для роуминга" отображен весь список виртуальных интерфейсов(SSID), которые обрабатываются сервисом.
Вкладка предназначена для отображения текущего состояния конфигурации роуминга 802.11 k/r на всех ТД домена, а так же список всех соседей между которыми сервис настроил роуминг.
Внешний вид:

| Параметр | Описание |
|---|---|
| MAC-адрес ТД | Mac-адрес точки доступа. |
| Тип устройства | Модель точки доступа. |
| Диапазон | Рабочий диапазон интерфейса, ГГц. |
| MAC-адрес интерфейса | Mac-адрес интерфейса точки доступа (2.4ГГц и 5ГГц). |
| Имя сети(SSID) | Название сети (SSID) |
| Статус 802.11k | Состояние конфигурации роуминга 802.11k на устройстве. 0 - Настройка в конфигурации SSID отключена; 1 - Настройка в конфигурации SSID включена. |
| Статус 802.11r | Состояние конфигурации роуминга 802.11r на устройстве. 0 - Настройка в конфигурации SSID отключена; 1 - Настройка в конфигурации SSID включена. |
| Статус 802.11v | Состояние конфигурации роуминга 802.11v на устройстве. |
| Количество соседей 802.11r | Количество точек доступа, с которыми был настроен бесшовный роуминг 802.11r. Соседи по роумингу определяются по полному совпадению параметров SSID, таких как Статус 802.11r, Имя сети, Диапазон. Так же количество соседей зависит от параметра "Use All AP for Optimization" в шаблонах AirTune. В зависимости от значения соседями будут считаться либо все ТД в рамках одного географического домена(1), либо только ТД находящиеся в зоне видимости друг друга(0) |
| Соседи для роуминга 802.11r | Список интерфейсов соседних точек доступа, с которыми был настроен роуминг 8011.r для данной сети |
Роуминг настраивается только между интерфейсами в рамках одного диапазона(2.4ГГц или 5ГГц). Роуминг между разными диапазонами 2.4ГГц и 5ГГц не настраивается. |
| Версия AirTune | Версия ТД | Версия EMS (SoftWLC) | Примечание |
|---|---|---|---|
| 1.3.0 | 1.19.0 (WEP/WOP -2/-12ac) | 3.22 (1.18.0) | |
| 1.3.1 | 1.20.0 (WEP/WOP -2/-12ac) | 3.22 (1.18.0) | |
| 1.3.2 | 1.20.0 (WEP/WOP -2/-12ac) / 1.5.0 WEP-3ax | 3.24 (1.20.0) | Добавлена поддержка WEP-3ax(TPC/DCA) |
| 1.4.1 | 1.22.0 (WEP/WOP -2/-12ac) / 1.6.0 WEP-3ax | 3.27 (1.23.0) | Добавлена настройка роуминга 802.11r через AirTune для WEP -2ac/-12ac/-3ax |
| 1.5.0 | 1.22.0 (WEP/WOP -2/-12ac) / 1.6.0 WEP-3ax / 1.6.0 (WEP/WOP -2L/-20L/-200L) | 3.28 (1.24.0) | Добавлена поддержка WEP -1L/-2L/-20L/200L (TPC/DCA) |
| 1.5.1 | 1.24.0 (WEP/WOP -2/-12ac) / 1.10.0 WEP-3ax / 2.2.0 (WEP/WOP -2L/-20L/-200L) | 3.31 (1.27.0) | Добавлена поддержка Ubuntu 20/22 |
| 1.5.2 | 1.24.0 (WEP/WOP -2/-12ac) / 1.11.0 WEP-3ax /2.3.2 (WEP/WOP -2L/-20L/-200L) / 2.3.0 WEP/WOP -30L | 3.32 (1.28.0) | Добавлена поддержка WEP-30L (TPC/DCA) |
| 1.6.0 | 1.24.0 (WEP/WOP -2/-12ac) / 1.12.0 WEP-3ax /2.3.2 (WEP/WOP -2L/-20L/-200L) / 2.3.0 WEP/WOP -30L | 3.34(1.30.0) | Добавлена настройка роуминга 802.11v через AirTune для WEP-3ax |
| 1.6.1 | 1.24.0 (WEP/WOP -2/-12ac)/ 1.13.0 WEP-3ax /2.3.2 (WEP/WOP -2L/-20L/-200L) / 2.3.0 WEP/WOP -30L | 3.35(1.31.0) |
AirTune 1.6.1:
Решенные проблемы:
AirTune 1.6.0:
Новый функционал:
AirTune 1.5.2:
Новый функционал:
Решенные проблемы:
AirTune 1.5.1:
Новый функционал:
AirTune 1.5.0:
Новый функционал:
Решенные проблемы:
AirTune 1.4.1:
Новый функционал:
Решенные проблемы:
AirTune 1.3.2:
Новый функционал: