Регистрация ПТД Интернет

 

В Интернет используется два основных метода обработки данных:

S - данные от SNMP;

N - Netflow данные.

 

Возможно использование своего протокола обработки.

 

Протокол S - это агрегированные данные Интернет без привязки к ресурсу и зоне тарификации (все как в телефонии). В этом случае требуется полный цикл тарификации (поиск ресурса, поиск зоны тарификации, поиск тарифа).

Протокол N - это агрегированные данные Интернет с помощью netflow агрегатора (предварительный биллинг). В этом случае агрегатор сделает предварительную тарификацию, т.е. найдет ресурс и зону тарификации, и основному тарификатору нужно будет только найти тариф.

 

Регистрация ПТД Интернет выполняется с помощью процедуры:

procedure reg_i_cdr_v2(
  call_dt_in        in varchar2,  -- время снятия статисти в формате YYYYMMDDHH24MISS
  duration_         in integer,   -- длительность агрегации (не влияет на стоимость)
  wire_id_          in integer,   -- ссылка на wire_id (таблица client_wires), не передавать для протокола <> N
  phone_code_id_    in integer,   -- ccылка на найденный код направления (таблица phone_codes), не передавать для протокола <> N
  wire_name_        in varchar2,  -- имя линии wire-id
  hwa_              in varchar2,  -- hardware address - любое значение
  direction_        in varchar2,  -- направление I или O
  call_type_        in varchar2,  -- тип направления (справочник call_types)
  value_in          in integer,   -- объем (в байтах), далее система самостоятельно переводит в кбайты
  qty_              in integer,   -- количество агрегированных данных (опционально)
  file_id_          in integer,   -- ссылка на файл
  phone_code_name_  in varchar2,  -- имя кода направления
  route_ip_         in varchar2,  -- код источника в таблице sources
  sgroup_id_        in integer,   -- группа услуг ресурса
  protocol_         in varchar2,  -- протокол из таблицы protocols
  result_           out pls_integer,  -- не 0 в случае ошибки   (возвращаемое значение)
  -- дополнительные необзязательные параметры
  wire_type_        in varchar2 default null, -- тип ресурса
  call_id_          in integer  default null, 
  value_2_in        in integer  default null  -- для snmp противоположный трафик
);

 

Если RESULT = 0,  то произошло сохранение в БД; если <> 0, то не произошло сохранение в БД, подробнее, что произошло нужно смотреть в /var/log/platex/billing.log.

Обратите внимание, что в отличие от телефонии поле CALL_DT дата/время передается в текстовом виде в формате YYYYMMDDHH24MISS.

В отличие от телефонии в Интернет все обрабатываемые файлы должны быть зарегистрированы в таблице Инструменты \ Файлы источников.

 

Поэтому перед тем как вызывать процедуру регистрации необходимо зарегистрировать файл с помощью процедуры:

procedure reg_file_src(
  file_name_in  varchar2,       -- имя файла
  beg_dt_in     varchar2,       -- минимальная дата call_dt (необходима для поиска файлов для повторной перезаливки)
  end_dt_in     varchar2,       -- максимальная дата call_dt (необходима для поиска файлов для повторной перезаливки)
  success_      pls_integer,    -- количество успешно протарифицированных
  processed_    pls_integer,    -- количество всего обработанных данных
  ignored_      pls_integer,    -- количество проигнорированных
  mode_         pls_integer,    -- режим заливки: 0 - новая, 1 - перебилливание, 2  - добавление к уже имеющимся
  file_id_      out pls_integer,-- зарегистрированный файл id
  protocol_     varchar2 default 'N'  -- протокол
);

 

Если при первом вызове значения SUCESS, PROCESSED, IGNORED неизвестны, то допускается указать 0, а по окончании обработки сделать еще раз вызов reg_file_src и указать реальные значения полей.