Asterisk研究

会社でAsteriskの本を三冊ほど買ってもらいました。

まだ本はこれからでネットで検索して情報を集めているところです。


第26回 Asteriskの設定―IVRを作ってみる
http://itpro.nikkeibp.co.jp/article/COLUMN/20071017/284822/?ST=network



AELというAsterisk内蔵のスクリプト言語があるようですね。
IVRなんかは記述できるようです
たとえば


Answer()
waitExten(30)
HangUp()

と書いておくと、着信したら接続→30秒DTMF待ち→切断


サービス分岐させたいときは


[main]
Answer()
waitExten(30)
HangUp()

[sub]
100,playback(hello)
HangUp()

みたいな感じに書くと、DTMF待ち中に携帯の100と三つ押すとDTMFでsubの100にイベントが来る
helloって音声ファイルを再生して、回線切断


回線制御はイベント駆動で非同期に書いてるけど、このスクリプトだと同期で書けるので楽ですね
状態は制限されるけど、

音声再生中にDTMFで分岐みたいなことも


background(voicefile)
waitExten(30)
HangUp()


とかしておけば音声ファイル再生後にbackgroundは非同期なんですぐに次の行が実行されて
DTMF30秒待ちになる。
その間にDTMFが来れば、イベントが定義されてればそっちに制御が移ると
これは楽だわ(^^;