Инструменты пользователя

Инструменты сайта


asterisk:cdr

Это старая версия документа!


Asterisk: CDR

(сокр. англ. CDR(Call Detail Record) — Подробная Запись о Вызове)

Можно работать одновременно с несколькими БД, например с CSV и MySQL

Формат полей:

ИмяНазначениеДлина
accountcodeкод учётной записи 20
srcномер Caller-ID источника звонка 80
dstномер Caller-ID получателя звонка 80
dcontextконтекст-получатель 80
clidCaller-ID, номер и текст 80
channelканал источника звонка 80
dstchannelканал получателя звонка 80
lastappпоследнее приложение 80
lastdataаргументы последнего приложения 80
startвремя начала звонка
answerвремя когда была поднята трубка
endвремя окончания звонка
durationпродолжительность звонка в секундах
billsecпродолжительность собственно разговора (с момента подъёма трубки)
dispositionрезультат обработки звонка (ANSWERED, NO ANSWER, BUSY)
amaflagsAMA-флаг (Automated Message Accounting)
uniqueidуникальный идентификатор канала
userfieldпользовательское поле

Статус в консоли:

cdr show status

Работа с CSV

FIXME

Файл cdr.conf должен содержать:

/etc/asterisk/cdr.conf
[general]
 
[csv]
usegmtime=no
loguniqueid=yes
loguserfield=yes
accountlogs=yes

Для отключения режима записи в CSV нужно закомментировать все строки в секции [csv], включая имя секции.

/etc/asterisk/cdr_custom.conf
[mappings]
Master.csv => ${CSV_QUOTE(${CDR(clid)})},${CSV_QUOTE(${CDR(src)})},${CSV_QUOTE(${CDR(dst)})},${CSV_QUOTE(${CDR(dcontext)})},${CSV_QUOTE(${CDR(channel)})},${CSV_QUOTE(${CDR(dstchannel)})},${CSV_QUOTE(${CDR(lastapp)})},${CSV_QUOTE(${CDR(lastdata)})},${CSV_QUOTE(${CDR(start)})},${CSV_QUOTE(${CDR(answer)})},${CSV_QUOTE(${CDR(end)})},${CSV_QUOTE(${CDR(duration)})},${CSV_QUOTE(${CDR(billsec)})},${CSV_QUOTE(${CDR(disposition)})},${CSV_QUOTE(${CDR(amaflags)})},${CSV_QUOTE(${CDR(accountcode)})},${CSV_QUOTE(${CDR(uniqueid)})},${CSV_QUOTE(${CDR(userfield)})},${CDR(sequence)}
 
Simple.csv => ${CSV_QUOTE(${EPOCH})},${CSV_QUOTE(${CDR(src)})},${CSV_QUOTE(${CDR(dst)})}

Работа с MySQL

Для работы с информация о вызовах можно использовать Asterisk-CDR-Viewer

Создание БД

В данном примере использованы:

Имя БДasterisk
Имя пользователяasterisk
  1. Нужно создать файл asterisk_mysql.sql, в котором PASSWORD нужно заменить на реальный пароль.
  2. Для создания БД нужно выполнить команду:
    mysql -uroot -h127.0.0.1 -p <asterisk_mysql.sql

Импорт из CSV

  1. Создать файл import_cdr.php, в котором PASSWORD нужно заменить на реальный пароль.
  2. Выполнить
    php ./import_cdr.php /var/log/asterisk/cdr-csv/Master.csv

Проверка в консоли

cdr show status

cdr mysql status

Ссылки

asterisk/cdr.1523253658.txt.gz · Последние изменения: 2018-04-09 09:00 — GreyWolf