Подготовка логов
Исходными данными для работы модуля являются 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.