「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などと同じなので必要に応じて調整してください。