「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