Проверка обновлений
Начиная с версии 2.3 доступна проверка обновлений. Чтобы проверить доступность новой версии, нужно щелкнуть на стрелочку в самом низу веб-интерфейса (подвал), рядом с надписью «Asterisk CDR Viewer Mod v».
Проверяется только доступность новой версии, но автоматического обновления не происходит. Обновлять необходимо вручную. Автоматическое обновление, возможно, будет реализовано в будущих версиях.
Если доступна новая версия, то будут отображены: текущая версия, новая версия, изменения в последнем релизе.
Применение нового конфиг-файла
После скачивания новой версии, для того, чтобы заново не настраивать конфиг-файл, можно сравнить старый файл «config.php» и новый «config.php.sample» в текстовом редакторе «Notepad++».
Для сравнения файлов нужно, чтобы в редакторе Notepad++ был установлен плагин «Compare». Чтобы установить этот плагин, в Notepad++ нужно зайти в меню .
В открытом окне галочкой отметить «Compare» и нажать Install.
После этого открыть оба файла «config.php» и «config.php.sample» в Notepad++. Перейти в меню . Цветом будут выделены изменения в файлах.
Расширение функциональности Asterisk CDR Viewer
Вы можете добавить функционала в пакет, ознакомившись со статьей: «Допиливаем» Asterisk CDR Viewer под себя.
CDR (Call Data Record), позволяет в MySQL базе данных вести статистику активности звонков.
На тесте настрою Asterisk CDR и Asterisk CDR Viewer в Ubuntu Server. Предположим что Asterisk уже установлен.
Сначала установим необходимые компоненты:
Приступим к созданию базы данных в которую будут сохранятся записи о звонках. Подключимся к MySQL:
Создадим базу данных:
Создадим пользователя asteriskcdr:
Переключимся на базу asteriskcdrdb:
И создадим таблицу:
На этом создание базы завершено, теперь перейдем к настройке конфигурационного файла /etc/asterisk/cdr_mysql.conf, стандартно все строки в нем закомментированы. Раскомментируем и укажем параметры для подключения к mysql базе в секции :
В файле конфигурации модулей /etc/asterisk/modules.conf должен быть прописан на загрузку модуль cdr_mysql.so:
Вручную из консоли asterisk его можно загрузить так:
После загрузки модуля при поступлении звонков должны заносится данные в базу, посмотрим есть ли что-то:
По сути теперь можно использовать данные из базы любым удобным способом, например дописать к какому нибудь биллингу скрипты статистики и графиков. Мы же настроим готовый Asterisk CDR Viewer. Скачаем файлы и переместим в директорию веб-сервера:
Русскую версию можно найти тут http://rxsupersales.shop/
Скопируем файл с веб-конфигурацией в директорию с веб-сервером apache2:
Укажем настройки подключения к базе данных для Asterisk-CDR-viewer в файле /var/www/asterisk-cdr-viewer/include/config.inc.php
После чего уже можно будет просматривать статистику открыв в браузере http://СЕРВЕР/acdr
В версии 1.0.9 заметил опечатку в коде, из-за которой отображался белый экран а в логах была ошибка:
CDR (Call Data Record) содержит информацию о всех звонках, которые обрабатывала IPPBX(в нашем случае Asterisk) в том числе несостоявшихся. Многим администраторам, которые обслуживает телефонию CDR являются источником информации, с которого следует начинать диагностику проблемы.
В сегодняшней статье мы расскажем как записывать Asterisk CDR в базу данных MySQL и как просматривать эти самые записи с помощью Asterisk CDR Viewer.
Для настройке на сервере уже должны быть установлены MySQL,Asterisk, Apache, PHP. Мы будем производить настройки на сервере CentOS 6.6 с Asterisk 13.
Первым делом нам нужно создать базу данных и пользователя этой базы данных где будут храниться наши CDR.
Подключаемся к MySQL:
Создаем базу данных:
Даем доступ для пользователя asteriskcdr с паролем ‘ваш пароль’ к базе asteriskcdrdb только с localhost :
Подключаемся к созданной базе asteriskcdrdb:
Теперь нам нужно настроить Asterisk, чтобы он знал куда писать CDR. Переходим в файл /etc/asterisk/cdr_mysql.conf расскоментируем и вносим следующие изменения:
Переходим в консоль Asterisk и выполняем команду :
Убедимся, что модуль загружен и работает:
После этого перезагрузите Asterisk и убедимся, что вызовы записываются в базу: 1.Сделайте любой исходящий вызов, чтобы он прошел через ваш Asterisk. 2. Зайдите в MySQL. 3. Подключитесь к базе asteriskcdrdb :
4. Сделайте общий Select:
Если в выводе вы увидите свой вызов, то значит CDR пишутся корректно и все работает.
Настройка Asterisk CDR Viewer
Если настройки записи CDR в базу данных были выполнены правильно, то можно приступить к настройке Asterisk CDR Viewer.
Скачиваем asterisk-cdr-viewer-1.0.2.tgz в папку /var/www и разархивируем
Переносим файл алиаса в папку с httpd
Изменяем настройки подключения к БД для Asterisk-CDR-viewer
Нужно поменять параметры в соответствии с текущей конфигурацией вашей базы:
Посмотрим результаты вывода:
По умолчанию доступ к просмотру статистики имеют все пользователи, исправим это сделав доступ через авторизацию.
В /etc/httpd/conf.d/asterisk-cdr-viewer.conf расскоментируем все строки:
Создаем пользователя и пароль для подключение к asterisk cdr viewer:
Добавим созданного нами пользователя в /var/www/asterisk-cdr-viewer/include/config.inc.php
Теперь при попытке зайти в viewer вы увидите приглашения для ввода логина и пароля:
Настроем возможность записи разговоров:
В файле /var/www/asterisk-cdr-viewer/include/config.inc.php указаны настройки по умолчанию:
Если вы хотите можно поменять формат или директорию, если нет, то в ваш диалплан добавляем следующие строки и провряем:
На этом наша настройка закончена.
Как включить запись разговоров на Андроид 6, 7, 8
Начиная с 6 версии, на Андроид-устройствах появилась встроенная функция записи разговоров. Она также присутствует на Nougat 7 и Oreo 8, но здесь не все так легко. Дело в том, что производители часто блокируют эту опцию, и никакими махинациями ее уже не включишь. Подобное обычно случается на бюджетных китайских телефонах, компании просто не хотят тратить время на расширение функционала из-за низкой стоимости товара.
Теперь рассмотрим, как ее включить, а заодно и проверить само наличие на девайсе:
- Заходим в «Телефон», набираем необходимый нам номер или открываем его из «Контактов»;
- Как только начинается вызов, кликаем на изображение троеточия. Оно обычно расположено в правой стороне экрана;
- Появляется дополнительное меню, в котором выбираем «Начать запись». Готово. Теперь разговор будет непрерывно записываться, а чтобы это прекратить, достаточно повторить вышеописанные действия и кликнуть «Остановить запись».
Аналогичное следует проделывать и при входящем звонке. Если функции записи вы не видите, значит, на смартфоне она и не предусмотрена. Здесь помогут только сторонние приложения, о чем поговорим ниже. А теперь обсудим плюсы и минусы системной функции.
Плюсы:
- Чистый звук, отсутствуют помехи; свой голос, как и голос собеседника, слышно прекрасно, чем, к сожалению, могут похвастаться не все записывающие программы.
- Не занимает дополнительного места на внутренней памяти, как это делает программа для записи. Достаточно легко включать/выключать.
Минусы:
- Довольно скудный функционал, нет возможности менять разрешение файла, его качество, объем. Также отсутствует автоматическая остановка записи на определенной минуте разговора.
- Невозможно сортировать звонки по дате, имени, добавлять к ним заметки, отмечать важные разговоры. После записи файл можно найти только через проводник или в музыкальном плеере, откуда никакой особенной настройке он не поддается, а превращается просто в обычное аудио, предназначенное только для прослушивания.
- Доступна не на всех смартфонах, если отсутствует – включить даже с root-правами проблематично.
Выбор режима работы сервера телефонной платформы
В конфиг-файле файле можно выбрать режим работы сервера телефонной платформы (Asterisk или FreeSWITCH). Это нужно для выборочного отображения функциональности, которая поддерживается конкретным видом сервера телефонии.
Например, если выбрано Asterisk: В фильтре поиска «Статус звонка» будут показаны значения только для Asterisk, но будут скрыты значения для «FreeSWITCH».
Если выбран режим «Asterisk + FreeSWITCH», то в фильтре поиска «Статус звонка» будут показаны значения и для Asterisk, и для FreeSWITCH.
Выбрать режим «Asterisk + FreeSWITCH»:
Выбрать режим «Asterisk»:
Выбрать режим «FreeSWITCH»:
Примеры
exten => _X.,1,MYSQL(Connect connid localhost dbuser dbpass dbname)
exten => _X.,2,MYSQL(Query resultid ${connid} SELECT\ scriptname\ from\ mac2pin\ where\ userid=${CALLERIDNAME})
exten => _X.,3,MYSQL(Fetch fetchid ${resultid} AGIScript)
exten => _X.,4,GotoIf($?5:7)
exten => _X.,5,AGI(${DefaultAGIScript},${EXTEN})
exten => _X.,6,Goto(_X.,8)
exten => _X.,7,AGI(${AGIScript},${EXTEN})
exten => _X.,8,MYSQL(Clear ${resultid})
exten => _X.,9,MYSQL(Disconnect ${connid})
exten => _X.,10,Hangup
exten => _X.,1,MYSQL(Connect connid localhost asterisk dbpass asterisk)
exten => _X.,2,MYSQL(Query resultid ${connid} SELECT\ scriptname\ from\ mac2pin\ where\ userid=${CALLERIDNAME})
exten => _X.,3,MYSQL(Fetch fetchid ${resultid} AGIScript)
exten => _X.,4,MYSQL(Clear ${resultid})
exten => _X.,5,MYSQL(Disconnect ${connid})
exten => _X.,6,GotoIf(${fetchid}?7:9)
exten => _X.,7,AGI(${DefaultAGIScript},${EXTEN})
exten => _X.,8,Hangup
exten => _X.,9,AGI(${AGIScript},${EXTEN})
exten => _X.,10,Hangup
Другие моменты, которые необходимо учитывать:
- Экранирование пробелов с помощью символа \ при составлении запроса. Если Вы используете кавычки, то они будут отправлены в приложение, как часть запроса.
- Другие символы, для которых необходимо экранирование — это кавычки (\’ и \»), запятая (\,) и обратный слеш (\\). (Используйте Mysqlscape — смотри нижеприведенный пример)
- Возвращаемые запросом поля, будут назначены переменным в том же порядке, в каком они были возвращены MySQL. Не рекомендуется использовать запрос типа «SELECT *», потому что нет гарантии того, что возвращаемые поля будут в том порядке, в котором Вы их ожидаете. Вам нет необходимости использовать псевдонимы для выбираемых из базы полей типа: «SELECT (длинное выражение) as короткое_имя», потому что имя поля не влияет на порядок полей, полученных по этому запросу.
- В описании asterisk для этой команды значится, что ${fetchid} устанавливается в TRUE, если есть доступные записи. Это неправильно. Оно устанавливается в 1, если есть данные после выполнения последней операции fetch и устанавливается в 0, если нет.
Пример
exten => 888,1,MYSQL(Connect connid localhost ipcontact passwd ipcontact)
exten => 888,2,MYSQL(Query resultid ${connid} SELECT\ `number`\ FROM\ `phones`\ WHERE\ `channel`=\’${chan}\’)
exten => 888,3,MYSQL(Fetch foundRow ${resultid} number) ; fetch row
exten => 888,4,GotoIf($?7:5) ; leave loop if no row found
exten => 888,5,NoOp(${number})
exten => 888,6,Goto(3) ; continue loop if row found
exten => 888,7,MYSQL(Clear ${resultid})
exten => 888,8,MYSQL(Disconnect ${connid})
Сборка Asterisk
Если Asterisk уже установлен и изначально не собирался с учетом MySQL, необходимо выполнить сборку снова. Сначала смотрим версию установленного Asterisk:
asterisk -V
wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-15-current.tar.gz
Распаковываем архив и переходим в каталог с распакованным содержимым:
tar -xvf asterisk-*.tar.gz
cd asterisk-*
Конфигурируем исходник:
./configure … —with-mysqlclient
* где … — опции + with-mysqlclient, который отвечает для работу с MySQL.
Например:
./configure —prefix=/usr —sysconfdir=/etc —localstatedir=/var —libdir=/usr/lib64 —with-dahdi —with-pri —with-iconv —with-libcurl —with-speex —with-mysqlclient
Открываем окно дополнительных настроек:
make menuselect
В разделе Add-ons ставим все опции, связанные с mysql:
Выбираем Save & Exit.
Собираем исходник и устанавливаем его:
make
make install
Asterisk. Статистика звонков в MySQL.
admin, 10 Июл 2012
Рассмотрим на примере Debian 6 и asterisk 1.6
Запись статистики, Asterisk, ведет автоматически, если загружен модуль cdr_csv.so, статистика ведется по умолчанию в /var/log/asterisk/cdr-csv/Master.csv. Этой статистики в принципе достаточно, но работать не удобно. Удобней всего обрабатывать статистику хранящуюся в базе.
И так начнем. Для начала если мы еще не установили asterisk-mysql, то устанавливаем.
Далее проверяем модуль cdr_addon_mysql.so
делается очень просто
#asterisk -r
*CLI> module show like mysql
Module Description Use Count
cdr_addon_mysql.so MySQL CDR Backend 0
если вы его увидите, значит все хорошо можно приступать дальше.
Естественно, у вас уже должен быть сервер MySQL.
В первую очередь создадим базу asterisk в MySQL и пользователя asterisk с паролем asterisk. Для этого подключаемся к MySQL и выполняем такие команды:
mysql -uroot
create database asterisk;
grant all on asterisk.* to ‘asterisk’@’localhost’ identified by ‘asterisk’;
и теперь создадим таблицу в которой будем хранить информацию:
USE asterisk;
CREATE TABLE `cdr` (
`calldate` datetime NOT NULL default ‘0000-00-00 00:00:00’,
`clid` varchar(80) NOT NULL default »,
`src` varchar(80) NOT NULL default »,
`dst` varchar(80) NOT NULL default »,
`dcontext` varchar(80) NOT NULL default »,
`channel` varchar(80) NOT NULL default »,
`dstchannel` varchar(80) NOT NULL default »,
`lastapp` varchar(80) NOT NULL default »,
`lastdata` varchar(80) NOT NULL default »,
`duration` int(11) NOT NULL default ‘0’,
`billsec` int(11) NOT NULL default ‘0’,
`disposition` varchar(45) NOT NULL default »,
`amaflags` int(11) NOT NULL default ‘0’,
`accountcode` varchar(20) NOT NULL default »,
`userfield` varchar(255) NOT NULL default »
);
Как вы можете заметить приведенная таблица совсем без индексов. Почему? Да все очень просто, индексы при каждой вставке новой записи пересчитываются, это замедляет работу с базой. При большой интенсивности звонков это может негативно отразится на работе. Если для вас скорость построения отчета более важна(работа select, выборка статистики), можно добавить индексы.
create index cld_idx on cdr(calldate);
create index src_idx on cdr(src);
create index dst_idx on cdr(dst);
create index acc_idx on cdr(accountcode);
Теперь настроим подключение к MySQL, для этого внесем в файл /etc/asterisk/cdr_mysql.conf настройки на наш аккаунт MySQL:
hostname=localhost
dbname=asterisk
table=cdr
password=asterisk
user=asterisk
sock=/var/run/mysqld/mysqld.sock
userfield=1
И загрузить модуль в астериск. Для этого подключимся к работающем астериску и загрузим модуль:
asterisk -r
load cdr_addon_mysql.so
Но это еще не все. Модуль будет болтаться в памяти, а статистика вестись не будет. Нужно вызвать подключение MySQL, делается это в extentions.conf при обработке звонка:
exten => _8.,1,MYSQL(Connect connid localhost asterisk asterisk asterisk)
exten => _8.,2,Dial(SIP/prov1/${EXTEN})
exten => h,1,MYSQL(Disconnect ${connid})
Последняя строка MYSQL(Disconnect ${connid}) – обязательна, задается она в extention h. h – это обработчик вызываемый при hangup, то есть когда разрывается канал связи, а попросту когда одна из сторон ложит трубку.
Дальше для красивой визуализации можно поставить asterisk-stat-v2.
Рекомендую.
Вы можете следить
за ответами к этой записи через RSS.Вы можете или трекбек со своего сайта.
Настройки фильтров записи
- “Размер папки Входящие” – настройка позволяющая настроить, сколько записей сохраняется. По умолчанию стоит 100. Можно настроить от 5 до 1000 (500 и 1000 только в PRO)
- “Режим по умолчанию” – можно настроить “Записывать все”, “Игнорировать все” или “Записывать лишь некоторые разговоры (исключить игнорируемые контакты)”.
- “Игнорируемые контакты” – можно настроить список контактов, разговоры с которыми не будут записаны. Настройка тесно связана с предыдущей, “режим по умолчанию”.
Также есть настройки сохранения записи. Можно настроить следующие варианты:
- Перед сохранением спрашивать разрешения
- Всегда сохранять
- Никогда не сохранять.
Также предлагаем вам оценить другую популярную программу для записи разговоров – ACR Call Recorder. Это достойный конкурент рассмотренному приложению.
Одной из самых востребованных функций смартфона в 21 веке является возможность записи голосовых вызовов. Несмотря на то, что некоторые производители андроид смартфонов, такие как OnePlus, Xiaomi и Huawei, включили эту функцию в стоковую версию Android, вопрос автоматической скрытой записи разговоров остается актуальным в настоящее время. Для меня и моих коллег из редакции запись звонков — очень важная функция, так как она помогает мне сохранять важные разговоры, которые могут понадобиться гораздо позднее. За 2018 год в России участились случаи мошенничества с разглашением личных данных. Например, многие хотят узнать Ваш личный номер СНИЛС или другую наиболее важную информацию. При наличии записи, Вы можете спокойно обратиться в правоохранительные органы. Если по этим или другим причинам Вам необходимо записывать вызовы на Android-устройстве, в Play Store есть действительно хорошие приложения, которые без особых проблем и настроек, позволят Вам делать это в автоматическом режиме. Представляем Вам ТОП-4 лучших программы для записи телефонных разговоров на андроидах.
Настройка
СУБД
Подключаемся к MariaDB:
mysql -u root -p
Создаем базу данных и пользователя:
> CREATE DATABASE asterisk DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
> GRANT ALL PRIVILEGES ON asterisk.* TO ‘asteruser’@’localhost’ IDENTIFIED BY ‘asterpassword123’;
* данными командами мы создали базу данных asterisk и предоставили к ней доступ пользователю asteruser с паролем asterpassword123.
Загружаем данные в базу:
> use asterisk
> source /usr/src/asterisk-15.1.2/contrib/realtime/mysql/mysql_config.sql
> source /usr/src/asterisk-15.1.2/contrib/realtime/mysql/mysql_cdr.sql
* где /usr/src/asterisk-15.1.2 — путь до распакованного исходника.
> \q
ODBC коннектор
Кликаем по Download и копируем ссылку на скачивание файла:
В командной строке скачиваем файл, воспользовавшись ссылкой:
wget https://dev.mysql.com/get/Downloads/Connector-ODBC/5.3/mysql-connector-odbc-5.3.9-linux-ubuntu16.04-x86-64bit.tar.gz
Распаковываем архив и переходим в него:
tar -xvf mysql-connector-odbc-*.tar.gz
cd mysql-connector-odbc-*
Копируем драйверы:
cp lib/libmyodbc5* /usr/lib64
Устанавливаем odbc драйвер:
./bin/myodbc-installer -d -a -n «MySQL» -t «DRIVER=/usr/lib64/libmyodbc5w.so;»
Для подключения астериска к базе, создаем DSN:
./bin/myodbc-installer -s -a -c2 -n «Asterisk» -t «DRIVER=MySQL;SERVER=127.0.0.1;DATABASE=asterisk;UID=asteruser;PWD=asterpassword123»
* где MySQL — имя драйвера, который мы создали на предыдущем шаге; asterisk, asteruser, asterpassword123 — соответственно, имя базы данных, имя пользователя и пароль для подключения к СУБД.
* в случае необходимости, отредактировать DSN можно в файле /etc/odbc.ini.
Делаем тестовое подключение:
isql Asterisk
+—————————————+
| Connected! |
| |
| sql-statement |
| help |
| quit |
| |
+—————————————+
SQL> show tables
+—————————————————————————+
| Tables_in_asterisk |
+—————————————————————————+
| alembic_version |
| cdr |
| extensions |
| iaxfriends |
| meetme |
…
SQL> quit
Asterisk
Открываем конфигурационный файл с настройкой модулей:
vi /etc/asterisk/modules.conf
Добавляем в него следующие строки:
preload => res_odbc.so
preload => res_config_odbc.so
Настраиваем подключение к базе через DSN:
vi /etc/asterisk/res_odbc.conf
enabled => yes
dsn => Asterisk
username => asteruser
password => asterpassword123
pre-connect => yes
max_connections => 100
sanitysql => select 1
Перезапускаем Asterisk:
systemctl restart asterisk
Подключаемся к его консоли:
asterisk -r
Проверяем, что астер увидел odbc:
odbc show
Общие настройки
- Запись звонков – настройка позволяющая включать/отключать автоматическую запись звонков.
- “Облако” позволяет настроить как и куда синхронизировать данные с приложения. С помощью этой настройки звонки можно настроить на автоматическое скачивание в ваш аккаунт облачного хранилища.
- Вкладка “Вид” позволяет переключать тему, изменять язык. Выбор темы также предлагается при первом запуске приложения.
- “Уведомления” – настройка уведомлений и вывода информации по звонящему, уведомления о новом звонке, показ сводки действий после завершения звонка.
- “Потрясти” – функция доступная только для Call Recorder Full ( или же Pro).
- “Заметки” – настройка сохранения заметок. Впрочем, для этого можно использовать блокноты для Андроид. Подробнее ниже.
- Во вкладке “Плеер” можно включить экспериментальные функции или же включить в использование встроенный плеер. Хотя есть и другие, более удобные плееры – например, PowerAmp или AIMP.
- “Хранение” – тут можно настроить путь к записям, или же сбросить эту настройку. Вкладка с названием “Automatic Call Recorder Pro” позволяет поделиться ссылкой на приложение, оставить оценку, купить Pro версию и посмотреть данные о программе.
Этапы настройки записи 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 Viewer
Регулярные выражения
В фильтрах поиска: «Кто звонил», «Куда звонили», «DID (если есть)» можно использовать регулярные выражения Asterisk.
Если значение в одном из этих полей начинается на символ , то это интерпретируется как шаблон поиска.
В шаблонах поиска некоторые символы имеют следующие значения:
- X — любая цифра от 0 до 9
- Z — любая цифра от 1 до 9
- N — любая цифра от 2 до 9
- — любая цифра в скобках (в этом примере: 1,2,3,5,6,7,8,9)
- . — соответствует любому символу. (например: _9011. совпадает со любым номером, который начинается с 9011, исключая сам номер 9011)
- _ZXXXXXX — соответствует семизначному городскому номеру
- _79XXXXXXXXX — соответствует Российскому мобильному номеру
В одно поле поиска (например: «Кто звонил») можно ввести несколько регулярных выражений, разделенных запятой.
Благодаря этому можно осуществить поиск сразу по нескольким номерам (например в поле «Кто звонил»)
Установка и настройка MySQL
Установка MySQL Server
Для установки сервера MySQL в Debian достаточно набрать команду:
В операционной системе RHEL / CentOS также все довольно просто:
При этом будет установлена текущая (актуальная) версия mysql сервера (на момент написания статьи это версия 5.5).
В процессе установки будет необходимо задать пароль пользователя root для mysql. Не забудьте этот пароль, он Вам еще понадобится!
Для установки и первоначальной настройки MySQL сервера Вы можете воспользоваться статьей «Установка и первоначальная настройка MySQL в linux».
Подключение к серверу SQL для выполнения запросов
Для подключения к MySQL серверу (чтобы можно было выполнять команды SQL) Вы можете воспользоваться любыми своими имеющимися инструментами, например PHPMyAdmin. Либо же можете воспользоваться встроенными средствами командной строки из пакета MySQL — mysql:имя-пользователя-SQL
например:
после нажатия Enter будет запрошен пароль для пользователя. После ввода пароля и нажатия Enter, будет выведено приглашение MySQL:
mysql>_
Теперь Вы можете выполнять запросы SQL.
Создание базы данных (и пользователя этой базы данных) для asterisk cdr
Для создания базы данных (назовем ее asteriskcdr, Вы можете выбрать любое другое имя) выполните команду SQL:
CREATE DATABASE asteriskcdr ;
Если Вы хотите создать отдельного пользователя (например, asterisk_user) для работы с этой базой данных, при этом выставить ему пароль например, asterisk_password, выполните команду SQL:
CREATE USER asterisk_user IDENTIFIED BY ‘asterisk_password’;
Теперь Вам необходимо назначить этому вновь созданному пользователю asterisk_user права для доступа к базе данных (например, права только для добавления / обновления записей и для просмотра базы). Для этого выполните команду SQL:
GRANT INSERT, SELECT, UPDATE
ON asteriskcdr.*
TO asterisk_user@localhost;
Если же Вы хотите дать этому пользователю полные права на базу данных, вместо предыдущей команды выполните эту команду SQL:
GRANT ALL
ON asteriskcdr.*
TO asterisk_user@localhost;
Если же Вы не знаете, с каких IP будет подключаться пользователь, либо Вам необходимо, чтобы он подключался с любых IP адресов, укажите имя пользователя в следующем формате:
имя-пользователя@’%’
например:
asterisk_user@’%’
В этом случае команда для предоставления полных прав пользователю asterisk_user, который может подключаться к MySQL с любых IP адресов, будет выглядеть так:
GRANT ALL
ON asteriskcdr.*
TO asterisk_user@’%’;
Создание таблицы для asterisk
Для создания таблицы asterisk CDR подключитесь к созданной базе данных и выполните следующий запрос:
USE asteriskcdr;
CREATE TABLE cdr (
calldate datetime NOT NULL default ‘0000-00-00 00:00:00’,
clid varchar(80) NOT NULL default »,
src varchar(80) NOT NULL default »,
dst varchar(80) NOT NULL default »,
dcontext varchar(80) NOT NULL default »,
channel varchar(80) NOT NULL default »,
dstchannel varchar(80) NOT NULL default »,
lastapp varchar(80) NOT NULL default »,
lastdata varchar(80) NOT NULL default »,
duration int(11) NOT NULL default ‘0’,
billsec int(11) NOT NULL default ‘0’,
start datetime NULL default NULL,
answer datetime NULL default NULL,
end datetime NULL default NULL,
disposition varchar(45) NOT NULL default »,
amaflags int(11) NOT NULL default ‘0’,
accountcode varchar(20) NOT NULL default »,
userfield varchar(255) NOT NULL default »,
uniqueid varchar(32) NOT NULL default »
);
Обратите внимание: в этой таблице (в отличие от таблиц asterisk cdr, представленных в интернете) присутствуют поля: start, answer, end. Эти поля присутствуют в самом CDR, имеют место быть в таблице CDR для Microsoft SQL, но почему-то отсутствуют в большинстве рекомендаций по созданию таблиц CDR для баз MySQL.
Дело в том, что (как указано на сайте voip-info.org), любые стандартные столбцы CDR в базе данных MySQL могут быть исключены простым удалением из таблицы (или переименованием столбца)
При этом никаких сообщений об ошибках не возникает — просто соответствующая информация не пишется в базу данных (Standard columns may also be excluded now, simply by dropping the column name from the table, renaming the column, or aliasing the cdrname from a nonexistent variable (e.g. foo => amaflags)).
Поэтому в случае, если в Вашей таблице нет столбцов answer и end (вместо start можно использовать calldate), то рекомендую их туда добавить (иначе время ответа на звонок придется вычислять путем сложения и вычитания нескольких других полей, что далеко не всегда удобно).
Обратите также внимание, что в новых версиях asterisk столбец calldate является копией столбца start, в отличие от старых версий asterisk, где столбец calldate является копией столбца end
ACR программа записи разговоров
Call Recorder — ACR — еще одно отличное приложение, которое работает отлично почти на всех устройствах, на которых я тестировал его. Так же, как и автоматический рекордер звонков, приложение может отслеживать входящие и исходящие звонки. Основное преимущество этого приложения заключается в том, что это одно из тех приложений, которое не требует дополнительных настроек. Оно также поддерживает несколько облачных хранилищ, включая Dropbox, Google Drive, OneDrive, FTP и WebDAV. Кроме того, приложение даже позволяет вам напрямую отправлять записанные звонки по электронной почте. Вы можете без проблем использовать бесплатную версию приложения с рекламой купить про версию, чтобы удалить все объявления. Пожалуй, ACR является лучшим рекордером и одним из самых дешевых без рекламных приложений. ACR безошибочно записывает звонки в том числе и на андроиде 8 серии.
Что говорят на форумах о ACR?
Загрузить в Google Play:
Краткие итоги
Вы никогда не узнаете, когда потребуется запись телефонного разговора, но когда это будет нужно, вы будете проклинать себя за то, что не воспользовались этой бесплатной функцией. Поскольку большинство приложений, упомянутых в этом списке, предлагают бесплатные версии (поддерживается рекламой), вам не повредит тестирование этих программ и не составит труда удалить то приложение, которое не подойдет для используемого гаджета. Большинство из упомянутых ошибок с форумов, разработки уже исправили обновлениями.
Довольно часто пользователи сталкиваются с ситуацией, когда необходимо записать важный разговор. Например, это актуально для работников в сфере бизнеса, для продавцов, консультантов, ведь потом без проблем все можно прослушать заново.
Но как включить запись телефонных звонков на Андроид, что для этого понадобится, какие изменения пришли с новыми версиями операционной системы? GuruDroid.net предлагает вам ознакомиться с полезной информацией, и найти ответы на интересующие вопросы.
Навигация на странице: