Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

 

 

Начиная с версии 1.4.1462 WNAM поддерживает новый инструмент - нотификации (уведомления).

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

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

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

Image Added

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

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

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

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

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

Image Added

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

  • REDIRECT("Редирект на портал")
  • AUTH_REQ("Запрос авторизации")
  • AUTH_CONFIRM("Подтверждение авторизации")
  • SESSION_START("Запуск сессии")
  • SESSION_STOP("Останов сессии")

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

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

Image Added

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

Image Added

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

Image Added

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

  • Вызов локального (по отношению к серверу WNAM) скрипта
  • Запрос внешнего ресурса по HTTP GET
  • Запрос внешнего ресурса по HTTP POST
  • Уведомление внешней аналитической системы MLA

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

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

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

Вы должны задать путь до скрипта, URL для запроса, или IP адрес и пароль MLA

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

Тип объектаКлюч в параметрахПередаваемое значение
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}