Asterisk 設定を MySQL に格納してリアルタイム変更

Asterisk は *.conf ファイルに設定をテキストファイル (/etc/asterisk/*.conf) に記述することで簡単に編集することができます。

しかし、設定の変更結果を反映するためには、CLIから構成を読み込ませたりと手間がかかります。

すばらしいことに、Asterisk はAsterisk リアルタイム アーキテクチャと呼ばれる
データベースに設定を持たせて変更を即座に反映する仕組みを提供しています。

ここでは、CDR(呼情報), sip.conf, extensions.conf を MySQL データベースへ格納する方法を実装します。

なお、Asterisk – オープンソースIP-PBX
までの設定ができていることを前提に記述しています。

1. Asterisk AddOns (アドオン)のインストール

Asterisk AddOns には、Asterisk 本体に取り込まれなかったドライバーやユーティリティが入っています。
その中に、CDR を MySQL へ格納するためのモジュールやリアルタイムをサポートするモジュールもありますので、
これをダウンロードしてビルド、インストールします。

2. Asterisk 設定用のMySQL データベースおよびテーブル作成

Asterisk 設定を格納するデータベースを作成し、
さらにCDR用と設定ファイル(sip.conf, extensions.conf) 用のテーブルを作成します。

3. CDR (呼情報) の移行

Asterisk の CDR (呼情報) はデフォルトでは CSV ファイルに保存されています(/var/log/asterisk/cdr-csv/)。
呼情報の問い合せなどが簡単になるのでデータベースに保存するこ とができます。
ここではCDRを MySQLデータベースの cdr テーブルへ移行し、活用できるようにします。

4. sip.conf の移行

sip.conf の設定を MySQL データベースの sip_buddies テーブルへ移行し、有効にします。

5. extensions.conf の移行

extensions.conf の設定を MySQL データベースの extensions テーブルへ移行し、有効にします。

以上です。