差分

移動先: 案内検索

Asterisk+MySQL

3,891 バイト追加, 2009年2月19日 (木) 09:27
編集の要約なし
AsteriskとMySQLを連動させる設定など。<br>
MySQLのインストール方法は探せばいくらでもあります。CentOSならばyum install mysql mysql-serverを行えば入ります。<br>MySQLの管理はちゃんと行っておきましょう。rootパスワードの設定もお忘れなく。<br>なお、Addonsモジュールをコンパイルするにはmysql-develも必要なので、yum install mysql-develも行っておきます。<br>
==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

案内メニュー

VoIp-Info.jp

HP Directplus -HP公式オンラインストア-