Asterisk: cdr.conf

cdr.conf - Общие (глобальные) настройки детализированного отчета о звонках и выбора бэкендов.

Asterisk Call Detail Record engine configuration

CDR или Детализированный Отчет Вызовов - сервис обеспечивающий сохранение информации о совершенных вызовах. Информация может быть записана в базы данных, файлы и другие формы хранения данных. Используется для биллинга, предотвращения мошенничества, Системы Оперативно Розыскных Мероприятий (СОРМ), оценки качества обслуживания и тд

[general]

Использовать или нет сохранение CDR. Если установлено 'no', перекрывает любые параметры загрузки CDR модулей. По умолчанию 'yes

 enable=yes

Указывает сохранять или нет информацию о неотвеченных вызовах. Если установлено 'yes', то информация о вызове будет сохранена, независимо от того ответила сторона B или нет. Если установлено 'no', то информация о вызове сохранена не будет. Это не касается вызовов через внешние исходящие линии (транки). Эти вызовы всегда будут сохраняться, независимо от статуса. Это нормальное поведение.

 unanswered = no

Сохранять или нет информацию о вызовах отвергнутых из-за перегрузки каналов (congestion). по умолчанию 'no'

 congestion = no

Обычно запись не сохраняется пока все расширения канала не будут выполнены. Включение данной опции позволит закрыть CDR до выполнения расширения 'h', и момента когда положили трубку. Однако параметры CDR - 'end' и 'billsec' будут заданы на момент выполнения расширения 'h' (требует уточнения) По умолчанию 'no'.

 endbeforehexten=no

По умолчанию 'billsec' вычисляется, просто как разница 'end' минус 'answer' в секундах. Включение опции initiatedseconds=yes, укажет Asterisk использовать точные значения до микросекунд. В случае если часть в микросекундах 'end', больше чем часть в микросекундах 'answer', разница округлится до секунды в большую сторону и наоборот. По умолчанию «no».

 initiatedseconds=no

Групповой режим CDR сохраняет данные в буфер, чтобы потом залить в хранилище группой, что уменьшает нагрузку на сервер. Но может привести к потере данных при внезапной перезагрузке. По умолчанию «no».

 batch=no

Укажите максимальное кол-во значений в буфере, прежде чем данные будут залиты в хранилище. Работает если 'batch=yes'. По умолчанию 100.

 size=100

Укажите максимальную продолжительность времени, в миллисекундах, до освобождения буфера. Будет выполнено по истечению заданного времени, несмотря на значение 'size'. По умолчанию 300 (5 минут).

 time=300

Постить все в едином потоке планировщика Asterisk (scheduleronly=yes) или для каждой партии создавать новый поток (scheduleronly=no). Для небольших партий (до size=10) используйте только планировщик. Для больших новые потоки - scheduleronly=no. По умолчанию 'no'.

 scheduleronly=no

Блокировать выключение Asterisk до освобождения буфера. По умолчанию «yes».

  safeshutdown=yes

CDR "BACKEND"

Вы можете выбрать любой из нескольких бакендов для соранения данных. Возможно, также использовать все бакенды одновременно. В конфигурационных файлах, поставляемых с Asterisk для примера, выбран только cdr-csv формат.

Бакенды:

  • cdr_custom.conf - Настройка полей и схемы для файла csv CDR/
  • cdr_odbc.conf - Соединение черед ODBC драйвер.
  • cdr_pgsql.conf - Соединения с PostrgreSQL.
  • cdr_sqlite3_custom.conf - Соединение с sqlite3.
  • cdr_tds.conf - Соединение с Microsoft SQL при помощи библиотеки FreeTDS.
  • cdr_mysql.conf - Нативное соединение с БД MySQL.
  • cdr_syslog.conf - Лог при помощи службы журналирования linux.
  • radius настраивается в этом же файле (cdr.conf) - Сохранение данных через radius-server

Вспомогательные модули, кастомизация полей:

Для компиляции модулей, требуется чтобы их зависимости были установлены до выполнения команды configure. Воспользуйтесь командой make menuselect и в разделе «Call Detail Recording» убедитесь, что требуемые вам модули имеют свои зависимости и будут скомпилированы. В приведенном ниже примере видно, что для cdr_pgsql условия не выполнены, и модуль не может быть установлен.

        **************************************************
           Asterisk Module and Build Option Selection
        **************************************************

                      Press 'h' for help.
                        --- Core ---
                     [*] cdr_adaptive_odbc
                     [*] cdr_custom
                     [*] cdr_manager
                     [*] cdr_syslog
                       --- Extended ---
                     [*] cdr_csv
                     [*] cdr_odbc
                     XXX cdr_pgsql
                     XXX cdr_radius
                     [*] cdr_sqlite3_custom
                     XXX cdr_tds
                      --- Deprecated ---
                     XXX cdr_sqlite

Модуль cdr_mysql поставляется как «Add-ons» согласно требованиям лицензии, к тому же объявлен устаревшим и вместо него рекомендуется использовать cdr_odbc, что однако не мешает им пользоваться при надобности или из лени.

        **************************************************
           Asterisk Module and Build Option Selection
        **************************************************
                    --- Extended ---
                    XXX chan_mobile
                    [*] chan_ooh323
                    [*] format_mp3
                    [*] res_config_mysql
                   --- Deprecated ---
                    [ ] app_mysql
                    [*] cdr_mysql

Кроме общих (глобальных) настроек в файле cdr.conf конфигурируются сохранение записей CDR в csv и radius:

[csv]
usegmtime=yes     ; лог дата/время in GMT. по умолчанию "no"
loguniqueid=yes   ; лог uniqueid.  по умолчанию "no"
loguserfield=yes  ; лог user field.  по умолчанию "no"
accountlogs=yes   ; create separate log file for each account code. Default is "yes"
newcdrcolumns=yes ; Enable logging of post-1.8 CDR columns (peeraccount, linkedid, sequence).
                  ; Default is "no".

[radius]
usegmtime=yes     ;log date/time in GMT
loguniqueid=yes   ;log uniqueid
loguserfield=yes  ;log user field
                  ;Set this to the location of the radiusclient-ng configuration file
                  ;The default is /etc/radiusclient-ng/radiusclient.conf
radiuscfg => /usr/local/etc/radiusclient-ng/radiusclient.conf

Файлы конфигурации Asterisk

  • asterisk/cf/cdr.conf.txt
  • Последние изменения: 2018/03/12