Работа с системой

События

В начало  Предыдущий раздел  Следующий раздел

В данном разделе:

Типы событий

Действия, команды и подстановки

Настройка событий

Очередь событий

Смотрите также:

Работа с событиями

Управление субъектами и объектами учета в АСР «Гидра» производится с помощью механизма событий. События бывают различных типов, определяющих причину их возникновения: это может быть изменение состояния объекта или субъекта, изменение его атрибутов, адресов, привязок, состояния лицевого счета и т. п.

Возникновение события приводит к выполнению связанных с ним действий — наборов команд, которые ядро АСР «Гидра» посредством специального задания по протоколу XML-RPC передает менеджеру активного оборудования hamd (Hydra Active Management Daemon). Hamd — это специализированное приложение, непосредственно взаимодействующее с сетевыми службами и оборудованием и возвращающее в АСР «Гидра» информацию о результатах выполнения команд.

Все возникающие в системе события помещаются в очередь, которая обрабатывается периодическими заданиями, связанными с тем или иным менеджером hamd.

Типы событий

Тип события

Причина возникновения

Примеры использования

Блокировка за неуплату

Актуализация инвойса, содержащего услугу с типом Блокировка за неуплату.

Информирование абонента о том, что его учетная запись заблокирована и он не может пользоваться услугами.

Временная блокировка

Актуализация инвойса, содержащего услугу с типом Временная блокировка.

Информирование абонента о том, что у него включена временная блокировка.

Выставлен счет

Актуализация счета, получателем в котором выступает абонент.

Информирование абонента о выставлении счета на его имя.

Наличие рекомендуемого платежа

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

Напоминание абоненту о необходимости осуществить очередной платеж.

Поступление на лицевой счет

Актуализация платежного поручения с получателем-абонентом.

Информирование абонента о поступлении на его лицевой счет платежа.

При изменении состояния абонента

Изменение состояния абонента.

Информирование абонента о его подключении (активации) или блокировке.

При изменении состояния зависимого объекта

Изменение состояния объекта учета (абонентского оборудования и т. п.).

Добавление/удаление MAC-адреса на коммутаторе при активации/отключении абонентского оборудования.

При нехватке средств

Невозможность выставить инвойс по периодическим услугам из-за отсутствия средств на лицевом счете. Вызывается при выполнении задания по предвыставлению инвойсов.

Информирование абонента о том, что на его счете недостаточно средств для дальнейшего оказания услуг.

При подключении/отключении услуги

Изменение состояния инвойса, содержащего услугу, добавление услуги в инвойс. (Как правило, в качестве услуги выступает услуга доступа.)

Разрешение или запрет доступа абонента к услугам связи (управление файрволом, разрыв PPP-сессий и т. д.); включение/отключение ограничения исходящей или входящей скорости на шейпере (iptables, ipfw, Cisco); включение/отключение подписки на услуги сторонних поставщиков.

Произвольное

Вызов через API специальной процедуры, генерирующей событие.

Любое пользовательское событие, например, поздравление абонента с днем рождения или выражение благодарности за длительное пользование услугами.

Расторжение договора

Перевод договора на оказание услуг в состояние Расторгнут.

Информирование клиента о том, что договор с ним был расторгнут.

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

Действия, команды и подстановки

Действие — это набор шаблонов команд в текстовом виде. В шаблонах используются специальные подстановки, которые при обработке команды агентом заменяются на конкретные значения атрибутов, идентификаторов и других параметров объектов или субъектов (например, подстановка $TERM_PHYS_ADDR может быть заменена на значение 00-1A-B1-DF-24-A4).

Часть подстановок, используемых в АСР «Гидра», являются параметризованными, например, значение дополнительного параметра объекта учета можно получить с помощью подстановки $TERM_OBJ_ADD_PARAM[add_param_id], передав в add_param_id идентификатор нужного дополнительного параметра. В некоторых подстановках могут указываться сразу несколько параметров в формате "Тип_параметра":"Значение". Так, подстановка TERM_IP_ADDR["ADDR_BIND_TYPE":"BIND_ADDR_TYPE_Actual","IP_TYPE":"ADDR_TYPE_IP6"] вернет фактический IPv6-адрес оборудования (BIND_ADDR_TYPE_Actual — это код значения Фактический адрес из базового справочника Виды адресов, а ADDR_TYPE_IP6 — код типа адреса из справочника Типы адресов).

Действия, связанные с событием, делятся на две группы — прямые и обратные. Для каждого прямого действия может быть задано обратное, отменяющее сделанные им изменения, однако обратные действия требуются не всегда. Например, действие, разрывающее текущую PPP-сессию абонента с помощью SNMP-команды или CoA-запроса по протоколу RADIUS, не может иметь обратного, поскольку разорванная сессия не может быть восстановлена со стороны сервера. Другой пример действия, не имеющего обратного, — отправка уведомления о поступлении платежа на лицевой счет абонента.

Обратные действия могут быть полезны, когда управляемое оборудование обладает собственной памятью, в которой сохраняются состояния выполненных на нем команд. В этом случае при изменении параметров абонента выданные оборудованию команды нужно корректно отменять. Например, если на шейпере абонент идентифицируется по статическому IP-адресу его оборудования, и по какой-то причине этот IP-адрес изменился, система, обнаружив, что значение подстановки $TERM_IP_ADDRESS стало другим, автоматически выполнит обратное действие, которое удалит правило шейпера для старого IP-адреса, после чего будет выполнено прямое действие с новым значением IP-адреса.