Для того чтобы Asterisk мог записывать данные о звонках в базу, должен
быть установлен пакет “Asterisk-addons”. Для Asterisk версии ниже 1.8,
нужна скачать этот самый пакет с сайта. Для 1.8 все проще, он идет в
комплекте с ядром, нужно не забыть его включить. Так же должны быть установлены библиотеки libmysqlclient15-dev, libmysql++-dev, libmysqld-dev если не установлены, ставим
Итак логинемся в базу
Создаем базу
# apt-get install libmysqlclient15-dev libmysql++-dev libmysqld-dev
Итак логинемся в базу
# mysql -u root -p
Enter
password
:
Welcome
to
the MySQL monitor. Commands
end
with
;
or
\g.
Your MySQL
connection
id
is
3
Server version: 5.0.77 Source distribution
Type
'help;'
or
'\h'
for
help. Type
'\c'
to
clear the buffer.
mysql>
Создаем базу
mysql>
create
database
asterisk;
Создаем в базе “asterisk” таблицу “cdr”, вот с такой структурой
mysql> use asterisk;
mysql>
CREATE
TABLE
`cdr` (
`id`
int
(9) unsigned
NOT
NULL
auto_increment,
`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
''
,
PRIMARY
KEY
(`id`),
KEY
`calldate` (`calldate`),
KEY
`accountcode` (`accountcode`),
KEY
`uniqueid` (`uniqueid`),
KEY
`dst` (`dst`),
KEY
`src` (`src`)
) ENGINE=InnoDB AUTO_INCREMENT=1
DEFAULT
CHARSET=latin1;
Теперь даем доступ для пользователя “asterisk” с паролем “mypassword″ к базе “asterisk” только с локалхоста.
mysql>
grant
all
on
asterisk.*
to
'asterisk'
@
'localhost'
identified
by
'mypassword'
;
mysql> flush
privileges
;
Теперь укажем нашему Астериску писать CDR базу, для этого в файле “/etc/asterisk/cdr_mysql.conf” меняем строчки:
[global]
hostname=localhost
dbname=asterisk
table=cdr
password=mypassword
user=asterisk
Для применения изменений перезапускаем “Asterisk”.
CLI> core restart now
Чтобы убедиться что мы все сделали правильно в консоле Астерсика вводим
*CLI> cdr mysql status
Connected to asterisk@localhost, port 3306 using table cdr for 33 minutes, 45 seconds.
Wrote 1 records since last restart.
Если у вас такое же сообщение то все настроено верно
взято с http://asterisk-system.ru/asterisk/asterisk-1-8-pishem-cdr-v-mysql-bazu.html
Комментариев нет:
Отправить комментарий