ログインHome開発者サイト2013.06.24通話スクリーニング音声通話アプリケーションでは、番号リストに従って決まった順番に電話をかけることがよくあります。番目の番号にかけるような場合です。宛先の番号が応答したら、通話を受け付けるよう入力を促します。応答がない場合は次の電話番号へ移ります。Communications公式サイトにも紹介されておりますが、その応用編としてIVRを使うところをご紹介できればと思います。「$numbers」に複数の電話番号を設定します。このファイルがTwilioから呼ばれると分岐条件に満たす場合、配列に設定されている電話番号の順番で電話をかけます。Twilioはコールに対するステータスを「POST」で渡しますので、呼ばれたスクリプトからPOSTでステータスを取得できます。そのステータスが「completed」ではない場合、通話が成立されていないことを意味しますので、次の電話番号へ電話をかけるようになっています。Dail動詞にactionを指定することでDial動詞実行後設定されているurlに処理を渡します。Number動詞にurlを指定すると発信先に電話をかけた際の処理をそのurlに渡すことが可能です。url」から呼ばれます。「Number」に設定された発信先の電話番号に電話を掛けた際に実装する処理を書いておきます。Twilioはこのように一つのファイルだけではなくいろんなどころえのファイル分岐が可能です。このファイルでは単なるメッセージを再生していますが、分岐処理の実行文として各コマンドを設定すれば普通にコマンドを実行することが可能です。まとめ今回のサンプルはサーバー障害対応ツールとして開発しました。元々の処理サーバーから障害が発生すると1番目に設定されている電話番号に電話をかける。1番目の電話番号が留守番だったら2番目に設定されている電話番号に電話をかける。2番目の人が電話に出て「1」を押したらエスカレーションに電話をかける「2」サーバーを再起動する「3」仮想マシンを追加するこちらを応用すれば携帯でサーバーの障害をコントロールすることが可能で、あるボタンの操作で障害のレポートを作成させたりすることも可能です。