Этапы настройки записи CDR в MySQL
Настройка сохранения истории звонков asterisk (CDR) в базу данных формата MySQL состоит из двух частей, каждая из которых состоит из нескольких этапов. Части могут настраиваться независимо и параллельно (до определенного момента).
Часть 1. Установите и настройте MySQL сервер
- Установите MySQL сервер
- Создайте базу данных для asterisk
- Создайте таблицу для asterisk
Часть 2 — настройка asterisk
- Установите компоненты для работы с MySQL: MySQL client и библиотеку для поддержки MySQL
- Пересоберите asterisk для работы с MySQL — cdr_mysql
- К этому моменту должна быть выполнена часть 1.
- Проверьте подключение к MySQL Server
- Настройте 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


![Asterisk cdr на mysql в gentoo    [enchanted technology]](http://tehnikaarenda.ru/wp-content/uploads/6/d/1/6d154b2c8036cc152507607d2ee16cfc.jpeg)







![Asterisk cdr на mysql в gentoo    [enchanted technology]](http://tehnikaarenda.ru/wp-content/uploads/0/a/0/0a04a2f61940aee028a04dad14faa4aa.jpeg)










































