Перейти к содержанию

События

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

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

Возникновение события приводит к выполнению связанных с ним действий — наборов команд, которые ядро АСР «Гидра» посредством специального задания по протоколу 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-адреса.