Forward Обсудить проект

Онлайн-тарификация (Online Charging System): как она работает

· обновлено

Online Charging System тарифицирует потребление в момент события и управляет балансом абонента в реальном времени. Она нужна там, где расчет должен произойти до оказания услуги: на предоплатной модели, при пакетах с лимитами, в роуминге. Расчетный контур закрывает период по всей базе, OCS отвечает сети за миллисекунды — это разные задачи и разные требования к архитектуре.

Online Charging System, она же система онлайн-тарификации, отвечает сети на вопрос «можно ли оказать эту услугу сейчас и сколько списать». Ответ нужен до того, как услуга оказана, и за миллисекунды.

Состав продукта — на странице Forward Fusion. Здесь — зачем OCS выделяют из расчетного контура.

Две разные задачи

Признак Расчетный контур OCS
Когда считает По итогам периода и по мере поступления событий В момент запроса от сети
Что отвечает Сколько начислить Разрешить ли услугу и сколько списать сейчас
Время ответа Минуты и часы на пакет Миллисекунды на запрос
Нагрузка Пиковая при закрытии периода Ровный поток, растет с числом активных абонентов
Последствия отказа Задержка выставления счетов Остановка обслуживания

Разница в последней строке объясняет, почему у OCS отдельные требования к резервированию и масштабированию.

Что тарифицируется онлайн

Пакетные предложения с общим остатком: абонент должен видеть верный остаток в любой момент, а не после ночной обработки. Услуги с добавленной стоимостью — M2M, виртуальные АТС, информирование. Соединения в роуминге, где ставки выше и риск перерасхода реален. Бонусы, скидки и программы лояльности, которые учитываются в момент списания.

Отдельно — тарификация абонентов с перенесенными номерами: определять принадлежность номера нужно в момент вызова.

Квоты вместо разрешения на сессию

Практический механизм контроля выглядит так: система выдает квоту вместо разрешения на всю сессию. Сеть расходует ее и запрашивает следующую. При нехватке средств услуга прекращается контролируемо, и риск оператора ограничен размером одной квоты.

Подбор размера — рабочий вопрос внедрения: слишком мелкая квота создает лишний поток запросов, слишком крупная перестает защищать от перерасхода.

Где это критично

В проектах «Т-Мобайл» и «Альфа-Мобайл» онлайн-тарификация запускалась вместе с расчетным контуром: виртуальный оператор на предоплатной модели без нее работать не может. В «ВТБ Мобайл» OCS переносилась вместе с остальной платформой, и услуги связи при этом работали без перерыва.

Вопросы и ответы

Чем OCS отличается от биллинга?

Моментом расчета и природой нагрузки. Биллинг считает потребление и закрывает расчетный период по всей базе. OCS отвечает на запрос сети в момент события: можно ли оказать услугу и сколько списать прямо сейчас. Первое — тяжелая периодическая обработка, второе — постоянный поток запросов с ответом за миллисекунды. Совмещать их в одной системе означает подчинять одну задачу требованиям другой.

Зачем OCS нужна на предоплатной модели?

Потому что без нее абонент уходит в минус. Если списание происходит по итогам периода, дорогой трафик в роуминге или сверх пакета успевает накопиться до суммы, которую оператор уже не вернет. OCS проверяет баланс до оказания услуги и выдает квоту, ограничивая риск размером этой квоты.

Что такое квотирование?

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

Что именно тарифицируется в реальном времени?

Пакетные предложения с общим остатком, VAS-сервисы — M2M, виртуальные АТС, информирование, — соединения в роуминге, а также бонусы, скидки и программы лояльности, которые должны учитываться в момент списания. Последнее важнее, чем кажется: скидка, примененная по итогам месяца, для абонента выглядит как ошибка в счете.

Работает ли OCS с перенесенными номерами?

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

Что с отказоустойчивостью?

Требования выше, чем у расчетного контура: отказ биллинга задерживает выставление счетов, отказ OCS останавливает обслуживание абонентов. Поэтому в Forward Fusion предусмотрено полное резервирование и масштабирование без прерывания сервиса, а состояние балансов держится в распределенном кэше Hazelcast.