Asterisk Realtime

2024年11月26日 (火) 14:45時点におけるTakahashi (トーク | 投稿記録)による版 (DBの作成)

Asterisk Realtime Architecture(ARA)

Asteriskの内部処理をリアルタイム化するものではないので注意してください。Realtime Linux等とは意味が異なります。
Asterisk Realtimeは各種設定ファイルやデータをAsteriskがリアルタイム処理する機能のことで、Asterisk 1.2から正式に実装されました。

このリアルタイムを簡単に説明すると次のようになります。
例えば通常はpjsip.confのようにAsteriskの設定ファイルとしてSIPエンドポイントの情報を記述し、これを有効にするためにはAsteriskのreload等のコマンドを実行する必要があります。設定は設定ファイルに記述しただけでは反映されず、明示的にコマンドで再読み込みを行う必要があります。
Asterisk Realtimeでは設定ファイルの内容を外部リソースを使うことで、設定を即時に反映させます。例えばよく使われる方法は、MySQLをデータベース・エンジンとし、SIPエンドポイントのデータベースを持たせることで、Asteriskはエンドポイント情報をDBから取得し、これを使って認証等の処理を行います。設定情報はDBにPUTされた時点で反映されるため、モジュールのリロード等の処理は必要ありません。

DBの作成

MariaDB(MySQL)を例にとって進めます。まずDBを'asterisk'という名前で作っておきます。

mysql -u root -p
MariaDB [(none)]> create database asterisk;

ユーザ、asteriskをパスワードastpassでつくりasterisk DBに対して全権限を与えます。

MariaDB [(none)]> CREATE USER 'asterisk'@'localhost' IDENTIFIED BY 'astpass';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON asterisk.* TO 'asterisk'@'localhost';