Cisco Unity Express 7.0 スクリプト作成ガイド
Script Editor の概要
Script Editor の概要
発行日;2012/01/30 | 英語版ドキュメント(2010/05/03 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 5MB) | フィードバック

目次

Script Editor の概要

スクリプト記述の概念

変数

パラメータ

演算子

フロー制御ステップ

スクリプトのエラー処理

プロンプト

トリガー

AA サンプル スクリプト

IVR オプションの選択

スクリプトの設計

スクリプトの検証およびテスト

スクリプトの作成テクニック

用語

関連資料

CiscoUnityExpress 関連のマニュアル

関連する Cisco IOS マニュアル

テクニカル サポート

マニュアルの入手方法、テクニカル サポート、およびセキュリティ ガイドライン

Script Editor の概要

このマニュアルでは、Cisco Unity Express 7.0 Script Editor を使用して Auto Attendant(AA; 自動受付)スクリプトを記述する方法の概要を説明します。また、AA サンプル スクリプトの行ごとの解説やスクリプト ステップの参照情報も記載されています。

IVR(interactive voice response; 自動音声応答)オプションは、Cisco Unity Express に統合されている、個別にライセンスされたオプションです。ここで説明する IVR に関する機能は、別売の IVR ソフトウェア ライセンスを購入いただいた場合にのみ使用可能です。

スクリプトを使用すると Cisco Unity Express の AA および IVR 機能をカスタマイズできます。スクリプトでは、入力を受信し、決定を下し、タスクを実行します。Cisco Unity Express Script Editor を使用することで、ユーザ入力を受信するための変数を識別し、決定に必要な条件(または選択肢)を作成し、それらの決定に基づいてどのタスクを実行するかを判別します。

ルータ モジュールに格納されたスクリプトは、ユーザからの要求に応答して、または事前に決定された条件に基づいて実行されます。スクリプトを使用して、発信者に録音済みのオーディオ メッセージを送信したり、追加のアクションの実行を要求したりすることができます。たとえば、発信者が会社の営業時間外に電話をかけた場合は、発信者に対して、営業時間を通知する録音メッセージが再生されるか、または伝言を残すためのプロンプトが送信されます。このメッセージとプロンプトは、Cisco Unity Express ソフトウェアがスクリプトを実行した結果です。

スクリプトの高度な使用方法として、銀行の口座残高の確認があります。たとえば、電話のキーパッドを使用して口座番号を入力するように要求するプロンプトを発信者に送信します。その後、発信者は、口座残高を伝えるオーディオ メッセージを受け取ります。

この章は、次の各項で構成されています。

「スクリプト記述の概念」

「スクリプトの作成テクニック」

「用語」

「関連資料」

「マニュアルの入手方法、テクニカル サポート、およびセキュリティ ガイドライン」

スクリプト記述の概念

この項では、スクリプトを記述する際に使用する主要な概念について説明します。

変数

データを保持するためにプログラム内で変数を使用します。スクリプトで使用する各変数に名前と型を指定する必要があります。変数名には、変数が保持するデータを示す名前を使用します。変数の型によって、その変数が保持できるデータ型(text、integer など)とデータに対して実行できる操作が決まります。

パラメータ

パラメータは、変数のプロパティです。これによって管理者は、Cisco Unity Express Web インターフェイスで変数を表示できます。その後、スクリプトを編集しないで変数を変更でき、変更後は再び Cisco Unity Express モジュールにアップロードできます。

演算子

演算子は、演算を実行し値を返します。戻り値とその型は、演算子と演算子が操作したデータ型によって異なります。たとえば、増分演算子(増分ステップ)は、値に 1 を追加します。

変数および演算子は、スクリプトの基本的な構成要素です。変数と演算子を組み合せて式を形成できます。式を使用して、計算したり、値を返したり、またはスクリプトのフローを制御したりできます。

フロー制御ステップ

フロー制御ステップは、スクリプトの実行順序を指示します。フロー制御ステップには、If、Switch、Goto などのステップがあります。

フロー制御ステップがない場合、スクリプトはこれらのステップを Design ペインに表示される順序で上から下に実行します。スクリプト内でフロー制御を使用することで、条件に従ってステップを実行できます。つまり、ステップのブロックを繰り返し実行したり、それ以外の場所で通常のスクリプトの順次フローを変更したりできます。

制御ステップは、特定の方法で処理するようにスクリプトに指示します。たとえば、特定の条件を満たす場合にのみ、一連のステップを実行する場合に使用します。

フロー制御は、次のステップを使用して実行します。

If:後続の条件 x を満たす場合に、後続のタスク y を実行します。

Switch:条件に一致すると、複数のタスクの中からいずれかを実行します。

Goto:スクリプトは Goto ステップに到達すると、実行を停止し、指示されたスクリプト内の次のポイントから続行します。

スクリプトのエラー処理

エラー処理は、スクリプトが事前に決定されたシーケンスでの実行を停止したり、予期しない結果を受け取った場合やタスクを正常に完了しなかった場合に実行を継続したりする方法を提供します。

プロンプト

プロンプトは、ルータのオーディオ ファイルとして存在し、 greeting.wav のように .wav ファイル拡張子を持ちます。Cisco Unity Express Script Editor では、次の 2 種類のプロンプトを使用します

システム プロンプト:シスコのモジュールおよびシスコのサンプル スクリプトによって内部で使用されます。

ユーザ プロンプト:ユーザが定義し、管理者によって管理されます。管理者は、Cisco Unity Express GUI 管理インターフェイスの [Voice Mail] > [Prompts] を使用するか、Administration via Telephone(AvT)を呼び出すことによって管理します。

トリガー

トリガーとは、アプリケーションを実行させる特定のイベントまたは条件です。単一のアプリケーションに対して複数のトリガーが存在する場合があります。Cisco Unity Express では多数のトリガーが自動的に作成されます。

たとえば、内線番号 1000 に電話をかけると、Cisco Unified Communications Manager Express(旧 Cisco Unified CallManager Express)は、この通話を Cisco Unity Express に転送します。そこで、通話のトリガーが検索され、関連付けられているアプリケーションが起動されます。

AA サンプル スクリプト

自動受付(AA)サンプル スクリプトは、Cisco Unity Express Script Editor に含まれているサンプル スクリプト aa_sample1.aef を使用して、自動受付スクリプトを設定する基本的な手順を示します。自動受付スクリプトの詳細については、 「自動受付スクリプトの例」 の章を参照してください。

IVR オプションの選択

ここで説明する Cisco Unity Express IVR ソフトウェアに関する機能は、別売の IVR ソフトウェア アドオン パッケージを個別に購入いただいた場合にのみ使用可能です。

Cisco Unity Express IVR ソフトウェアを使用すると、電話の発信者は、音声メニューからオプションを選択したり、それ以外の方法で Cisco Unity Express システムとやり取りしたりすることができます。システムが録音済みの音声プロンプトを再生し、発信者はそれに従って電話のキーパッドの数字を押してオプションを選択します。

IVR オプションを選択するには、次の手順を実行します。


ステップ 1 Cisco Unity Express ツールバーから [Tools] > [Options] を選択します。 に示す Cisco Unity Express [Options] ウィンドウが表示されます。

図 1 Cisco Unity Express [Options] ウィンドウ

 

ステップ 2 [Hostname] フィールドにホストの DNS ホスト名または IP アドレスを入力します。

ステップ 3 [Enable IVR steps] チェックボックスをオンにします。

ステップ 4 [OK] をクリックします。

[Palette] ペインにスクリプトの作成に必要な追加の IVR ステップが表示されます。


 

スクリプトの設計

スクリプトの設計には、通話フローの記述、スクリプト ステップと通話フローのマッピング、スクリプトの検証、システムでのスクリプトのテストが含まれます。

次の単純なシナリオは、スクリプト設計の手法を示しています。 表 1 で、このシナリオにおける通話フローのスクリプト ステップを一覧にして説明します。この場合、スクリプトは次の操作を実行します。

1. 通話に応答します。

2. 緊急時のオプション グリーティングがあるかどうかを確認します。

3. 現在の時刻が通常の営業時間内であるかどうかを確認します。

4. 予期しないユーザ アクションまたはスクリプト アクションであるかどうかを確認します。

5. 現在時刻が通常の営業時間でない場合は、カスタム グリーティングを再生し、発信者をオペレータに転送します。

6. 現在時刻が通常の営業時間内の場合は、名前のダイヤルは 1、内線番号のダイヤルは 2、オペレータへのダイヤルは 0 のいずれかをダイヤルするように要求するメニュー プロンプトを発信者に対して再生します。

内線番号のダイヤル オプションを使用すると、発信者はダイヤルされた番号ではなく、指定された範囲内のいずれかの番号に転送されます。

7. 発信者が Main Menu に再ルーティングされた回数を確認します。

8. 必要に応じて Menu ステップに追加します。

9. エラー条件を処理します。

通話フローは、通話中に発生するイベントの記述です。通話フローを詳細に記述しておくことで、Script Editor で使用するステップを把握し、スクリプト内のロジックの不備を回避できます。このシナリオの通話フローでは、内線番号の範囲は 200 ~ 299 です。エラー処理ブランチをさらに追加することができます。たとえば、発信者が複数回転送に失敗した場合、スクリプトは「Try again later」プロンプトを再生して通話を切断します。

 

表 1 通話フローとスクリプト ステップのマッピング

通話フロー
スクリプト ステップ

ステップ 1

通話に応答します。

Contact グループで Accept ステップを使用して通話に応答します。

ステップ 2

オプション グリーティング プロンプトがあるかどうかを確認します。

ある場合は、それを再生します。

0.5 秒の遅延プロンプト(DP[500])を再生し、オーディオ プロンプトの認識可能なクリッピングを回避します。PSTN へのオーディオのカットスルーが十分な早さで実行されないと、発信者がプロンプトの最初の部分を聞き取れないことがあります。

ステップ 3

今日が休日かどうかを確認します。

休日の場合は、休日用のプロンプトを再生し Main Menu に進みます。

ステップ 4

プロンプトの例外を検索します。

例外とは予期しないユーザ アクションまたはスクリプト アクションです。プロンプトの例外は、スクリプトが存在しないプロンプトの再生を試みていることを示します。このような状態であるかどうかを調べるには、UndefinedPromptException ステップを使用します。この例外は、プロンプトを再生するステップの [Continue On Prompt Errors] プロパティが [No] に設定されている場合にのみ発生します。このプロパティが [Yes] に設定されている場合は、プロンプトは再生されず、例外は生成されません。

ステップ 5

現在時刻が営業時間内であるかどうかを確認し、該当する(時間内または時間外)プロンプトを再生します。Main Menu に進みます。

初期プロンプトを再生します。

Holiday ステップを使用して今日が休日であるかどうかを確認し、次に実行する操作を決定します。

Business Hours ステップを使用して、営業時間内に通話を受信したかどうかを確認します。営業時間内に通話を受信した場合は、初期グリーティング プロンプトを再生します。それ以外の場合は、時間外グリーティングを再生します。営業時間は、Cisco Unity Express Web 管理者インターフェイスを通じて設定できます。

ステップ 6

Main Menu は、発信者が時間に関係なく内線番号を入力できるプロンプトを再生します。発信者は、1 を押すとディレクトリ内の呼び出し先を検索でき、0 を押すとオペレータにつなぐことができます。有効な内線番号はすべて 2 で始まるため、2 を押すと Dial-by-extension ステップに分岐します。

Label ステップを使用して Main Menu セクションを作成します。

ステップ 7

発信者が Main Menu を使用した回数を確認します。発信者が Main Menu を使用した回数を追跡することで、発信者がループに陥るのを防ぎ、より役立つオプションを発信者に提供できます。

If ステップを使用してカウンタを作成します。

カウンタは発信者が Main Menu セクションを使用した回数を追跡します(この例では 3 回)。カウンタは、Attempts と MaxRetries の 2 つの変数を比較して動作します。

[Variables] ペインで変数を設定します。Attempts は integer 変数として作成され、初期値は 0 です。MaxRetries は、初期値が 3 の integer 変数として設定されます。

Main Menu の最後に Increment ステップを使用して、Attempts の現在値に 1 を追加します。発信者が Main Menu に進むたびに Attempts 変数の値は 1 ずつ増えます。Attempts 変数の値が 3 まで増えると、If ステップが True ブランチを実行します。

ステップ 8

Main Menu プロンプトを再生します。

Menu ステップを使用して基本メニュー プロンプトを追加します。たとえば、次のプロンプトを追加します。「If you know your party's extension, please dial it now.For spell-by-name, press 1, for an operator press 0, to repeat these options, press 9.」

Menu ステップの [Maximum Retries] を 0 に変更します。0 に変更しないと、このステップがタイムアウトするたびに「Are you still there?」というシステム プロンプトが発信者に対して再生されます。

発信者が 1、2、9、0 以外を押すと Unsuccessful ブランチに入ります。「The extension entered is invalid」プロンプトが再生されます。スクリプトは Increment ステップを続行し、その後 GoTo ステップに進みます。ここでスクリプトの実行が Main Menu の Label ステップに戻ります。

発信者が Menu や Play などの Media ステップで数字を入力した場合にオーディオ プロンプトを確実に停止させるには、ステップの [Prompt] プロパティの [Barge In] フィールドを確認します。[General] プロパティの [Interruptible] フィールドは Cisco Unity Express には適用されません。

ステップ 9

エラー ブランチを追加してエラー条件を処理します。

通話が正常に完了しなかった場合、スクリプトは Sorry というラベルが付いたエラー処理セクションに進みます。次のプロンプトが再生されます。「Sorry, we are unable to complete your call at this time.Please try again later.」その後 Terminate ステップで通話が切断されます。

エラー処理ブランチをさらに追加することができます。たとえば、発信者が複数回転送に失敗した場合、スクリプトは「Try again later」プロンプトを再生して通話を切断します。

スクリプトの検証およびテスト

スクリプトをデバッグするには、通常のユーザ入力、タイムアウト、予期されるエラー条件など、さまざまなシナリオで動作を検証します。

スクリプトをアップロードする前に、Cisco Unity Express Script Editor の Validate ツールを使用して Validation Succeeded メッセージが表示されることを確認します。エラーは [Debug] ペインに表示されます。エラーをダブルクリックすると、スクリプト内のエラー条件を検索できます。

Cisco Unity Express システムにスクリプトをアップロードしたら、デフォルトのトレースを使用して問題を解決します。EXECUTING_STEP フィルタを使用すると、実行されたスクリプト ステップだけがトレースに表示されます。直前のトレース メッセージをクリアするには、 show trace コマンドを使用する前に、 clear trace コマンドを使用します。次の例を参考にしてください。

clear trace
Make a test call.
show trace buffer long | include EXECUTING_STEP

スクリプトの作成テクニック

NameToUser ステップの [Maximum Retries] を [0] または [1] に設定している場合は、Terminating Key 文字を使用する必要があります。Terminating Key 文字がないと、ステップはこのステップの Successful ブランチに進みません。代わりに、条件が一致した場合でも、ステップは常に Timeout ブランチに進みます。

スクリプト内の変数はすべて、使用する前に作成しておく必要があります。変数を作成し、後からそれを削除した場合は、Validate ツールを使用してその変数を検索できます。

Cisco Unity Express 管理者が Web ページを通じて変数を利用できるようにするには、変数プロパティの Parameter を設定します。

逆に、変数が Web ページを介して誤って変更されるのを防ぐには、変数プロパティの Parameter を設定しないでください。


) プロンプト変数を定義するときに、変数にシステム プロンプトを割り当てることはできません。変数にシステム プロンプトを割り当てるには、Set ステップまたは Create Prompt ステップを使用する必要があります。


用語

表 2 に、最初にスクリプトを記述するときに最も一般的に使用される用語を一覧します。詳細な定義については、「用語集」のページを参照してください。

 

表 2 一般的なスクリプト用語

用語
説明

アプリケーション

完成したスクリプト。

自動受付

スクリプト化されたアプリケーションを使用して通話を自動処理できる Cisco Unity Express の機能。

コンタクト

自動受付に到達する通話。

IVR(interactive voice response; 自動音声応答)

Cisco Unity Express のデータ処理技術。発信者は電話回線を使用してシスコ モジュールに格納されている情報をやり取りできます。

パラメータ

Script Editor の外部で変数を変更できる変数のプロパティ。

プロンプト

拡張子 .wav が付いたオーディオ ファイル。システム プロンプト、グリーティングなどがあります。

スクリプト

連続して実行される 1 つ以上のステップ。スクリプト ファイルには拡張子 .aef が付きます。

ステップ

スクリプトの基本的な構成要素。各ステップはスクリプトの最も基本的な単位です。

サブフロー

プロシージャまたはサブルーチンと同じです。スクリプト内で、または他のスクリプトによって再利用が可能な独立したスクリプトです。

トリガー

スクリプトを実行させるイベント。

変数

変数は、ユーザ定義のデータやステップの完了結果のデータを格納します。

関連資料

次の各項で、Cisco Unity Express に関連する参考資料を一覧します。

Cisco Unity Express 関連のマニュアル

 

関連トピック
マニュアル タイトル

Cisco Unity Express の管理

Cisco Unity Express 7.0 GUI Administrator Guide

Cisco Unity Express 7.0 Command Reference

Cisco Unity Express 7.0 Installation and Upgrade Guide

Release Notes for Cisco Unity Express 7.0

Cisco Unity Express のボイスメール スクリプト

Cisco Unity Express 7.0 Guide to Writing and Editing Scripts

Cisco Unity Express ボイスメール加入者向け情報

Cisco Unity Express User Guides

シスコ モジュール ハードウェアのインストール

AIM Installation Quick Start Guide: Cisco 2600, 3600, and 3700 Series

Replacing Compact Flash Memory on Cisco AIM-CUE Advanced Integration Modules

Cisco Unity Express ソフトウェアの著作権とライセンス

Cisco Unity Express Software Copyrights and Licenses

Cisco Unity Express のテクニカル サポート マニュアル

Cisco Unity Express Troubleshoot and Alerts

Cisco Unified Communications Manager

』を参照してください。

Cisco Unified Communications Manager Administration Guide

Cisco Unified Communications Manager System Guide

Cisco Unified Communications Manager Features and Services Guide

Cisco Unified CME

』を参照してください。

Cisco Unified Communications Manager Express System Administrator Guide

Cisco Unified Communications Manager Express Command Reference

Cisco Unity

Networking in Cisco Unity Guide

シスコ ハードウェア プラットフォーム

Cisco 2800 Series Hardware Installation

Cisco 3800 Series Hardware Installation

関連する Cisco IOS マニュアル

 

関連トピック
マニュアル タイトル

Cisco IOS の設定

Cisco IOS Debug Command Reference, Release 12.4T

Cisco IOS Voice Command Reference

』を参照してください。

Cisco IOS 音声トラブルシューティング情報

Cisco IOS Voice Troubleshooting and Monitoring Guide

テクニカル サポート

説明
リンク

Cisco Technical Support & Documentation Web サイトには、製品、テクノロジー、ソリューション、技術的なヒント、およびツールへのリンクを含む、数千におよぶ検索可能な技術情報のページがあります。Cisco.com 登録ユーザの場合、このページにログインしてより詳細な情報にアクセスできます。

http://www.cisco.com/en/US/support/index.html

マニュアルの入手方法、テクニカル サポート、およびセキュリティ ガイドライン

マニュアルの入手方法、テクニカル サポート、マニュアルに関するフィードバックの提供、セキュリティ ガイドライン、および推奨エイリアスや一般的なシスコのマニュアルについては、次の URL で、毎月更新される『 What's New in Cisco Product Documentation 』を参照してください。シスコの新規および改訂版の技術マニュアルの一覧が示されています。

http://www.cisco.com/en/US/docs/general/whatsnew/whatsnew.html