Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 2 Следующий »

Модуль Voice поддерживает обработку логов CDR по мере появления их в папке. Для этого в типе устройства надо поставить - Runtime обработчик логов CDR.

Это обработчик работает обычно в паре с обработчиком логов CDR . Runtime обработчик берет логи новые в какой-либо папке, обрабатывает и перекладывает их  в другую папку, разложенную по дням и часам.

А обычный обработчик логов CDR используется потом для обработки этих логов повторно в ручном режиме в случае каких-либо корректировок. 

Runtime обработчик периодически опрашивает папку в которой появляются логи, и частота опроса задается настройка в устройтве:

log.runtime.cronTab=0 0/2 * * * ?

Тут задается 

 

 

Как примеры доступны некоторые обработчики в стандартной поставке и так же можно создавать свои.

В стандартной поставке есть пример пары связанных обработчиков логов для АТС Asterisk:

ru.bitel.bgbilling.modules.voice.dyn.mediator.asterisk.AsteriskMediator - обработчик логов CDR.

ru.bitel.bgbilling.modules.voice.dyn.mediator.asterisk.AsteriskRuntimeMediator - runtime обработчик логов CDR.

Также можно создавать свои обработчики. Runtime обработчик должен реализовывать интерфейс  ru.bitel.bgbilling.modules.voice.accounting.mediation.runtime.RuntimeMediator:

/**
 * Интерфейс Runtime  обработчика  логов CDR. 
 *
 */
public interface RuntimeMediator
{
    /**
     * Метод инициализации
     * @param setup Насройки приложения
     * @param moduleId код модуля
     * @param device устройсто
     * @param deviceType тип устройства
     * @param config конфигуруция устройства
     * @return Object. Можно вернуть null
     * @throws BGException В случае каких либо ошибок
     */
    Object init( Setup setup, int moduleId, VoiceDevice device, VoiceDeviceType deviceType, ParameterMap config )
        throws BGException;

    /**
     * Map записей упрядоченный по часам.

     */
    SortedMap<Date, List<VoiceRecord> > getNewRecords()
        throws BGException;

}

 

 

  • Нет меток