「Asterisk CDR SQLite」の版間の差分

提供: VoIP-Info.jp
移動先: 案内検索
(ページの作成:「CDRをSQLite3で保存する方法 ==前提となるパッケージ== CentOSの場合、以下のパッケージが必要です。 sqlite sqlite-devel Asteriskの./co...」)
 
(設定)
 
6行目: 6行目:
 
Asteriskの./configureを実行しなおしmake menuselectでCall Detailed Recordingのcdr_sqlite3_customが有効になっていることを確認し、モジュールのインストールを行ってください。
 
Asteriskの./configureを実行しなおしmake menuselectでCall Detailed Recordingのcdr_sqlite3_customが有効になっていることを確認し、モジュールのインストールを行ってください。
 
==設定==
 
==設定==
 +
ソースの./configsにcdr_sqlite3_costom.conf.sampleがあるので、それを参考に<br>
 
cdr_sqlite3_custom.conf
 
cdr_sqlite3_custom.conf
 
  [master] ; currently, only file "master.db" is supported, with only one table at a time.
 
  [master] ; currently, only file "master.db" is supported, with only one table at a time.
12行目: 13行目:
 
  values  => '${CDR(start)}','${CDR(clid)}','${CDR(dcontext)}','${CDR(channel)}','${CDR(dstchannel)}','${CDR(lastapp)}','${CDR(lastdata)}','${CDR(duration)}','${CDR(billsec)}','${CDR(disposition)}','${CDR(amaflags)}','${CDR(accountcode)}','${CDR(uniqueid)}','${CDR(userfield)}','${CDR(test)}'
 
  values  => '${CDR(start)}','${CDR(clid)}','${CDR(dcontext)}','${CDR(channel)}','${CDR(dstchannel)}','${CDR(lastapp)}','${CDR(lastdata)}','${CDR(duration)}','${CDR(billsec)}','${CDR(disposition)}','${CDR(amaflags)}','${CDR(accountcode)}','${CDR(uniqueid)}','${CDR(userfield)}','${CDR(test)}'
 
現在のところDB名はmaster.dbです。テーブルは上のように設定しているのでcdrになります。
 
現在のところDB名はmaster.dbです。テーブルは上のように設定しているのでcdrになります。
 +
 
==確認==
 
==確認==
 
  sqlite3 /var/log/asterisk/master.db
 
  sqlite3 /var/log/asterisk/master.db

2012年2月5日 (日) 17:46時点における最新版

CDRをSQLite3で保存する方法

前提となるパッケージ

CentOSの場合、以下のパッケージが必要です。

sqlite
sqlite-devel

Asteriskの./configureを実行しなおしmake menuselectでCall Detailed Recordingのcdr_sqlite3_customが有効になっていることを確認し、モジュールのインストールを行ってください。

設定

ソースの./configsにcdr_sqlite3_costom.conf.sampleがあるので、それを参考に
cdr_sqlite3_custom.conf

[master] ; currently, only file "master.db" is supported, with only one table at a time.
table   => cdr
columns => calldate, clid, dcontext, channel, dstchannel, lastapp, lastdata, duration, billsec, disposition, amaflags, accountcode, uniqueid, userfield, test
values  => '${CDR(start)}','${CDR(clid)}','${CDR(dcontext)}','${CDR(channel)}','${CDR(dstchannel)}','${CDR(lastapp)}','${CDR(lastdata)}','${CDR(duration)}','${CDR(billsec)}','${CDR(disposition)}','${CDR(amaflags)}','${CDR(accountcode)}','${CDR(uniqueid)}','${CDR(userfield)}','${CDR(test)}'

現在のところDB名はmaster.dbです。テーブルは上のように設定しているのでcdrになります。

確認

sqlite3 /var/log/asterisk/master.db
SQLite version 3.3.6
Enter ".help" for instructions
sqlite> select * from cdr;
1|2012-02-05 17:16:16|"201" <201>|default|SIP/201-00000000||MeetMe|300,M|1|1|ANSWERED|DOCUMENTATION||1328429776.0||
2|2012-02-05 17:19:47|"201" <201>|default|SIP/201-00000000||MeetMe|300,M|7|7|ANSWERED|DOCUMENTATION||1328429987.0||

こんな感じで記録されます。項目はmaster.csvなどと同じなので必要に応じて調整してください。