Effortel

О компании:

Российский телекоммуникационный холдинг Effortel Russia образован в июне 2007 года и предоставляет телекоммуникационные услуги фиксированного и беспроводного доступа к сети Интернет на территории России.

Задача:

Автоматизировать управление сетевым оборудованием на основе данных биллинговой системы.

Решение:

Разработана и внедрена система пред-биллинга и активации сервиса, обеспечивающая взаимодействие биллинговой системы Onyma с сетевым оборудованием.

Система обеспечивает обработку данных от 5 000 одновременно подключенных пользователей, минимум с 2 сервисами на каждую сессию.

Решение состояло из двух частей:

1. Система, обеспечивающая сбор и обработку информации о потреблении трафика с сервера. Результат обработки данных - получение информации об объемах входящего/исходящего трафика за единицу времени. Полученная информация периодически сохраняется в новый файл заданного формата.

Основной решения стал RADIUS (англ. Remote Authentication in Dial-In User Service) — протокол для реализации аутентификации, авторизации и сбора сведений об использованных ресурсах, разработанный для передачи сведений между центральной платформой и оборудованием.

Специалисты Dev.House использовали FreeRADIUS – сервер с открытым кодом (СПО), являющийся одной из самых оптимальных реализаций RADIUS-протокола.

К преимуществами FreeRADIUS относятся:

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

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

Основная задача FreeRADIUS-сервера – это накопление Accounting информации (т.е. информации о величине входящего и исходящего трафика) для биллинговой системы, которая приходит от внешнего клиента. Последний может быть как NAS-сервером, так и сторонним RADIUS-сервером.

Схема взаимодействия приведена на следующем рисунке:

Схема взаиомдействия сервера FreeRADIUS

Для того, чтобы реализовать систему пред-биллинга, специалисты Dev.House разработали специальный модуль rlm_prebilling для FreeRADIUS-сервера. Так как требовалось высокое быстродействие, разработка велась на языке C.

2. Программный модуль, обеспечивающий автоматическую активацию / деактивацию сервиса пользователя без единого разрыва Radius-сессии.

Процесс работы выглядит следующим образом: необходимо получить от биллинговой системы Onyma информацию об изменении статуса пользователя в реальном времени. В зависимости от наличия или недостатка средств на счете пользователя автоматически выполнить активацию/деактивацию сервисов сетевого оборудования Juniper SRC-PE.

Затем нужно отследить выполнение активации/деактивации (обеспечить обработку ответа со стороны Juniper SRC-PE) и провести логирование выполненных операций в файле. При наличии ошибки требовалось обеспечить повторное выполнение активации/деактивации (с заданным периодом повтора) до получения подтверждения выполнения операции.

Для реализации этого процесса специалисты разработали пакет хранимых процедур DSA_API на СУБД Oracle, который отслеживает изменение баланса пользователя.Если баланс становится отрицательным, или положительным, то срабатывает триггер уровня строки, вызывающий хранимые процедуры и формирующий запросы на удаленный DSA-сервер, который отключает или включает по протоколу SOAP определенные порты Juniper SRC-PE.

Триггер запускается при снижении или превышении установленного значения. Вызываются хранимые процедуры, которые в свою очередь формируют запросы на удаленный DSA-сервер по протоколу SOAP с целью включить/выключить сервис пользователю и проверить успешность выполнения данной операции.

Решение состоит в том, что разработанные хранимые процедуры и функции пакета DSA_API вызываются из тела триггера для выполнения операций включения/выключения сервисов пользователю. Функции пакета разработаны таким образом, что они всегда возвращают код ошибки, так что результат DSA/SOAP операции всегда известен. Кроме того, любая операция с кодом состояния заносится в соответствующую таблицу. Таким образом, все действия имеют соответствующую запись в таблице протокола.

Результаты разработки были переданы заказчику в виде исходного кода на языках C, PL/SQL, Java, файлов конфигурации и описания ПО.

Специалисты компании Dev.House совместно с сотрудниками заказчика выполнили сборку, настройку и тестирование системы.

Решение было установлено на промышленном оборудовании в одном из регионов РФ и показало свою высокую эффективность. В настоящее время планируется развертывание системы на всех регионах РФ.

Результат:

  • Заказчик получил полностью автоматическую систему отслеживания трафика и управления предоставлением услуг по платежному балансу пользователей;
  • Снижение затрат и повышение эффективности управления сетевым оборудованием;
  • За счет привлечения специалистов Dev-House заказчик смог значительно сократить затраты на собственную ИТ-службу и провести ее реорганизацию в условиях кризиса.