Описание работы HOCS
Приложение HOCS (Hydra Online Charging System) загружает в биллинг обработанные CDR, поступающие с HMED-M.
Настройка загрузки в биллинг
amqp: # входная очередь, являющаяся выходной очередью HMED-M ocs: exchange: hocs exchange_type: fanout queue: ocs # настройки соединения с биллингом billings: hydra: main: name: tns # база данных user: username # пользователь password: password # пароль sources: amqp: ocs: consumer: amqp/ocs fields: # поля CDR, сохраняемые в биллинг # тип/поле - string/service_code - string/ext_id - string/station_a - string/station_b - string/route_a - string/route_b - date/call_begin - date/call_end - integer/duration_sec - string/termination_cause # параметры запускаемых процессов тарификатора workers: # будет запущен один процесс-обработчик - sources: [amqp/ocs] # список используемых источников CDR rater: local/main # компонент, занимающийся определением стоимости CDR charger: local/main # компонент, тарифицирующий и загружающий CDR в биллинг # эти параметры изменять не нужно raters: local: main: billing: hydra/main chargers: local: main: billing: hydra/main
default.yml
В процедуре EX_AAA_PKG.CDR_PUT для защиты от дублей нужно передавать флаг b_SkipOnExistingExtUniqId, в процедуре ET_CDR_LOADING_PKG.CDR_PUT для этого нужно передавать параметр num_EXT_ID_LOOK_AROUND_HOURS.
Параметры работают так:
- Если в процедуру не передан num_N_CDR_ID, но передан num_EXT_ID_LOOK_AROUND_HOURS, то Гидра пытается искать существующий звонок в рамках переданного окна в часах. Делает она это по vch_VC_EXT_UNIQ_ID.
- Если в процедуру не передано значение num_EXT_ID_LOOK_AROUND_HOURS, но передано b_SkipOnExistingExtUniqId, то Гидра пытается искать существующий звонок по vch_VC_EXT_UNIQ_ID среди всех звонков. Никакого окна поиска в часах не используется.