Asterisk+PostgreSQLのソースを表示
←
Asterisk+PostgreSQL
移動先:
案内
、
検索
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、以下のグループのいずれかに属する利用者のみが実行できます:
登録利用者
、
管理者
。
このページは編集や他の操作ができないように保護されています。
このページのソースの閲覧やコピーができます。
<br> AsteriskとPostgreSQLを連動させる設定など。<br> PostgreSQLのインストール方法は探せばいくらでもあります。CentOSならばyum install postgresql postgresql-server php-pgsql postgresql-develを行えば入ります。<br> PostgreSQLの管理はちゃんと行っておきましょう。rootパスワードの設定もお忘れなく。<br> AsteriskのPostgreSQL対応モジュールは1.4ならば標準で入っています。<br> ==CDR== 通話記録をデータベース管理したいという要望は多いはずです。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では行方不明です。誰か知りませんか??
Asterisk+PostgreSQL
に戻る。
案内メニュー
個人用ツール
アカウント作成
ログイン
名前空間
ページ
議論
変種
表示
閲覧
ソースを表示
履歴表示
その他
検索
VoIp-Info.jp
案内
メインページ
最近の更新
全ページ
おまかせ表示
ヘルプ
要望
広告
サイトコンテンツ
コミュニティ
Asterisk
Asterisk 18
Asterisk 20
Asterisk 22
IP電話機
購入情報
便利ツール
導入事例
回線接続
ベンダー
ひかり電話
セキュリティ
イベント情報
スペシャル
Asterisk pjsip
ABS
黒電話 ハック
ユーザ登録
ログイン/登録
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報