Обработка логов CDR происходит с помощью обработчика в динамическом коде, он реализует парсинг логов. В поставке модуля есть ru.bitel.bgbilling.modules.voice.dyn.mediator.phone.DefaultMediator, он разбирает логи в формате модуля старого модуля Phone. Сделан для совместимости. Формат описан тут(ссылка!).
Так же возможно написать свой Mediator для любой АТС. Новые медиаторы будут будут описаны в нашей WiKi. Вот описание интерфейса Mediator-а:
/** * Интерфейс медиатора логов, парсит логи. * */ public interface Mediator { /** * Метод инициализации * @param setup * @param moduleId * @param device * @param deviceType * @param config * @return * @throws Exception */ public Object init( Setup setup, int moduleId, VoiceDevice device, VoiceDeviceType deviceType, ParameterMap config ) throws Exception; /** * Считывание новых записей за час. Новую запись надо получать так * VoiceRecord record = processor.next(); * И потом заполнять все поля * @param processor * @param hour * @throws Exception */ public void readHourDataLog( VoiceRecordProcessor processor, Date hour ) throws Exception; /** * Данные по существованию логов. data - массив из 31 элемента, где каждый элемент * это битовая маска часов конкретного дня месяца. * @param month * @param data */ public void getLogExists( Date month, int [] data ); }