Asterisk cdr

Этапы настройки записи CDR в MySQL

Настройка сохранения истории звонков asterisk (CDR) в базу данных формата MySQL состоит из двух частей, каждая из которых состоит из нескольких этапов. Части могут настраиваться независимо и параллельно (до определенного момента).

Часть 1. Установите и настройте MySQL сервер

  1. Установите MySQL сервер
  2. Создайте базу данных для asterisk
  3. Создайте таблицу для asterisk

Часть 2 — настройка asterisk

  1. Установите компоненты для работы с MySQL: MySQL client и библиотеку для поддержки MySQL
  2. Пересоберите asterisk для работы с MySQL — cdr_mysql
  3. К этому моменту должна быть выполнена часть 1.
  4. Проверьте подключение к MySQL Server
  5. Настройте asterisk для работы с MySQL

И отдельным пунктом вынесены возможные ошибки, возникающие в процессе настройки MySQL / asterisk.

Поля CDR

calldate дата и время начала звонка (фактически, поле используется только для базы данных mysql, поскольку в настройках cdr_mysql.conf указан алиас: alias start => calldate)
clid caller id звонящего
src исходящий номер
dst набранный номер
dcontext контекст, в котором произошел набор
channel исходящий канал (используемый канал от вызывающего абонента)
dstchannel канал назначения (используемый канал к вызываемому абоненту)
lastapp последнее вызванное приложение asterisk (например, Dial)
lastdata параметры, переданные последнему вызванному приложению
duration продолжительность всего разговора, секунд (с момента набора номера, включая время ожидания ответа абонента)
billsec время непосредственного разговора (время вызова в секундах, от ответа абонента до окончания звонка)
disposition Значение результата звонка: ANSWERED, NO ANSWER, BUSY, FAILED (на некоторых CDR в выходных драйверах, например ODBC, они могут быть числовыми: 1 – сбой, 2 – занято, 4 – нет ответа, 8 – отвечено, 0 – разрыв связи до ответа; заметьте, что более детальная инфа может быть найдена в переменной диалплана $HANGUPCAUSE)
amaflags Статус биллинговой строки (AMA = Automated Message Accounting). Указывается для каждого канала подобно accountcode. Возможными значениями могут быть default, omit, billing, documentation. Это один из возможных параметров sip клиента в файле sip.conf. Например:
amaflags=billing
accountcode учетный код, который можно задать в настройках (параметр файла sip.conf. Значение этого параметра, если указано, используется при заполнении CDR. Записывается значение пира, который принимает звонок). Это один из возможных параметров sip клиента в файле sip.conf. Например:
accountcode=markster
userfield пользовательское поле (заполняется пользователем самостоятельно, по умолчанию — пустое)
uniqueid уникальный идентификатор

Подготовка системы

Я рекомендую ознакомиться с моим материалом на тему первоначальной настройки centos 7. Многие вопросы там рассмотрены подробнее, здесь же я не буду на них задерживаться, просто выполню необходимые команды.

Прежде чем мы начнем устанавливать asterisk, нам надо выполнить целый ряд подготовительных действий. Первым делом отключаем selinux. Для этого открываем файл:

# mcedit /etc/sysconfig/selinux

и устанавливаем значение SELINUX=disabled. После этого применяем настройку без перезагрузки сервера:

# setenforce 0

Рекомендация по отключению selinux дается в официальной инструкции по установке freepbx, так как это может привести к нарушению процесса инсталляции.

Дальше обновляем систему и ставим пакеты Development Tools:

# yum update
# yum groupinstall core base "Development Tools"

Asterisk-CDR-Viewer-Mod — Настройка авторизации

Подскажите пож-та какие файлы и где надо создать и изменить, для настройки авторизации в Asterisk-CDR-Viewer-Mod. Что то совсем запутался..htpasswd — где должен быть? В нём надо добавлять строку: $admin_user_names = «admin» или нет? Файл .htaccess надо создавать и где?, или надо изменить конфиг apache?, какой тогда именно файл? Я так понимаю, что:

AuthName «Asterisk» AuthType Basic AuthUserFile /path/to/.htpasswd AuthGroupFile /dev/null require valid-user

надо туда прописывать?Очень надо сделать, помогите пож-та!

Здесь подробно написано, как поставить пароль на директорию с помощью apache.

ОК, всё ясно и понятно, один момент только поясните пож-та: Для phpMyadmin это файл /etc/httpd/conf.d/phpMyAdmin.conf, а для Asterisk-CDR-Viewer-Mod в этой папке какой файл будет? или его надо создать?

Создавать ничего не надо. Если Asterisk-CDR-Viewer-Mod уже работает, значит его настройки где-то заданы, вот там и надо смотреть. Если нет отдельного файла конфигурации для него, значит используется стандартный конфиг httpd.

Это файл /etc/httpd/conf/httpd.conf я правильно понял? а, не в папке conf.d, там есть файлы php.conf, autoindex.conf, userid,conf, welcome.conf, ну и phpMyadmin.confБлин, замучился уже перебирать варианты. Никак не хочет «закрываться» на авторизацию.И ещё, чтоб уж до конца всё на свои места поставить: файлы .htaccess и .htpasswd в папке html создавать (CDR-Viewer-Mod туда скопирована была)?, или там есть папка inc с файлом config.inc.php — и там их надо было создавать?

Да, и в документации ещё есть такое:Пример конфига для Apache:===

AuthName «Asterisk» AuthType Basic AuthUserFile /path/to/.htpasswd AuthGroupFile /dev/null require valid-user

===Может в /etc/httpd/conf.d/ создать такой файл? Чё то никак apache не хочет выходить на авторизацию.

В интернете море информации о том, как закрыть каталог с помощью .htaccees, если что-то не понятно, можно почитать. Я вижу, что понимания как это работает нет вообще, надо разбираться.

А ведь я оказался прав насчёт отдельного конфига в /etc/httpd/conf.dСоздал такого вида: Alias /acdr/ «/var/www/asterisk-cdr-viewer/»

AuthName «Asterisk-CDR-Stat» AuthType Basic AuthUserFile /var/www/asterisk-cdr-viewer/.htpasswd AuthGroupFile /dev/null require valid-user

Всё содержимое CDR-Viewer-Mod перенес из папки html в созданную /var/www/ asterisk-cdr-viewer /, там же создал .htpasswd, а в config.inc.php прописал $admin_user_names = ‘имя пользователя’; и всё заработало! Только заходить в статистику надо по алиасу /acdr/, т.е. /IP сервера/acdr/

есть вопрос по настройке Asterisk-CDR-Viewer-Mod, судя по ответам в этой ветке форума вы с этим разобрались.

Я установил web интерфейс Asterisk-CDR-Viewer (с этим проблем нет), теперь пытаюсь «прикрутить» web интерфейс Asterisk-CDR-Viewer-Mod.

Просьба подсказать, где я допустил ошибку.

1. скачал и установил prog-it-Asterisk-CDR-Viewer-Mod-25c37db в /var/www/html

2. mv /var/www/html/prog-it-Asterisk-CDR-Viewer-Mod-25c37db /var/www/html/asterisk-cdr-viewer-mod

3. Создал файл asterisk-cdr-viewer-mod.conf в etc/httpd/conf.d

4. в файле etc/httpd/conf.d/asterisk-cdr-viewer-mod.conf создал alias Alias /acdrmod/ «/var/www/html/asterisk-cdr-viewer-mod/»

5. в файле /var/www/html/asterisk-cdr-viewer-mod/inc/config/config.php прописал обращение к базе

return array( ### Подключение к базе данных ‘db’ => array( # Тип базы, который поддерживается PDO. Например: mysql, pgsql ‘type’ => ‘mysql’, # Хост ‘host’ => ‘localhost’, # Порт ‘port’ => ‘3306’, # Пользователь ‘user’ => ‘asterisk’, # Имя базы ‘name’ => ‘asterisk’, # Пароль ‘pass’ => ‘123’, # Название таблицы ‘table’ => ‘cdr’, # Доп. опции подключения ‘options’ => array( //PDO::MYSQL_ATTR_INIT_COMMAND => ‘SET NAMES utf8’,

источник

Информация по таблице

Поле Комментарий
calldate Дата и время
clid Caller ID
src Кто звонит
dst Куда звонят
dcontext Диал план
channel Используемый канал от вызывающего абонента
dstchannel Используемый канал к вызываемому абоненту
lastapp Последняя команда (Dial, BackGround и т.п.)
lastdata Аргументы или данные для lastapp
duration Полное время в секундах, от начала набора номера до окончания звонка
billsec Время вызова в секундах, от ответа (Answer) до окончания звонка.
disposition Статус вызова
amaflags AMA = Automated Message Accounting
accountcode Параметр файла sip.conf. Значение этого параметра, если указано, используется при заполнении CDR. Записывается значение пира, который принимает звонок.
uniqueid Можно записать что угодно туда
exten => _8904XXXXXXX,n,Set(CDR(userfield)=Тele2)

http://asterisk.ru/knowledgebase/Asterisk+cdr+mysql http://asterisk.ru/knowledgebase/CDR

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Техноарена
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: