「Asterisk+MySQL」の版間の差分
新しいページ: 'AsteriskとMySQLを連動させる設定など。<br> MySQLのインストール方法は探せばいくらでもあります。CentOSならばyum install mysql mysql-serverを...' |
細編集の要約なし |
||
1行目: | 1行目: | ||
AsteriskとMySQLを連動させる設定など。<br> | AsteriskとMySQLを連動させる設定など。<br> | ||
MySQLのインストール方法は探せばいくらでもあります。CentOSならばyum install mysql mysql-serverを行えば入ります。 | MySQLのインストール方法は探せばいくらでもあります。CentOSならばyum install mysql mysql-serverを行えば入ります。<br> | ||
MySQLの管理はちゃんと行っておきましょう。rootパスワードの設定もお忘れなく。<br> | |||
なお、Addonsモジュールをコンパイルするにはmysql-develも必要なので、yum install mysql-develも行っておきます。<br> | |||
==CDR== | ==CDR== | ||
通話記録をデータベース管理したいという要望は多いはずです。MySQLと連動させるために、まずはこの部分を設定してみます。<br> | |||
Asterisk-addonsを入手し、コンパイルします。./configure、make menuselectを実行し、Call Deteil Recordingで以下のようにcdr_addon_mysqlが選択可能になっていることを確認します。もし、なっていなければmysql-develの入れ忘れです。 | |||
**************************************** | |||
Asterisk-addons Module Selection | |||
**************************************** | |||
Press 'h' for help. | |||
1. Applications | |||
---> 2. Call Detail Recording | |||
3. Channel Drivers | |||
4. Format Interpreters | |||
5. Resource Modules | |||
**************************************** | |||
Asterisk-addons Module Selection | |||
**************************************** | |||
Press 'h' for help. | |||
[*] 1. cdr_addon_mysql | |||
ChannelのH.323はコンパイルに時間がかかるので、要らなければmenuselectで外しておいてください。<br> | |||
あとはmake、make installするだけです。make samplesを実行するとサンプルの設定ファイルが入りますが、ここでは使いませんので行わなくてもかまいません。<br> | |||
===データベースを作る=== | |||
まずDBを作ります。ここでは'asterisk'という名前にします。<br> | |||
mysqlフロントエンドを起動し、以下のようにDBを作り、ユーザ'astuser'に全てのアクセス権を与えることにします。この際のパスワードは'asterpass'にしてみます。<br> | |||
# 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.45 Source distribution | |||
Type 'help;' or '\h' for help. Type '\c' to clear the buffer. | |||
mysql> create database asterisk; | |||
Query OK, 1 row affected (0.00 sec) | |||
mysql> grant all privileges on asterisk.* to astuser@localhost identified by 'asterpass'; | |||
Query OK, 0 rows affected (0.00 sec) | |||
次にテーブルを作成します。テーブルのスキーマはAddonsを展開したディレクトリの下、docsの下にあるcdr_mysql.txtに入っていますが、面倒なので以下をコピー&ペーストしてmysqlに流し込めばよいでしょう。<br> | |||
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 '', | |||
uniqueid varchar(32) NOT NULL default '', | |||
userfield varchar(255) NOT NULL default '' | |||
); | |||
quit | |||
これでDBの準備は完了です。 | |||
===cdr_addon_mysqを設定する=== | |||
以下を参考に、/etc/asteriskに cdr_mysql.conf という名前でファイルを作成します。 | |||
[global] | |||
hostname=localhost | |||
dbname=asterisk <--上で作成したDB名 | |||
table=cdr <--上で作成したテーブル名 | |||
password=asterpass <--上で設定したDBユーザのパスワード | |||
user=astuser <--上で設定したDBユーザ名 | |||
port=3306 | |||
sock=/var/lib/mysql/mysql.so |
2009年2月19日 (木) 09:27時点における版
AsteriskとMySQLを連動させる設定など。
MySQLのインストール方法は探せばいくらでもあります。CentOSならばyum install mysql mysql-serverを行えば入ります。
MySQLの管理はちゃんと行っておきましょう。rootパスワードの設定もお忘れなく。
なお、Addonsモジュールをコンパイルするにはmysql-develも必要なので、yum install mysql-develも行っておきます。
CDR
通話記録をデータベース管理したいという要望は多いはずです。MySQLと連動させるために、まずはこの部分を設定してみます。
Asterisk-addonsを入手し、コンパイルします。./configure、make menuselectを実行し、Call Deteil Recordingで以下のようにcdr_addon_mysqlが選択可能になっていることを確認します。もし、なっていなければmysql-develの入れ忘れです。
**************************************** Asterisk-addons Module Selection **************************************** Press 'h' for help. 1. Applications ---> 2. Call Detail Recording 3. Channel Drivers 4. Format Interpreters 5. Resource Modules **************************************** Asterisk-addons Module Selection **************************************** Press 'h' for help. [*] 1. cdr_addon_mysql
ChannelのH.323はコンパイルに時間がかかるので、要らなければmenuselectで外しておいてください。
あとはmake、make installするだけです。make samplesを実行するとサンプルの設定ファイルが入りますが、ここでは使いませんので行わなくてもかまいません。
データベースを作る
まずDBを作ります。ここでは'asterisk'という名前にします。
mysqlフロントエンドを起動し、以下のようにDBを作り、ユーザ'astuser'に全てのアクセス権を与えることにします。この際のパスワードは'asterpass'にしてみます。
# 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.45 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> create database asterisk; Query OK, 1 row affected (0.00 sec) mysql> grant all privileges on asterisk.* to astuser@localhost identified by 'asterpass'; Query OK, 0 rows affected (0.00 sec)
次にテーブルを作成します。テーブルのスキーマはAddonsを展開したディレクトリの下、docsの下にあるcdr_mysql.txtに入っていますが、面倒なので以下をコピー&ペーストしてmysqlに流し込めばよいでしょう。
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 , uniqueid varchar(32) NOT NULL default , userfield varchar(255) NOT NULL default ); quit
これでDBの準備は完了です。
cdr_addon_mysqを設定する
以下を参考に、/etc/asteriskに cdr_mysql.conf という名前でファイルを作成します。
[global] hostname=localhost dbname=asterisk <--上で作成したDB名 table=cdr <--上で作成したテーブル名 password=asterpass <--上で設定したDBユーザのパスワード user=astuser <--上で設定したDBユーザ名 port=3306 sock=/var/lib/mysql/mysql.so