Начиная с версии 1.4.1462 система WNAM поддерживает новый инструмент - нотификации (уведомления). Данный инструмент позволяет сообщить внешней системе о наступлении некоторого события, которое произошло в беспроводной сети и связано с системой авторизации WNAM. Таким событием может быть редирект устройства абонента на портал авторизации, прохождение авторизации, запуск и останов сессии доступа в сеть Интернет и т.п. В качестве внешней системы может выступать любое используемое программное обеспечение, которое должно выполнять какие-то требуемые вам действия при наступлении событий в сети Wi-Fi. Это может быть система взаимодействия с пользователями (например, учет их в какой-то базе данных), система отправки пользователям СМС-сообщений рекламного характера, маркетинговая система, система отслеживания числа посетителей беспроводной сети в заданной локации и т.п.. Таким образом, система WNAM позволяет бизнесу монетизировать беспроводную сеть, применяя дополнительные средства взаимодействия с пользователями на своё усмотрение.

Для решения вашей конкретной задачи можно обратиться в ООО "Нетамс" за помощью в настройке натификации. 

Нотификации настраиваются из меню "Конфигурация" → "Нотификации".

В этом разделе присутствует список объектов, каждый из которых представляет из себя задачу (условие), в которой настраивается условие, в каких случаях и что исполняется. Объектов типа "Нотификация" может быть много. Если параметры нескольких объектов пересекаются, например, есть два объекта, которые срабатывают на событие "редирект пользователя на портал", то они будут обработаны оба.

Из данного окна можно просмотреть список имеющихся нотификаций, создать новый объект или отредактировать имеющийся. Для создания нотификации служит кнопка "Создать нотификацию", либо можно нажать в строку таблицы с уже имеющимися нотификациями. В обоих случаях откроется редактор с тремя вкладками, позволяющий выполнить все настройки.

По кнопке "Создать нотификацию" настраивается название объекта, указывается время создания, время последнего срабатывания и их число, а также задаются типы событий (условия), при которых происходит срабатывание.

Можно также включить (активировать) и выключить (деактивировать) работу нотификации, либо удалить её.

В качестве возможных условий срабатывания (типы событий) допустимы:

Код системы WNAM содержит соответствующие обработчики, которые при наступлений событий заданного типа вызывают исполнение соответствующих нотификаций, подпадающих под настроенный в них тип (с учетом фильтров по включенности, площадкам, повторам - см. ниже).

Вторая вкладка ("Площадки") позволяет выбрать уведомления, с какой площадки будут обработаны. Можно указать конкретную площадку или "все":

Также можно настроить фильтр по частоте срабатывания. Например, для одного МАС-адреса события типа "Перенаправление на портал" могут срабатывать много раз подряд с одними и теми же параметрами. Чтобы избежать ситуации, когда внешняя система получает уведомление по каждому событию, можно выбрать режим "Подавлять повторные события", указать число секунд (интервал подавления) и тип совпадения, использующийся при проверке повторности (либо МАС-адрес, либо комбинация МАС-адреса и идентификатор площадки).

В третьей вкладке ("Обработчик") задается обработчик, который будет использован для уведомления внешней системы, и набор параметров, которые будут переданы этому обработчику.

Допустимы следующие типы обработчиков:

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

При вызове ресурса по GET - в виде набора пар "ключ=значение", разделенных символом &, прямо в URL запроса.

При вызове ресурса по POST - в виде стандартного запроса с параметрами, упакованными в формат json.

При использовании обработчика "УведомлятьRadar" необходимо задать путь до скрипта, URL для запроса или IP-адрес и пароль WNAM Radar.

При использовании обработчика "Отправлять событие в SYSLOG" необходимо указать хост, на которой будут отправлены события.

При использовании обработчика "Отправлять Trap по SNMT" необходимо указать Trap сервера и "Комьюнити (v2c).

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

Тип объектаКлюч в параметрахПередаваемое значение
MACmacМАС-адрес устройства пользователя в формате ХХ:ХХ:ХХ:ХХ:ХХ:ХХ
AP MACapmacМАС-адрес точки доступа Wi-Fi, через которую подключен пользователь, в формате ХХ:ХХ:ХХ:ХХ:ХХ:ХХ
ID площадкиsiteIdИдентификатор площадки, например "1"
ID сессииsessIdИдентификатор сессии, например "80400105-7b8fb8"
IP адресipIP-адрес устройства абонента, например 192.168.1.203
Объект "пользователь"custОбъект типа Customer в формате JSON, соответствующий объекту из коллекции базы данных (db.customers)
Объект "площадка"siteОбъект типа Site в формате JSON, соответствующий объекту из коллекции базы данных(db.areas)
Объект "сессия"sessОбъект типа Session в формате JSON, соответствующий объекту из коллекции базы данных (db.sessions )

Если в момент создания события значение параметра не известно (например, указан параметр "Объект "сессия"" на событие "Перенаправление", когда сессии ещё нет), этот параметр не передается. Необходимо иметь в виду, что события выстраиваются в асинхронную очередь и могут обрабатываться с небольшой задержкой, которая зависит от производительности и загрузки используемого сервера. В случае срабатывания нотификации в лог-файле будет отображена запись типа:

15:39:41.157 DEBUG [c.n.w.services.NotificationService:145] - Execute notification 'ОбработчикНовойСессии' handler POST, event type REDIRECT, object: {E4:02:9B:7B:8F:B8}