Asterisk ゲートウェイ インターフェイス( AGI ) は、 Asterisk PBXの選択された機能をアプリケーション レベルで制御するためのソフトウェア インターフェイスおよび通信プロトコルです。
AGI を使用すると、パイプ経由で Asterisk ダイヤル プランから起動された外部のユーザー作成プログラムが、関連付けられた制御チャネルと音声チャネルの電話操作を制御できます。これは、stdinとstdout経由で Asterisk と通信する外部プログラムを任意の言語で記述できるという点で、 Web サーバーのCGI機能に似ています。
AGI の初期の機能セットには、コマンドと応答ハンドシェイクを介した Asterisk 操作の手順制御のみが含まれていましたが、Enhanced AGI (EAGI) では、着信オーディオ ストリームへの帯域外アクセスも提供されました。
FastAGIはAGIの拡張機能で、外部プログラムを別のネットワークホストで実行できるようにすることで、Asteriskサーバーへの呼び出しごとに新しいプロセスを作成するオーバーヘッドを回避します。クライアントサーバーモデルの方法で、AGIサービスの機能を提供する外部ホストとの通信にTCPソケットを使用します。FastAGIのデフォルトのTCPポートは4573です。[1] HTTPのURI( uniform resource identifier )と同様に、FastAGIは次のURI形式を採用しています。 agi://ホスト名[:ポート][/プログラム/パス]。
Asterisk の AGI 機能セットは、Asterisk ロード可能モジュール ( res_agi ) として実装されています。これらの機能には、phpagi、Perl AGI ライブラリ、CAGI、NanoAGI、PyST など、さまざまな言語のさまざまなアプリケーション プログラミング インターフェイスからアクセスできます。
参考文献
- ^ 「FastAGI() — ネットワーク接続を介して AGI 準拠のスクリプトを実行します - Asterisk: The Future of Telephony、第 2 版 [書籍]」。www.oreilly.com 。2023 年 8 月 3 日閲覧。
