VBVoiceで体験する電話プログラミング

この記事を読むのに必要な時間:およそ 5 分

基本サンプル“EZFlow”(イージーフロー)を動作させてみよう

サンプル実行の準備

それでは,さっそくサンプルを実行させてみましょう。正しくインストールできたかを確認するには,EZFlow(イージーフロー)という基本IVR(音声自動応答装置)のデモが便利です。\Pronexus\VBVoice\examples\dotNetExamples\Visual_Basic(C#)\EZFlowから,プロジェクトを開いてください。

図15 基本サンプルアプリケーション⁠EZFlow⁠を選択

図15 基本サンプルアプリケーション“EZFlow”を選択

プロジェクトを開く際,評価版で動作し,シュミレータモードだけで動作する旨の確認情報が表示されます。

図16 現在,評価モードで動作していることを示す警告表示

図16 現在,評価モードで動作していることを示す警告表示

図17は,EZFlowを開いた状態のVisual Studioです。通常の開発とほとんど同じであることに驚かれるかもしれません。通常のCTI開発ではスクリプトとにらめっこして作成する方法が多いのですが,VBVoiceではブロックを接続していく直感的な方法で開発を進めることができます。

このアプリの場合,電話が着信するたびに,左から右に向かって流れてゆく一連の動作が実行されます。各コントロールに関して,簡単に見てみましょう。

図17 EZFlowプロジェクト

図17 EZFlowプロジェクト

LineGroup(ライングループ)コントロール

LineGroupコントロールは,各電話の処理の⁠スタート地点⁠となります。使用する回線や,基本動作をここで設定します。

図18 LineGroupコントロール

図18 LineGroupコントロール

チャンネルモードを[通話応答]に設定すると,⁠電話が着信するたびに」このコントロールに処理が渡されます。⁠遅延後,通話開始]に設定すると,指定した秒数が過ぎてから,Dial(ダイアル)コントロールなどと連携させて電話をかける処理を始めることができます。

待機(何もしない)状態にするには,⁠アイドル」を選択します。また,T1回線やHMPなどのデジタル回線を使うのか,Dialogicボードなどでアナログ回線を使用するのかをここで設定します。

図19 LineGroupプロパティ

図19 LineGroupプロパティ

GetDigits(ゲットディジッツ)コントロール

電話中にどのプッシュフォンボタン(DTMF信号)を押したかを検出するコントロールです。ボタンに応じて条件分岐できます。Select case や switchと同じような動作と考えると分かりやすいかもしれません。

図20 GetDigitsコントロール

図20 GetDigitsコントロール

図21では,⁠1を押した場合⁠⁠,⁠2を押した場合⁠⁠,⁠#を押した場合」の3種類が登録されています。

図21 GetDigitsプロパティ

図21 GetDigitsプロパティ

PlayGreeting(プレイグリーティング)コントロール

PlayGreetingは,⁠メッセージ(グリーティング)を再生する」コントロールです。

図22 PlayGreetingコントロール

図22 PlayGreetingコントロール

メッセージの内容やボリュームは,図23のプロパティで編集します。マイクを使ってメッセージを録音するなどの簡単な編集作業はここから行うことが可能です。

図23 PlayGreetingプロパティ

図23 PlayGreetingプロパティ

OnHook(オンフック)コントロール

電話機の世界では,受話器を上げることを⁠OffHook⁠(オフフック⁠⁠,受話器を下ろす(=通話を終了する)ことを⁠OnHook⁠と呼びます。OnHookコントロールに到達すると,VBVoiceは通話を終了する処理に移り,その回の処理が終了します。

図24 OnHookコントロール

図24 OnHookコントロール

終了時にメッセージを再生する場合には,図25のコントロールのプロパティに直接指定できます。VBやC#のコードを書いて,メッセージを動的に変更することももちろん可能です。

図25 OnHookプロパティ

図25 OnHookプロパティ

バックナンバー

プログラミング