Печать
Просмотров: 2922

 

SQL для asterisk. Некоторые заметки.

 

Астериск легко взаимодействует с базами данных. Наиболее популярная -MySql. Существует много аспектов использования баз данных с астериском. Наиболее распространение — хранение CDR записей. В этой статье я расскажу , как подготовить базу данных для хранения в ней cdr записей астериска.

 

Необходимые действия с базами данных:

Создание базы данных mysql

mysql_install_db

Проверяем запущен ли mysqld

service mysqld status

Если нет, запускаем его

service mysqld start

Создание базы данных для записи статистики

mysqladmin create asteriskcdrdb

Теперь создаем структуру этой базы

mysql asteriskcdrdb
mysql>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 '',
uniqueid varchar(32) NOT NULL default '',
userfield varchar(255) NOT NULL default '',
did varchar(50) NOT NULL default '',
recordingfile varchar(255) NOT NULL default '',
KEY `calldate` (`calldate`),
KEY `dst` (`dst`),
KEY `accountcode` (`accountcode`)
);
Query OK, 0 rows affected (0.61 sec)
mysql> quit
Bye

Теперь раздаём привилегии на эту базу. Пароль mypassword у каждого свой!!!

mysql
mysql> GRANT ALL PRIVILEGES ON asteriskcdrdb.* TO asteriskuser@localhost IDENTIFIED BY 'mypassword';
Query OK, 0 rows affected (0.00 sec)
mysql> quit
Bye

Подготовка базы данных на этом завершена.