プロフィール

けい

Author:けい
公開したWebサービス・アプリ一覧はこちら

※2014年12月、私が個人で開発したWebサービス・アプリへの
累計アクセス数は8億を超えました。
負荷対策頑張ります。日々精進していきます!!


■■■ 業務経歴 ■■■
社会人1年目:携帯電話開発。画面周りを1年間
2年目 :海外向け携帯電話ミドルウェア開発
     ブラウザとプロトコルスタック周り
2年目後半~:携帯電話の通信専用チップ開発
3年目:カーナビ。画面周りの開発
3年目後半~:BDビデオカメラ
     組み込みLinux カーネルと
     ドライバの開発。
4年目12月:プロジェクト途中で退社
~ここまではC、またはC++で開発~

~ここからJavaがメインの開発~
4年目1月:Web系の会社に転職
       ~4ヶ月間の研修
5年目5月:製造業向け生産管理システム開発
6年目9月:証券会社向けシステム開発
7年目10月~携帯電話向けコミックサイトの運用・開発
8年目12月:プロジェクト途中で退社

~ここからPHPがメインの開発~
8年目1月~仲介手数料が無料の不動産屋の社内SEに転職
交渉しほぼ完全に裁量労働が可能な立場になる。
業務内容はシステム全般ですが、
最近はSEO対策の作業が多いです。
現在14年目 まだ、しばらくはこの会社に居るつもりです。

あと、全ての記事がリンクフリーです。

最近の記事

過去ログ

全ての記事を表示する

全ての記事を表示する

カテゴリー

FC2カウンター

RSSフィード

Asterisk のAGIやAEL使っていますか?

掲題の件ですがみなさん、AGIやAELを使用していますか?
私は今のところ、以下の理由からほとんど必要性を感じていません。

AELを使用しない理由
・ファイルベースであり、編集後に再読み込みが必要となる
・DBを使用したほうがより管理しやすい(priorityの記載がめんどくさいが)

AGIを使用しない理由(Asterisk のアプリケーション"System"を使用しないのも同じ理由)
・戻り値が状態としてしか取れないため、AGI内でExtensionの処理を完了させる必要がある
・Extensionとは別にソースファイルを見なければ何をやっているのかわからない
・参照系の若干複雑な処理くらいならば、extensionからDBのクエリーを発行できるので、
 それで十分まかなえる。

 そしてAGIを使用しない最大の理由がcurlを使用すれば、ほぼ代替可能だと思っているから。
curlの利点
・関数として動作するので、Extensionがより柔軟に簡潔に記載できる。
・好きな戻り値が取れる
・独自の構文をまったく覚えることなく既存のWeb技術が使用できる

Asteriskアプリケーションの実行はcurlから呼び出されるプログラム上からはできないが、
Asteriskアプリケーションの実行のみをextensionに任せて、計算はcurlとしてしまうほうが
AGIに依存しすぎないぶんよりスマートだと感じるし、extensionだけを見て処理が追える。

よって、戻り値を必要としない簡単なアプリケーション、またはExtensionを使用せずに
AGIに全て書くという方針ならばAGIを使用してもよいと思うのですが(この方針ならAsteriskの再起動不要で色々いじれます)、
それ以外の場合にはExtensionが読みづらくなるため、
AGIの使用は避けたほうがいいのではよいのではないかと思います。

ちなみに、私がAGIやSystemアプリケーションを使用しているのは
非同期処理の起点として実行する場合のみです。
Extensionから呼び出されるAGIプログラム内で非同期処理を呼び出して
AGIプログラムは即座に終了。
その後の処理はExtensionと非同期プログラムが並列して行うなど。

AsteriskのExtensionに記載できる処理は同期処理のみであり、
非同期の処理はAsterisk1.4では外部アプリケーションを使用しなければなりません。
(Asterisk 1.6からAsync AGI(非同期AGI)が加わったことからも、
その必要性はわかると思います。)
スポンサーサイト
コメント(0)   2009.06.07    [ Myカテゴリ:技術の話 ]

コメントの投稿













管理者にだけ表示を許可する

Template Designed By
ぐらいんだぁ