Revision 3 as of 2014-05-20 00:28:12

Clear message
Locked History Actions

asterisk/Java

Asterisk-Java

AGIはasterisk側からスクリプトを必要な時にその都度キックして呼び出すものだが、当然この方式では起動時間のコストがかかる。 FastAGIは「サーバ」に対してTCPポートで要求を送信して結果を得るもの。 要するに、ウェブサイトにおけるCGI呼び出しからサーブレットへの変更のようなものと思えばよい。

Asterisk-Javaは、そのFastAGIプロトコルを解するJava製のサーバ。Asterisk-Javaを使うということは、要するにサーブレットコンテナにデプロイする サーブレットを開発するようなもの。

ダウンロード等

使い方

上に利用方法が簡単に記述されているが、これはとてもわかりにくい。簡単に言えばこれは、「サーブレットコンテナ」であるということ。 したがって、Javaのmainメソッドは、asterisk-java.jarの中にある。具体的には、org.asteriskjava.fastagi.DefaultAgiServerクラスのmainメソッドを用いる。

そして、自分で開発した「サーブレット」に名前をつけ、それを呼び出してもらうことになる。この「名前のマッピング」はfastagi-mapping.propertiesにて行う。

asterisk側では、その名前を指定して呼び出すことになる。

DefaultAgiServerについて

このライブラリのmainメソッドを利用しない、あるいはfastagi-mapping.propertiesによるマッピングを行わないことも可能である。 これはDefaultAgiServerのソースをみればすぐにわかる。以下では、プログラ中でマッピングを行い、明示的にDefaultAgiServerを作成して実行する方法を示す。