Подготовка логов
Исходными данными для работы модуля являются CDR-записи, разделённые по АТС и предоставленные в следующем формате.
- дата и время начала звонка (dd.MM.yyyy HH:mm:ss)
- длительность звонка (секунды)
- # A
- # A (E.164), далее #A164
- # B
- # B (E.164), далее #B164
- port_from
- port_to
- категория звонка
- время соединения (секунды)
- стоимость вызова
- стоимость вызова для оператора
Поле Категория в данный момент не используется биллингом, вместо него могут быть подставлены 0.
Время соединения используется для учёта межоператорских взаимозачётов правилами и всегда больше или равно длительности звонка. Это полное время от начала установки соединения с АТС оператора до окончания соединения. Поинты тарифицируются на основании длительности звонка - времени разговора абонента. Т.е. для тарификации сессии по правилу будет использована длительность соединения а для тарификации абонента - длительность звонка.
Стоимость вызова может задавать как цену всего звонка для абонента, так и минуты звонка, использование данного поля задаётся в тарифном плане.
Поля Время соединения, Стоимость и Стоимость вызова для оператора могут отсутствовать.
CDR-запись представляет собой строку в текстовом файле кодировке ASCI, в качестве разделителей полей используется знак табуляции. Например, фрагмент лога:
01.08.2006 10:55:18 57733 3517913292 73517913292 2479292 73512479292 3 62 5 57733 0
01.08.2006 14:08:33 75980 3517744152 73517744152 2479292 73512479292 4 34 5 75980 0
Логи должны быть разбиты по АТС и по часовым интервалам, при этом имя файла формируется по шаблону dd_HH, файл помещается в zip-архив с именем dd_HH.zip. Логи группируются в каталоги по годам и месяцам. Например, дерево файлов лога АТС.
2005 |
|-01 |
|-01_00.zip
|-01_01.zip
.....................
|-02 |
|-01_00.zip
.....................
Пример подобных логов вы можете посмотреть здесь. На уровень выше расположен скрипт billing.pl конвертации логов АТС в формат модуля. Вы можете модифицировать скрипт под формат логов вашей АТС. Скрипт написан на Perl, для запуска на Win платформе необходима установка Perl-интерпретатора, вы можете взять его с сайта http://www.activestate.com Разумеется, конвертер может быть реализован на любом другом языке программирования.
Логи каждой АТС должны быть выложены в отдельный каталог, доступный серверу биллинга по FTP, либо через файловую систему. Примеры конвертеров логов доступны на WiKi.