|
|
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では行方不明です。誰か知りませんか??
| |