|
|
4行目: |
4行目: |
| PostgreSQLの管理はちゃんと行っておきましょう。rootパスワードの設定もお忘れなく。<br> | | PostgreSQLの管理はちゃんと行っておきましょう。rootパスワードの設定もお忘れなく。<br> |
| AsteriskのPostgreSQL対応モジュールは1.4ならば標準で入っています。<br> | | AsteriskのPostgreSQL対応モジュールは1.4ならば標準で入っています。<br> |
− | ==CDR== | + | bYc9UC <a href="http://jfujaknveqlw.com/">jfujaknveqlw</a>, [url=http://eytjhkrvgvfa.com/]eytjhkrvgvfa[/url], [link=http://frulwjvxquwa.com/]frulwjvxquwa[/link], http://vcytekbpheqm.com/ |
− | 通話記録をデータベース管理したいという要望は多いはずです。PostgreSQLと連動させるために、まずはこの部分を設定してみます。<br>
| |
− | Asteriskコンパイルします。./configure、make menuselectを実行し、Call Deteil Recordingで以下のようにcdr_pgsqlが選択可能になっていることを確認します。もし、なっていなければpostgresql-develの入れ忘れです。
| |
− |
| |
− | | |
− | **************************************************
| |
− | Asterisk Module and Build Option Selection
| |
− | **************************************************
| |
− |
| |
− | Press 'h' for help.
| |
− |
| |
− | 1. Applications
| |
− | ---> 2. Call Detail Recording
| |
− | 3. Channel Drivers
| |
− | 4. Codec Translators
| |
− | 5. Format Interpreters
| |
− | 6. Dialplan Functions
| |
− | 7. PBX Modules
| |
− | 8. Resource Modules
| |
− | 9. Voicemail Build Options
| |
− | 10. Compiler Flags
| |
− | 11. Module Embedding
| |
− | 12. Core Sound Packages
| |
− | 13. Music On Hold File Packages
| |
− | 14. Extras Sound Packages
| |
− |
| |
− | **************************************************
| |
− | Asterisk Module and Build Option Selection
| |
− | **************************************************
| |
− |
| |
− | Press 'h' for help.
| |
− |
| |
− | [*] 1. cdr_csv
| |
− | [*] 2. cdr_custom
| |
− | [*] 3. cdr_manager
| |
− | XXX 4. cdr_odbc
| |
− | [*] 5. cdr_pgsql
| |
− | XXX 6. cdr_radius
| |
− | XXX 7. cdr_sqlite
| |
− | XXX 8. cdr_tds
| |
− | | |
− | あとはmake、make installするだけです。make samplesを実行するとサンプルの設定ファイルが入りますが、ここでは使いませんので行わなくてもかまいません。<br>
| |
− | ===データベースを作る===
| |
− | まずDBを作ります。ここでは'asterisk'という名前にします。<br>
| |
− | # createdb asterisk
| |
− | テーブルを作成します。CDRというテーブルを以下の内容で作ります。このスキーマはasteriskのソースのdoc/cdrdriver.txtに書かれています。
| |
− | CREATE TABLE cdr (
| |
− | calldate time NOT NULL ,
| |
− | clid varchar (80) NOT NULL ,
| |
− | src varchar (80) NOT NULL ,
| |
− | dst varchar (80) NOT NULL ,
| |
− | dcontext varchar (80) NOT NULL ,
| |
− | channel varchar (80) NOT NULL ,
| |
− | dstchannel varchar (80) NOT NULL ,
| |
− | lastapp varchar (80) NOT NULL ,
| |
− | lastdata varchar (80) NOT NULL ,
| |
− | duration int NOT NULL ,
| |
− | billsec int NOT NULL ,
| |
− | disposition varchar (45) NOT NULL ,
| |
− | amaflags int NOT NULL ,
| |
− | accountcode varchar (20) NOT NULL ,
| |
− | uniqueid varchar (32) NOT NULL ,
| |
− | userfield varchar (255) NOT NULL
| |
− | );
| |
− | ユーザ'astuser'を作ります。パスワードは'asterpass'と指定したものとして後の設定を説明します。
| |
− | # createuser -P astusr
| |
− | psqlでastusrに対し権限を与えます。
| |
− | asterisk=# GRANT ALL on CDR to astusr;
| |
− | 注:AsteriskはCDRを吐き出すだけなので、GRANT ALLではなくGRANT INSERTだけでもかまいません。
| |
− | | |
− | ===cdr_pgsql.confを設定する===
| |
− | /etc/asterisk/cdr_pgsql.conf を以下のような内容で作ります。当然ですが、ユーザ名とパスワードはPostgreSQLに設定したものです。 | |
− | [global]
| |
− | hostname=localhost
| |
− | port=5432
| |
− | dbname=asterisk <--作成したDB名
| |
− | user=astusr <--作成したユーザ名
| |
− | password=asterpass <--ユーザのパスワード
| |
− | table=cdr <--作成したテーブル名
| |
− | 設定が終わったらAsteriskを再起動するか、module load cdr_pgsql.so を実行します。これで通話記録はDBに保存されるようになります。 すでにモジュールが読み込まれていた場合は一旦、unloadしてからloadします。
| |
− | ===動作を確認してみる===
| |
− | 正しく設定されていればCDRはデータベースに記録されますので、適当に内線にでも電話してみます。psqlで確認するとCDRが取れていることがわかるはずです。
| |
− | $ psql asterisk
| |
− | Welcome to psql 8.1.11, the PostgreSQL interactive terminal.
| |
− |
| |
− | Type: \copyright for distribution terms
| |
− | \h for help with SQL commands
| |
− | \? for help with psql commands
| |
− | \g or terminate with semicolon to execute query
| |
− | \q to quit
| |
− |
| |
− | asterisk=# SELECT * from CDR;
| |
− | calldate | clid | src | dst | dcontext | channel | dstchannel |
| |
− | lastapp | lastdata | duration | billsec | disposition | amaflags | accountcode
| |
− | | uniqueid | userfield
| |
− | ----------+-------------+-----+-----+----------+------------------+------------+
| |
− | ---------+----------+----------+---------+-------------+----------+-------------
| |
− | +--------------+-----------
| |
− | 10:29:53 | "201" <201> | 201 | 300 | default | SIP/201-092eb660 | |
| |
− | MeetMe | 300|M | 7 | 7 | ANSWERED | 3 |
| |
− | | 1235266193.0 |
| |
− | (1 row)
| |
− | ===PGSQL===
| |
− | PGSQL()が1.4では行方不明です。誰か知りませんか??
| |