Cisco Unity Express スクリプト エディタ ガイド Release 2.1
自動受付スクリプトの設定
自動受付スクリプトの設定
発行日;2012/02/06 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 2MB) | フィードバック

目次

自動受付スクリプトの設定

概要

自動受付スクリプトで使用されるシステム プロンプト

スクリプトの設定

自動受付スクリプトの変数の設定

Design ペインでのステップの設定

Main Menu ステップの設定

Play Prompt ステップの設定

Call Redirect ステップの設定

If ステップの設定

Play Prompt ステップの設定

Terminate ステップの設定

End ステップの挿入

自動受付スクリプトの設定

この章では、自動受付(AA)スクリプトの設定方法について説明します。Cisco Unity Express Script Editor に含まれているサンプル スクリプト aa_sample1.aef を使用して、自動受付スクリプトを設定する基本的な手順を示します。

このドキュメントは、次の各項で構成されています。

「概要」

「自動受付スクリプトで使用されるシステム プロンプト」

「スクリプトの設定」

「Main Menu ステップの設定」

「Play Prompt ステップの設定」

「Call Redirect ステップの設定」

「If ステップの設定」

「Play Prompt ステップの設定」

「End ステップの挿入」

概要

Cisco Unity Express Script Editor を使用して、自動受付用のカスタム スクリプトを作成できます。

aa_sample1.aef ファイルは、通話に応答し、発信者の接続先の人の名前または内線番号を尋ね、通話を転送するスクリプトです。


) aa_sample1.aef ファイルを修正して、独自の自動受付スクリプトを作成できます。いつでも元のファイルにアクセスできるように、aa_sample1.aef ファイルのバックアップ コピーを作成してからファイルを修正してください。


図 12 に、Cisco Unity Express Script Editor ウィンドウの Design ペインに表示される aa_sample1.aef スクリプトを示します。

図 12 aa_sample1.aef スクリプト

 

aa_sample1.aef スクリプトは、次のタスクを実行します。

1. Accept ステップは、通話を受け付けます。

2. その次の 3 つの Set ステップは複数の変数を初期化、つまりクリアします。発信者に再生するメイン メニュー、通話を受信する内線、および呼び出された人の名前がクリアされます。

3. Call Subflow ステップは、緊急時の代替プロンプトを検索し、必要に応じてそのプロンプトを再生します。

4. Play Prompt ステップは、ウェルカム プロンプトを再生して、次の 3 つの操作のいずれかを実行するよう発信者に求めます。

「1」を押して内線番号を入力する。

「2」を押して人の名前を入力する。

発信者が名前の入力を選択した場合、スクリプトは指定のディレクトリに定義された利用可能なユーザに対して、入力された文字をマップし、通話をそのユーザのプライマリ内線番号に転送します。

複数のユーザに一致した場合、スクリプトは正しい内線番号を選択するよう発信者に求めます。非常に多くのユーザが一致する場合、スクリプトはさらに文字を入力するよう発信者に求めます。一致しなかった場合、スクリプトは別の名前を入力するよう発信者に求めます。

「0」を押してオペレータと会話する。


) この ウェルカム プロンプトはパラメータです。つまり、管理者はこのスクリプトを使用するアプリケーションの準備時に、このプロンプトを設定できます。アプリケーションの準備の詳細については、システムの『Cisco Unity Express CLI Administrator Guide』または『Cisco Unity Express GUI Administrator Guide』を参照してください。管理者ガイドの一覧は、
http://www.cisco.com/univercd/cc/td/doc/product/voice/unityexp/index.htmlを参照してください。


5. Main Menu ステップは、発信者が選択した内線を確認する処理の始まりです。

6. Set prefixPrompt ステップは、発信者に再生されるプロンプトの開始セクションを初期化します。

7. Menu ステップには、内線のステータスを確認するサブプロセスが含まれます。

8. Play Prompt ステップは、内線のステータスについて発信者にメッセージを再生します。スクリプトが有効な内線を受信した場合、通話を転送します。

宛先が通話中の場合、発信者にはシステム プロンプト「The phone number you are trying to reach is currently busy」が再生されます。

宛先が使用不能な場合、発信者にはシステム プロンプト「The phone number you are trying to reach is currently out of service」が再生されます。

9. Call Redirect ステップは、内線が使用できない場合に発信者をオペレータに送信します。

10. If ステップは、発信者が有効な内線に接続するための最大試行回数に達したかどうかを判別します。

11. Play Prompt ステップは、有効な内線に接続されないで最大試行回数に達した場合に、メッセージを再生します。


 

自動受付スクリプトで使用されるシステム プロンプト

aa_sample1.aef スクリプトは、.wav ファイルとして格納されたシステム プロンプトを使用します。これは Cisco Unity Express ソフトウェアと共に自動的にインストールされています。これらのオーディオ プロンプトには、次のファイルがあります。

AAMainMenu.wav:内線番号を入力するには 1 を、ユーザ名の最初の 2 ~ 3 字を入力するには 2 を、オペレータと会話するには 0 を入力するという選択メニューを提供する。

AASorry.wav:転送が失敗したことを通知する。

AABusyExtn.wav:ダイヤルした内線番号が通話中であることを通知する。

AAInvalidExtn.wav:入力した内線番号が有効ではないことを通知する。

AAExntOutofService.wav:入力した内線番号がすでに使用されていないことを通知する。

AAWelcome.wav:発信者に応答する。

自動受付アプリケーションでは、Cisco Unity Express GUI 管理 Web インターフェイスの Voice Mail > Auto Attendant メニュー オプションを選択することにより、AAWelcome.wav プロンプトのファイル名を設定できます。カスタム プロンプトを参照するようにデフォルトのウェルカム プロンプトを変更できます。


カスタム スクリプトの場合、独自のプロンプトを録音する必要があります。プロンプトは専門家が録音するか、またはグリーティング管理システムを使用して自分の声で録音ができます。グリーティング管理システムの詳細については、システムの『Cisco Unity Express GUI Administrator Guide』または『Cisco Unity Express CLI Administrator Guide』を参照してください。Administrator Guide の一覧は、http://www.cisco.com/univercd/cc/td/doc/product/voice/unityexp/index.html を参照してください。


スクリプトの設定

この章では、サンプルの自動受付スクリプトの設定に必要なステップについて説明します。次の作業を実行します。

自動受付スクリプトの変数の設定

Cisco Unity Express Script Editor の Variable ペインを使用して、図 13 に示すようにスクリプトの変数を定義します。

図 13 aa_sample1.aef スクリプトの Variable ペイン

 

表 11 は aa_sample1.aef スクリプトで使用される変数を示しています。

 

表 11 aa_sample1.aef スクリプトの変数

変数名
変数タイプ
機能

welcomePrompt

Prompt

P[AA\Welcome.wav]

発信者に応答します。Play Prompt ステップの設定 を参照してください。設計者はこの変数をパラメータとして定義し、管理者がこのスクリプトを使用するアプリケーションを準備するときに、変数を設定できるようにします。

extnXfer

String

--

発信者が転送される内線番号を格納します。Get Digit String ステップ:prompt に応じて発信者が入力した数字を受け取り、extnXfer という名前のディジット文字列変数に格納してから、通話の転送を試みます。 を参照してください。

user

User

null

発信者が Name To User ステップで選択するユーザを示します。Name To User ステップを設定します。図 33 に示すように、Name To User ステップは、発信者が入力した DTMF ディジットに基づいてユーザを検索できるようにします。 を参照してください。

menuPrompt

Prompt

--

名前または内線番号による呼び出しに対して、初期メニューのオプションを示します。Menu Prompt ステップを挿入します。このステップは、図 14 に示すように、menuPrompt の値を SP[AA/AAMainMenu] に設定します。これは、メイン メニューを再生するシステム プロンプトです。 を参照してください。

prefixPrompt

Prompt

--

発信者に通話のステータスを通知します。この値は多くのステップに依存します。DialByExtn 出力ブランチ を設定します。Menu ステップによってオプションが提示されたときに、発信者がメニュー オプション「1」(内線番号を押す)を選択した場合、スクリプトは DialByExtn 出力ブランチを実行します。図 24 に示すように、Menu ステップの DialByExtn 出力ブランチは、発信者が指定した内線番号を受け取ります。 を参照してください。

attempts

Integer

1

スクリプトによって確認が試行された回数を格納します。Implicit Confirmation ステップの設定 を参照してください。

extnPrompt

Prompt

--

内線番号の入力を発信者に求めます。DialByExtn 出力ブランチ を設定します。Menu ステップによってオプションが提示されたときに、発信者がメニュー オプション「1」(内線番号を押す)を選択した場合、スクリプトは DialByExtn 出力ブランチを実行します。図 24 に示すように、Menu ステップの DialByExtn 出力ブランチは、発信者が指定した内線番号を受け取ります。 を参照してください。

namePrompt

Prompt

--

到達先の人の名前を入力するよう発信者に求めます。Container Prompt ステップを作成します。図 21 に示すように、このステップは prompt というエスカレーティング プロンプトを作成します。これは、menuPrompt(スクリプトのステップ 3 で作成した最初のプロンプト)と prefixPrompt という新しいプロンプトを結合します。 prefixPrompt 変数は値がない状態で初期化されますが、発信者がアプリケーションをループして宛先に接続できないときは、発信者に再生されるエラー メッセージがこの変数に保持されます。このプロンプトはエスカレーティング プロンプトなので、エラー メッセージが再生されるのは後続の Menu ステップでの最初の試行だけです。この場合、このステップで作成したプロンプトが使用されます。 を参照してください。

prompt

Prompt

--

録音済みステータス メッセージの再生、発信者に対する入力の要求、オプション メニューの再生など、スクリプト全体でさまざまな目的に使用されます。Container Prompt ステップを作成します。図 21 に示すように、このステップは prompt というエスカレーティング プロンプトを作成します。これは、menuPrompt(スクリプトのステップ 3 で作成した最初のプロンプト)と prefixPrompt という新しいプロンプトを結合します。 prefixPrompt 変数は値がない状態で初期化されますが、発信者がアプリケーションをループして宛先に接続できないときは、発信者に再生されるエラー メッセージがこの変数に保持されます。このプロンプトはエスカレーティング プロンプトなので、エラー メッセージが再生されるのは後続の Menu ステップでの最初の試行だけです。この場合、このステップで作成したプロンプトが使用されます。 を参照してください。

spokenName

Document

null

発信者が到達しようとしている人の音声名に関するオーディオ ドキュメントを格納します。Name to User の Successful 出力ブランチの Get User Info ステップを設定します。図 35 に示すように、Get User Info ステップは、スクリプトでユーザ属性を使用できるようにします。 を参照してください。

name

String

--

発信者が到達しようとしている人の記述名を格納します。Name to User の Successful 出力ブランチの Get User Info ステップを設定します。図 35 に示すように、Get User Info ステップは、スクリプトでユーザ属性を使用できるようにします。 を参照してください。

MaxRetry

Integer

3

このスクリプトが通話を終了する前に、スクリプトで発信者が試行できる最大再試行回数を格納します。Implicit Confirmation ステップの設定 を参照してください。

この変数はパラメータであるため、管理者はこのスクリプトを使用するアプリケーションを準備するときに、この変数を設定できます。

operExtn

String

--

Call Redirect ステップがオペレータに通話を転送するために使用するオペレータ内線番号を格納します。Call Redirect ステップの設定 を参照してください。

この変数はパラメータであるため、管理者はこのスクリプトを使用するアプリケーションを準備するときに、この変数を設定できます。

businessSchedule

Schedule

systemschedule

Business Hours Schedule の名前を格納します。

この変数はパラメータであるため、管理者はこのスクリプトを使用するアプリケーションを準備するときに、この変数を設定できます。

holidayPrompt

Prompt

P[AAHolidayPrompt.wav]

発信者が休日に電話をかけた場合に、再生されるプロンプトの名前を格納します。

この変数はパラメータであるため、管理者はこのスクリプトを使用するアプリケーションを準備するときに、この変数を設定できます。

busClosedPrompt

Prompt

P[AABusinessClosed.wav]

発信者が営業時間外に電話をかけた場合に、再生されるプロンプトの名前を格納します。

この変数はパラメータであるため、管理者はこのスクリプトを使用するアプリケーションを準備するときに、この変数を設定できます。

busOpenPrompt

Prompt

P[AABusinessOpen.wav]

発信者が営業時間内に電話をかけた場合に、再生されるプロンプトの名前を格納します。

この変数はパラメータであるため、管理者はこのスクリプトを使用するアプリケーションを準備するときに、この変数を設定できます。

allowExternalTransfers

Boolean

false

発信者がこの自動受付を使用して外線番号に転送できることを指定します。

この変数はパラメータであるため、管理者はこのスクリプトを使用するアプリケーションを準備するときに、この変数を設定できます。

Design ペインでのステップの設定

Design ペインで次の作業を実行します。


ステップ 1 Start ステップを挿入します。Cisco Unity Express Script Editor ウィンドウの Design ペインで作成するスクリプトはすべて Start ステップで始まります。このステップは設定の必要がなく、カスタマイザ ウィンドウはありません。

ステップ 2 Accept ステップを挿入します。このステップはデフォルトの連絡先を受け入れるため、設定の必要はありません。

ステップ 3 Menu Prompt ステップを挿入します。このステップは、図 14 に示すように、 menuPrompt の値を SP[AA/AAMainMenu] に設定します。これは、メイン メニューを再生するシステム プロンプトです。

図 14 Set カスタマイザ ウィンドウ:設定された General タブ

 

ステップ 4 Extension Prompt ステップを挿入します。このステップは、 extnPrompt の値を SP[AA/AAEnterExtn] に設定します。これは、発信者に内線番号の入力を求めるシステム プロンプトです。

ステップ 5 Name Prompt ステップを挿入します。このステップは、 namePrompt の値を SP[AA/AANameDial] に設定します。これは、呼び出す人の名前を入力するよう発信者に求めるシステム プロンプトです。

ステップ 6 Call Subflow ステップを挿入します。図 15 に示すように、 Call Subflow ステップの General タブで、サブフロー名を checkAltGreet.aef に設定します。

図 15 Call Subflow カスタマイザ ウィンドウ:設定された General タブ

 

Subflow Name checkAltGreet.aef は、オプション グリーティングが有効かどうかを確認します。有効な場合、サブフローはオプション グリーティングを再生して aa_sample1.aef スクリプトに戻ります。ほかのスクリプト ステップが Call Subflow プロセスに割り込むことができないように Disable interruptions をオンにします。

ステップ 7 Play Prompt ステップを挿入します。図 16 に示すように、このステップは ウェルカム プロンプトを再生します。

図 16 Play Prompt カスタマイザ ウィンドウ:設定された Prompt タブ

 

Play Prompt カスタマイザ ウィンドウの各タブで、次のようにフィールドを設定します。

General タブ

Contact:Triggering contact:スクリプトをトリガーした連絡先をこのステップの連絡先に使用します。

Interruptible:No:外部イベントはプロンプトの再生に割り込むことができません。

Prompt タブ

Prompt:welcomePrompt:このプロンプトは発信者への応答を再生します。

Barge In:No:発信者は応答する前にプロンプトをすべて聞く必要があります。

Continue on Prompt Errors:Yes:プロンプト エラーが発生した場合、スクリプトは引き続き次のプロンプトを再生します。または、これが一連のプロンプトの最後である場合、スクリプトは発信者の入力を待ちます。

Input タブ

Flush Input Buffer:Yes:このステップは以前の入力を消去します。

ステップ 8 Is Holiday ステップを挿入します。図 17 に示すように、このステップではデフォルトで当日が休日かどうかを確認するため、このステップの設定の必要はありません。

図 17 Is Holiday カスタマイザ ウィンドウ:設定された General タブ

 

Is Holiday ステップには、図 18 に示すように Yes No という 2 つの出力ブランチがあります。

図 18 Is Holiday ステップの出力ブランチ

 

当日が休日の場合、スクリプトは Yes 出力ブランチを実行します。スクリプトは休日用のプロンプトを再生し、営業時間の確認は行いません。スクリプトは No 出力ブランチをスキップして MainMenu Label ステップを実行します。

当日が休日ではない場合、スクリプトは No 出力ブランチを実行します。スクリプトは、 Business Hours ステップを使用して、現在が営業時間内かどうかを判別します。

ステップ 9 Business Hours ステップを Is Holiday ステップの No 出力ブランチの下に挿入します。このステップは、現在が営業時間内かどうかを判別します。ここで設定される Business Hours Schedule ファイルは、図 19 のように指定します。

図 19 Business Hours カスタマイザ ウィンドウ:設定された General タブ

 

カスタマイザ ウィンドウで、次のようにフィールドを設定します。

Schedule :Business Hours Schedule ファイルの名前。Cisco Unity Express GUI オプションや CLI コマンドを使用して作成したスケジュールまたはカスタマイズしたスケジュールのいずれか 1 つを使用します。

Date :設定の必要はありません。デフォルトでは、スクリプトは現在の日付を使用します。

Time :設定の必要はありません。デフォルトでは、スクリプトは現在の時刻を使用します。

Business Hours ステップには、図 20 に示すように Open Closed という 2 つの出力ブランチがあります。

図 20 Business Hours ステップの出力ブランチ

 

現在が営業時間内である場合、スクリプトは Open 出力ブランチを実行して、営業時間内用のプロンプトを再生します。デフォルトでは、プロンプト AABusinessOpen.wav には何も録音されていません。現在が営業時間外である場合、スクリプトは Closed 出力ブランチを実行して、営業時間外用のプロンプトを再生します。

いずれかのステップを実行した後、スクリプトは MainMenu Label ステップを実行します。

ステップ 10 Label ステップを挿入します。このステップはスクリプトのターゲットを作成します。このターゲットは、出力ブランチがタイムアウト、失敗、または終端の位置に到達し、スクリプトによって発信者が再試行のために Label ステップに戻されるときに、スクリプトの後半で使用されます。この Label ステップ名は MainMenu です。


 

Main Menu ステップの設定

次の作業を実行して、作成した Main Menu Label ステップを設定します。


ステップ 1 Container Prompt ステップを作成します。図 21 に示すように、このステップは prompt というエスカレーティング プロンプトを作成します。これは、 menuPrompt (スクリプトのステップ 3 で作成した最初のプロンプト)と prefixPrompt という新しいプロンプトを結合します。 prefixPrompt 変数は値がない状態で初期化されますが、発信者がアプリケーションをループして宛先に接続できないときは、発信者に再生されるエラー メッセージがこの変数に保持されます。このプロンプトはエスカレーティング プロンプトなので、エラー メッセージが再生されるのは後続の Menu ステップでの最初の試行だけです。この場合、このステップで作成したプロンプトが使用されます。

図 21 Create Container Prompt:設定された General タブ

 

Create Container Prompt ウィンドウの各タブで、次のようにフィールドを設定します。

Output Prompt:prompt:この Create Container Prompt ステップで作成されるプロンプトです。

Prompt Container Type:escalating:このステップはエスカレーティング プロンプトを作成します。

Prompts リストボックス

prefixPrompt + menuPrompt

menuPrompt

これは、Media ステップが発信者から有効な応答を引き出そうと複数回試行した場合に、再生されるプロンプト フレーズを指定します。

ステップ 2 Prefix Prompt Set ステップを挿入します。このステップは prefixPrompt の値を P[] に設定します。これは空であることを示します。発信者が MainMenu Label ステップに戻ってメニュー オプションをもう一度聞く場合、この Set ステップはスクリプトによって事前に割り当てられた可能性のある prefixPrompt の値をクリアします。 Call Redirect ステップは、発信者を MainMenu Label に頻繁に戻します。例については、Yes 出力ブランチの Call Redirect ステップ:Menu ステップにあるほかの 2 つのメイン出力ブランチ(DialByName および Operator)と同様に、DialByExtn 出力ブランチには Call Redirect ステップが含まれており、通話の転送(この場合は適切な内線番号への転送)を試みます。図 31 に示すように、Call Redirect ステップには 4 つの出力ブランチがあります。図 31 を参照してください。

ステップ 3 Menu ステップを挿入します。図 22 に示すように、 Menu ステップはプロンプトに応じて音声または数字を受け取ります。スクリプトが発信者から有効な入力を受け取った場合、 Menu ステップで設定されたスクリプト プロシージャは、通話を適切な内線に転送します。


 

図 22 Menu カスタマイザ ウィンドウ:設定された General タブ

 

Menu カスタマイザ ウィンドウには、次の値があります。

General タブ

Contact:Triggering Contact:このスクリプトをトリガーした連絡先をこのステップの連絡先に使用します。

Options:DialByExtn、DialByName、Operator:メニューで発信者に提供するオプションのリスト。これらのタグは、分岐する出力パスの実行を判別するために、出力ポイントにマップされます。DialByExtn はダイヤル キーパッド 1 に、DialByName はダイヤル キーパッド 2 に、Operator はダイヤル キーパッド 0 にそれぞれマップされます。

Interruptible:Yes:外部イベントはこのステップの実行に割り込むことができます。

Prompt タブ

Prompt:Prompt:ステップはこのプロンプトを発信者に再生します。

Barge In:Yes:発信者は最初にプロンプト全体が再生されるのを聞かずに応答できます。

Continue on Prompt Errors:Yes:プロンプト エラーが発生した場合、スクリプトは引き続き次のプロンプトを再生します。または、これが一連のプロンプトの最後である場合、スクリプトは発信者の入力を待ちます。

Input タブ

Timeout (in sec):5:すべてのプロンプトを再生した後、スクリプトは発信者からの最初の入力を 5 秒間待ってからタイムアウト エラーによる再試行を行います。または、これが最後の試行だった場合は、Timeout 出力ブランチを実行します。

Maximum Retries:5:スクリプトを Unsuccessful 出力ブランチに送る前に、このスクリプトは入力を受け取る処理を 5 回再試行します。

Flush Input Buffer:No:スクリプトは以前の入力を保存します。

Menu ステップの出力ブランチの設定

Menu ステップには、Timeout と Unsuccessful という 2 つの組み込み出力ブランチがあります。Timeout 出力ブランチと Unsuccessful 出力ブランチは、スクリプトを記述する必要がありません。スクリプトがこれらのブランチのどちらかに達すると、Menu ステップと同じレベルの次のステップである 2 番目の Play Prompt ステップに進みます(Play Prompt ステップの設定を参照してください)。

図 23 に示すように、3 つの出力ブランチを設定する必要があります。これらのブランチは、 menuPrompt が発信者に示す 3 つの選択肢(内線番号のダイヤル、名前のダイヤル、オペレータへのダイヤル)に対応します。

図 23 Menu ステップの出力ブランチ

 

次の作業を実行して、Menu ステップの出力ブランチを設定します。


ステップ 1 DialByExtn 出力ブランチ を設定します。Menu ステップによってオプションが提示されたときに、発信者がメニュー オプション「1」(内線番号を押す)を選択した場合、スクリプトは DialByExtn 出力ブランチを実行します。図 24 に示すように、Menu ステップの DialByExtn 出力ブランチは、発信者が指定した内線番号を受け取ります。

図 24 DialByExtn のスクリプト

 

DialByExtn 出力ブランチには、次のステップが含まれます。

Label ステップ(DialByExtn):ターゲットの DialByExtn を作成します。

Create Container Prompt ステップ: prefixPromptContainer Prompt ステップを作成します。図 21 に示すように、このステップは prompt というエスカレーティング プロンプトを作成します。これは、menuPrompt(スクリプトのステップ 3 で作成した最初のプロンプト)と prefixPrompt という新しいプロンプトを結合します。 prefixPrompt 変数は値がない状態で初期化されますが、発信者がアプリケーションをループして宛先に接続できないときは、発信者に再生されるエラー メッセージがこの変数に保持されます。このプロンプトはエスカレーティング プロンプトなので、エラー メッセージが再生されるのは後続の Menu ステップでの最初の試行だけです。この場合、このステップで作成したプロンプトが使用されます。を参照)と extnPrompt 内線番号の入力を発信者に求める事前に設定されたプロンプト)で構成される連結されたコンテナ プロンプトを作成します(宛先への接続でエラーがある場合にループ バックすると、エラー メッセージが発生する場合があります)。

Set ステップ: prefixPrompt の値を P[] に設定します。これによって、スクリプトが事前に割り当てた可能性のあるすべての prefixPrompt 値をクリアします。

Get Digit String ステップ:prompt に応じて発信者が入力した数字を受け取り、extnXfer という名前のディジット文字列変数に格納してから、通話の転送を試みます。

図 25 に示すように、 Get Digit String には、Successful、Timeout、および Unsuccessful という 3 つの出力ブランチがあります。

図 25 Get Digit String の出力ブランチ

 

Get Digit String ステップの 3 つの出力ブランチは、次のとおりです。

Timeout 出力 ブランチ: Get Digit String ステップが時間切れの制限に達する前に入力を受け取らないと、スクリプトは Timeout 出力ブランチを実行し、 Menu ステップの残りの出力ブランチをスキップして 2 番目の Play Prompt ステップ(Play Prompt ステップの設定を参照)に進みます。

Unsuccessful 出力 ブランチ: Get Digit String ステップで有効な入力の受け取りに失敗した場合、スクリプトは Unsuccessful 出力ブランチを実行し、 Menu ステップの残りの出力ブランチをスキップして 2 番目の Play Prompt ステップ(Play Prompt ステップの設定を参照)に進みます。

Successful 出力 ブランチ: Get Digit String ステップが発信者の入力を正しく受け取った場合、スクリプトは Successful 出力ブランチを実行します。図 26 に示すように、 Successful 出力ブランチは通話を転送します。

図 26 Get Digit String:Successful ブランチのスクリプト

 


Implicit Confirmation Yes ブランチ ステップの図については、図 31 を参照してください。


ステップ 2 Get Digit String Successful ブランチの If ステップを設定します。 If ステップは入力された内線番号( extnXfer )が空かどうかを、式の評価( extnXfer == "" )によって確認します。If ステップには次の 2 つの出力ブランチがあります。

True 出力ブランチ:入力された内線番号が空であると If ステップが判別した場合、スクリプトは True 出力ブランチを実行します。 True 出力ブランチは試行回数を 1 つずつ増やし、発信者に再試行させます。 If ステップの True 出力ブランチには次の 3 つの機能ステップがあります。

Play Prompt ステップ: Play Prompt ステップは空のプロンプト P[] を再生して、前の Get Digit String ステップの一部としてスクリプトが累積した可能性のあるすべての数字について DTMF バッファを消去します。


Play Prompt ステップには、バッファの消去後にすぐこのステップから戻るためのスクリプトを有効にする空のプロンプトがあります。


Increment ステップ: Increment ステップは 最大再試行回数に達するまで試行回数を増加します。

Goto ステップ: Goto ステップは適切な内線番号を発信者にさらに入力させるため、
DialByExtn
出力ブランチの最初にある DialByExtn の Label ステップの最初に発信者を戻します。

False 出力ブランチ:発信者が内線番号を入力したと If ステップが判別した場合、スクリプトは False 出力ブランチを実行します。If ステップの False 出力ブランチは次のステップ(Create Generated Prompt ステップ)に進みます。

ステップ 3 Get Digit String の Successful ブランチの Create Generated Prompt ステップを設定します。図 27 に示すように、このステップは、通話を転送する前に発信者に入力内容を確認するため、受け取った数字を発信者に再生するプロンプトを作成します。

図 27 設定された Create Generated Prompt カスタマイザ ウィンドウ

 

Create Generated Prompt カスタマイザ ウィンドウには、次の値があります。

Output Prompt:prompt:このステップで作成された値を格納します。

Generator Type:telephone.number:ジェネレータ型( Telephone Number ジェネレータ を参照)。

Constructor Type:number:コンストラクタ型( Number ジェネレータ を参照)。

Argument Information リストボックス:extnXfer:extnXfer 変数は number コンストラクタの結果を格納します。

ステップ 4 外線番号への転送( allowExternalTransfers )が許可されているかどうかを確認する If ステップを設定します。

If ステップには、図 28 に示すように True False という 2 つの出力ブランチがあります。

図 28 If ステップの出力ブランチ

 

外線番号への転送が許可されている場合、スクリプトは True 出力ブランチを実行します。このブランチでは設定の必要はありません。スクリプトは Implicit Confirmation ステップに進みます。

外線番号への転送が許可されていない場合、スクリプトは False 出力ブランチを実行します。このブランチは Extension To User ステップを使用して、発信者の入力した番号がローカル ユーザの有効な内線番号かどうかを判別します。

ステップ 5 図 29 に示すように、 If ステップの False 出力ブランチで Extension To User ステップを設定します。 Extension To User ステップは、発信者の入力した内線番号に基づいて、スクリプトがユーザを検索できるようにします。

図 29 Extension To User ウィンドウ:設定された General タブ

 

カスタマイザ ウィンドウで、次のようにフィールドを設定します。

Extension :発信者が入力した内線番号。 Get Digit String ステップで戻された変数 extnXfer を使用します。

Result User :発信者が入力した内線番号にマップするユーザ オブジェクトを格納する user 変数。

Extension To User ステップには、図 28 に示すように Successful Unsuccessful という 2 つの出力ブランチがあります。

Extension To User ステップがローカル ディレクトリ内で内線番号が一致するユーザを検出した場合、スクリプトは Successful 出力ブランチを実行します。スクリプトは引き続き Implicit Confirmation ステップに進みます。

Extension To User ステップが内線番号が一致するユーザを検出しない場合、スクリプトは Unsuccessful 出力ブランチを実行します。スクリプトは、無効な内線番号が入力されたことを示すプロンプトを再生します。

次にスクリプトは If ステップを使用して、最大再試行回数に達するまで再試行を行います。最大再試行回数に達しない場合、スクリプトは Goto ステップを使用して、正しい内線番号を発信者に入力させるために DialByExtn 出力ブランチの最初に発信者を戻します。最大再試行回数に達した場合、スクリプトは Goto ステップを使用して、スクリプト最後の Sorry Label ステップに発信者を移します。

ステップ 6 Get Digit String Successful ブランチの Implicit Confirmation ステップを作成します。図 30 に示すように、このステップは発信者にこれ以上入力を求めずに、入力された内線番号を確認します。


 

図 30 設定された Implicit Confirmation カスタマイザ ウィンドウ

 

Implicit Confirmation カスタマイザ ウィンドウには、次の値があります。

Contact:Triggering Contact:スクリプトをトリガーした連絡先をこのステップの連絡先に使用します。

Prompt:SP[AA/AACallingExtn] + prompt:システム プロンプトおよび生成されたプロンプトは、スクリプトが発信者に再生する指定された内線番号を示します。

Timeout (in sec):2:スクリプトが確認を受け取って通話を転送する前の転送停止時間として、発信者に 2 秒間が与えられます。

Interruptible:Yes:外部イベントはこのステップの実行に割り込むことができます。

Continue on Prompt Errors:Yes:プロンプト エラーが発生した場合、スクリプトは引き続き一連の次のプロンプトを再生します。または、これが最後のプロンプトである場合、スクリプトは発信者の入力を待ちます。

Implicit Confirmation ステップの設定

Implicit Confirmation ステップには次の 2 つの出力ブランチがあります。

No 出力ブランチ:発信者が Implicit Confirmation ステップを中断して確認を示さない場合、スクリプトは No 出力ブランチを実行します。Implicit Confirmation ステップの No 出力ブランチは If ステップを使用して、最大再試行回数に達するまで再試行を行います。If ステップは、式 attempts < MaxRetry を評価することにより、最大再試行回数に到達したかどうかを判別します。この式では、試行回数(Attempts 変数に格納)が最大再試行回数(MaxRetry 変数に格納)よりも小さいかどうかを判別します。

If ステップには次の 2 つの出力ブランチがあります。

True 出力ブランチ:最大再試行回数に到達していないと If ステップが判別した場合、スクリプトは True 出力ブランチを実行します。True 出力ブランチは再試行回数を 1 ずつ増やし、再試行する機会を発信者に与えます。If ステップの True 出力ブランチには次の 3 つの機能ステップがあります。

1. Play Prompt ステップ:Play Prompt ステップは空のプロンプト P[] を再生して、前の Implicit Confirmation ステップの一部としてスクリプトが累積した可能性のあるすべてのディジットについて DTMF バッファを消去します。


) Play Prompt ステップには、バッファの消去後にすぐこのステップから戻るためのスクリプトを有効にする空のプロンプトがあります。


2. Increment ステップ:Increment ステップは最大再試行回数に達するまで試行回数を増加します。

3. Goto ステップ:Goto ステップは適切な内線番号を発信者に入力させるため、DialByExtn 出力ブランチの最初にある DialByExtn の Label ステップの最初に発信者を戻します。

False 出力ブランチ:最大再試行回数に到達していないと If ステップが判別した場合、スクリプトは False 出力ブランチを実行します。If ステップの False 出力ブランチは Menu ステップの残りのステップをスキップして 2 番目の Play Prompt ステップ(Play Prompt ステップの設定を参照)に進みます。

Yes 出力ブランチ:Implicit Confirmation ステップが正常に内線番号を確認した場合、スクリプトは Yes 出力ブランチを実行します。Implicit Confirmation ステップの Yes 出力ブランチが通話を転送します。Yes 出力ブランチには、次のステップがあります。

Yes 出力ブランチの Call Redirect ステップ:Menu ステップにあるほかの 2 つのメイン出力ブランチ(DialByName および Operator)と同様に、DialByExtn 出力ブランチには Call Redirect ステップが含まれており、通話の転送(この場合は適切な内線番号への転送)を試みます。図 31 に示すように、 Call Redirect ステップには 4 つの出力ブランチがあります。

図 31 Call Redirect 出力ブランチのスクリプト

 

1. Call Redirect ステップの Successful 出力ブランチ:Call Redirect ステップが正常に通話を転送した場合、スクリプトは Successful 出力ブランチを実行します。Call Redirect ステップの Successful 出力ブランチは連絡先に Handled とマークを付け、スクリプトを終了します。Call Redirect ステップの Successful 出力ブランチには 2 つのステップがあります。 Set Contact Info ステップは、通話に Handled とマークを付けます。End ステップは、このスクリプトのブランチを終了します。

2. Call Redirect ステップの Busy 出力ブランチ:Call Redirect ステップが宛先の内線を通話中として登録した場合、スクリプトは Busy 出力ブランチを実行します。Call Redirect ステップの Busy 出力ブランチは、prefixPrompt 変数の値を設定して、内線が通話中であることを発信者に通知します。Call Redirect ステップの Busy 出力ブランチには Set ステップがあります。図 31 に示すように、Set ステップは、発信者に内線が通話中であるというメッセージを再生するシステム プロンプトを組み込むように prefixPrompt の値を設定します。

3. Call Redirect ステップの Invalid 出力ブランチ:Call Redirect ステップが宛先の内線を無効として登録した場合、スクリプトは Invalid 出力ブランチを実行します。Call Redirect ステップの Invalid 出力ブランチは、prefixPrompt 変数の値を設定して、内線が無効であることを発信者に通知します。Call Redirect ステップの Invalid 出力ブランチには Set ステップがあります。図 31 に示すように、Set ステップは、発信者に内線が無効であるというメッセージを再生するシステム プロンプトを組み込むように prefixPrompt の値を設定します。

4. Call Redirect ステップの Unsuccessful 出力ブランチ:Call Redirect ステップが宛先の内線を使用不能として登録した場合、スクリプトは Unsuccessful 出力ブランチを実行します。Call Redirect ステップの Unsuccessful 出力ブランチは、prefixPrompt 変数の値を設定して、内線が使用不能であることを発信者に通知します。Call Redirect ステップの Unsuccessful 出力ブランチには Set ステップがあります。図 31 に示すように、Set ステップは、発信者に内線が使用不能であるというメッセージを再生するシステム プロンプトを組み込むように prefixPrompt の値を設定します。

Yes 出力ブランチの If ステップ:If ステップは式 attempts < MaxRetry を評価することにより、最大再試行回数に到達したかどうかをスクリプトが判別できるようにします。この式では、試行回数(attempts 変数に格納)が最大再試行回数(MaxRetry 変数に格納)よりも少ないかどうかを判別します。If ステップには True と False という 2 つの出力ブランチがあります。

True:最大再試行回数に到達していないと If ステップが判別した場合、スクリプトは True 出力ブランチを実行します。If ステップの True 出力ブランチは、最大再試行回数に達するまで、発信者が MainMenu Label に繰り返し戻ることができるようにします。

True 出力ブランチには次の 2 つのステップがあります。Increment ステップは再試行回数を 1 つずつ増やします。Goto ステップは、発信者にもう一度内線番号を入力させるために、発信者を MainMenu Label ステップに戻します。

False:最大再試行回数に到達したと If ステップが判別した場合、スクリプトは False 出力ブランチを実行します。If ステップの False 出力ブランチは 2 番目の Play Prompt ステップ(Play Prompt ステップの設定を参照)に進みます。

Menu ステップの出力ブランチの設定(続き)

次の作業を実行して、Menu ステップの出力ブランチを引き続き設定します。


ステップ 1 DialByName 出力ブランチを設定します。Menu ステップによってオプションが提示されたときに、発信者がメニュー オプション「2」(人の名前の入力)を選択した場合、スクリプトは DialByName 出力ブランチを実行します。図 32 に示すように、DialByName 出力ブランチは、発信者が到達する人の名前を受け取ります。

図 32 DialByName 出力ブランチのスクリプト

 

ステップ 2 Label ステップ(DialByName)を設定します。DialByName という名前の Label ステップは、必要に応じて発信者が正しく名前を入力できるように、スクリプトにターゲットを提供します。

ステップ 3 Create Container Prompt ステップを設定します。Create Container Prompt ステップは、発信者に目的の人の名前を入力するように求めるプロンプトを作成します。

ステップ 4 Set ステップを設定します。Set ステップを設定して、prefixPrompt 変数の値を消去し、後続のステップで値を割り当てることができるようにします。

ステップ 5 Name To User ステップを設定します。図 33 に示すように、Name To User ステップは、発信者が入力した DTMF ディジットに基づいてユーザを検索できるようにします。


 

図 33 Name To User カスタマイザ ウィンドウ:設定された General タブ

 

Name To User カスタマイザ ウィンドウには、次の値があります。

General タブ

Contact:Triggering Contact:スクリプトをトリガーした連絡先をこのステップの連絡先に使用します。

Result User:user:user 変数は、発信者の選択内容にマップするユーザ オブジェクトを格納します。

Announce When Number of Matches Less Than:4:一致した数が 4 より少ない場合、スクリプトは一致リストから正しいエントリを選択するよう発信者に求めます。一致した数が 4 以上の場合、スクリプトは一致する数を減らすために追加の文字を入力するよう発信者に求めます。

Operator:Yes:スクリプトは、「0」を押してオペレータに接続するオプションを発信者に提供します。

Interruptible:Yes:外部イベントはこのプロンプトの再生に割り込むことができます。

Prompt タブ

Prompt:Customize Prompt:スクリプトはカスタマイズされたプロンプトを使用します。

Prompt:prompt:prompt 変数は、スクリプトが発信者に再生するカスタム プロンプトを格納します。

Barge In:Yes:発信者は最初にプロンプト全体が再生されるのを聞かずに応答できます。

Continue on Prompt Errors:Yes:プロンプト エラーが発生した場合、スクリプトは引き続き次のプロンプトを再生します。または、これが一連のプロンプトの最後である場合、スクリプトは発信者の入力を待ちます。

Input タブ

Input Length:30:発信者が 30 桁入力したときに、スクリプトによって自動的に検索がトリガーされるように指定します。

Terminating Key:#:終了キーは「#」です。

Cancel Key:*:キャンセル キーは「*」です。

Maximum Retries:5:最大再試行回数は 5 です。

Initial Timeout (in sec):5:プロンプトの再生後 5 秒以内にスクリプトが入力を受け取らないと、ステップはタイムアウトになります。

Interdigit Timeout (in sec):3:入力されるディジットとディジットの間で 3 秒間スクリプトが入力を受け取らないと、ステップはタイムアウトになります。

Flush Input Buffer:No:スクリプトは発信者が以前入力した内容を保存します。

Name To User ステップには、Successful、Timeout、Unsuccessful、および Operator という 4 つの出力ブランチがあります。Timeout 出力ブランチと Unsuccessful 出力ブランチは、スクリプトを記述する必要がありません。ステップが時間切れになると、スクリプトは 2 番目の Play Prompt ステップ(Play Prompt ステップの設定を参照)に進みます。5 回試行した後で無効な入力が行われた場合も、スクリプトは 2 番目の Play Prompt ステップ(Play Prompt ステップの設定を参照)に進みます。

次の作業を実行して、Name to User ステップの出力ブランチを設定します。


ステップ 1 Name to User ステップの Successful 出力ブランチを設定します。図 34 に示すように、Name To User ステップの Successful 出力ブランチは、発信者から名前の確認を受け取り、通話を転送します。このブランチのステップは、前述の Get Digit String ステップにある Successful 出力ブランチ(Get Digit String ステップ:prompt に応じて発信者が入力した数字を受け取り、extnXfer という名前のディジット文字列変数に格納してから、通話の転送を試みます。を参照)に類似しており、スクリプトは確認を要求して通話を適切な内線にリダイレクトします。

図 34 Name To User:Successful 出力ブランチのスクリプト

 

ステップ 2 Name to User の Successful 出力ブランチの Get User Info ステップを設定します。図 35 に示すように、 Get User Info ステップは、スクリプトでユーザ属性を使用できるようにします。

図 35 設定された Get User Info カスタマイザ ウィンドウ

 

Get User Info カスタマイザ ウィンドウには、次の値があります。

User:user:Name To User ステップで選択したユーザ情報へのハンドルを保持する変数として user を指定します。

Attribute/Variable テキストボックス

Full Name:name

Extension:extnXfer

Spoken Name:spokenName

ステップ 3 Name to User の Successful 出力ブランチの if ステップを設定します。If ステップは、内線が呼び出されている人の音声名の録音が使用できるかどうかに基づいて、プロンプトを作成します。If ステップは Boolean 式 spokenName==null を評価します。この式は Document 変数 spokenName の値が null に等しいかどうかを判別します。

ステップ 4 Name to User の Successful の If ステップの True 出力ブランチを設定します。内線が呼び出されている人の音声名の録音が使用できないと If ステップが判別した場合、スクリプトは True 出力ブランチを実行します。If ステップの True 出力ブランチは、システム プロンプト SP[AA/AACalling] を再生するようプロンプトに指示します。このプロンプトでは、呼び出されている人の名前は再生されません。

ステップ 5 Name to User の Successful の If ステップの False 出力ブランチを設定します。内線が呼び出されている人の音声名の録音が使用できると If ステップが判別した場合、スクリプトは False 出力ブランチを実行します。If ステップの False 出力ブランチは、システム プロンプト SP[AA/AACallingName] を再生するようプロンプトに指示します。このプロンプトの後に音声名が再生されます。

ステップ 6 Name to User の Successful 出力ブランチの Implicit Confirmation ステップを設定します。Implicit Confirmation ステップは、発信者にこれ以上入力を求めずに、入力された名前を確認します。Implicit Confirmation ステップは、前述の DialByExtn と同じように実行します。Get Digit String Successful ブランチの Implicit Confirmation ステップを作成します。図 30 に示すように、このステップは発信者にこれ以上入力を求めずに、入力された内線番号を確認します。 を参照してください。


 

Implicit Confirmation ステップには 2 つの出力ブランチがあります(図 34 を参照してください)。次の作業を実行して、Implicit Confirmation ステップの出力ブランチを設定します。


ステップ 1 Implicit Confirmation ステップの No 出力ブランチを設定します。Implicit Confirmation ステップが発信者の選択内容を正しく確認していない場合、スクリプトは No 出力ブランチを実行します。図 36 に示すように、Implicit Confirmation ステップの No 出力ブランチは、発信者に選択内容を明示的に確認する機会を与えるプロンプトを作成します。

図 36 Name To User:Implicit Confirmation ステップの No 出力ブランチ

 

ステップ 2 No ブランチの Create Conditional Prompt ステップを作成します。Create Conditional Prompt ステップは、変数 spokenName が null かどうかに基づいてプロンプトを作成します。ディレクトリ内で選択されたユーザに音声名が存在する場合、spokenName 変数は null ではありません。

ステップ 3 No ブランチの Set ステップを作成します。Set ステップは、Create Conditional Prompt ステップで作成されたプロンプトをシステム プロンプト SP[AA/AAWantToCall] に付加します。

ステップ 4 No ブランチの Explicit Confirmation ステップを作成します。図 37 に示すように、 Explicit Confirmation ステップは目的の人の名前について明示的な確認を行います。

図 37 Explicit Confirmation カスタマイザ ウィンドウ:設定された Prompt タブ

 

Explicit Confirmation カスタマイザ ウィンドウには、次の値があります。

General タブ

Contact:Triggering Contact:スクリプトをトリガーした連絡先をこのステップの連絡先に使用します。

Interruptible:Yes:外部イベントはこのプロンプトの再生に割り込むことができます。

Prompt タブ

Initial Prompt:prompt:prompt 変数は最初のプロンプトを格納します。

Error Prompt:prompt:入力エラーが発生した場合は、prompt 変数が再生されます。

Timeout Prompt:prompt:タイムアウトの制限に達した場合は、prompt 変数が再生されます。

Barge In:Yes:発信者は最初にプロンプト全体が再生されるのを聞かずに応答できます。

Continue on Prompt Errors:Yes:プロンプト エラーが発生した場合、スクリプトは引き続き次のプロンプトを再生します。または、これが一連のプロンプトの最後である場合、スクリプトは発信者の入力を待ちます。

Input タブ

Timeout (in sec):5:すべてのプロンプトを再生した後、スクリプトは発信者からの最初の入力を 5 秒間待ってから時間切れエラーによる再試行を行います。または、これが最後の試行だった場合は、Timeout 出力ブランチを実行します。

Maximum Retries:3:スクリプトは、確認を受け取るための再試行を最大 3 回実行してから、Unsuccessful 出力ブランチを実行します。

Flush Input Buffer:Yes:ステップは以前の入力を消去します。

Grammar:grammar:空白のままにします。

Explicit Confirmation ステップには、Yes、No、Timeout、および Error という 4 つの出力ブランチがあります。

Explicit Confirmation ステップの Yes 出力ブランチを設定します。Explicit Confirmation ステップが発信者からの確認を正常に受け取った場合、スクリプトは Yes 出力ブランチを実行します。Explicit Confirmation ステップの Yes 出力ブランチは、スクリプトの実行方向を Implicit Confirmation ステップの Yes 出力ブランチにある Xfer Label ステップ(Implicit Confirmation の Yes ブランチの Label ステップを作成します。Label ステップには、上記の Explicit Confirmation ステップの Yes 出力ブランチにターゲットを提供する値 Xfer があります(P.66 を参照)。 を参照)に定めます。ここには、通話を適切な内線にリダイレクトするために必要なステップが含まれます。

ステップ 5 Explicit Confirmation ステップの No 出力ブランチを設定します。No 出力ブランチには、If ステップが含まれます。If ステップは、式 attempts < MaxRetry を評価することにより、最大再試行回数に到達したかどうかを判別します。この式では、試行回数(attempts 変数に格納)が最大再試行回数の値(MaxRetry 変数に格納)よりも少ないかどうかを判別します。最大再試行回数に到達していないと If ステップが判別した場合、スクリプトは True 出力ブランチを実行します。If ステップの True 出力ブランチは、もう一度目的の人の名前を入力する機会を発信者に与えます。

ステップ 6 True 出力ブランチの Increment ステップを設定します。Increment ステップは attempts 変数の値を 1 つずつ増やします。

ステップ 7 True 出力ブランチの Goto ステップを設定します。Goto ステップは適切な名前を入力する機会をさらに発信者に与えるため、DialByName 出力ブランチの最初にある DialByName の Label ステップの最初に発信者を戻します。

上記のステップ 5 で説明したように、No 出力ブランチの If ステップは最大再試行回数に到達していないかどうかを判別します。最大再試行回数に達した場合、スクリプトは False 出力ブランチを実行します。スクリプトは 2 番目の Play Prompt ステップ(Play Prompt ステップの設定 を参照)に進みます。


 

Implicit Confirmation ステップの No 出力ブランチの設定が完了した後に、Yes 出力ブランチを設定する必要があります。図 38 に示すように、Implicit Confirmation ステップの Yes 出力ブランチは通話を適切な内線にリダイレクトします。

図 38 Name To User:Implicit Confirmation ステップの Yes 出力ブランチ

 

次の作業を実行して、Implicit Confirmation ステップの Yes 出力ブランチを設定します。


ステップ 1 Implicit Confirmation の Yes ブランチの Label ステップを作成します。Label ステップには、上記の Explicit Confirmation ステップの Yes 出力ブランチにターゲットを提供する値 Xfer があります(Explicit Confirmation ステップの Yes 出力ブランチを設定します。Explicit Confirmation ステップが発信者からの確認を正常に受け取った場合、スクリプトは Yes 出力ブランチを実行します。Explicit Confirmation ステップの Yes 出力ブランチは、スクリプトの実行方向を Implicit Confirmation ステップの Yes 出力ブランチにある Xfer Label ステップ(P.67 を参照)に定めます。ここには、通話を適切な内線にリダイレクトするために必要なステップが含まれます。 を参照)。

ステップ 2 Implicit Confirmation の Yes ブランチの最初の If ステップを作成します。最初の If ステップは、式 extnXfer != null を評価することにより、目的の内線が存在するかどうかに基づいて、スクリプトの実行方向を定めます。この式は extnXfer 変数(内線番号を格納)の値が null でないかどうかを判別します。

ステップ 3 最初の If ステップの False 出力ブランチを設定します。If ステップが選択されたユーザの内線を検出しなかった場合、スクリプトは False 出力ブランチを実行します。ここには Set ステップというステップが 1 つあります。Set ステップは、内線が無効であることを発信者に通知するために再生されるプロンプトの値を設定します。

ステップ 4 最初の If ステップの True 出力ブランチを設定します。If ステップが目的の内線を有効であると評価した場合、スクリプトは True 出力ブランチを実行します。If ステップの True 出力ブランチは、Call Redirect ステップを使用して通話を転送します。


 

Menu ステップにあるほかの 2 つのメイン出力ブランチ(DialByExtn および Operator)と同様に、DialByName 出力ブランチには Call Redirect ステップが含まれており、通話の転送(この場合は適切な内線番号への転送)を試みます。Call Redirect ステップを設定するには、次の作業を実行します。


ステップ 1 Call Redirect ステップの Successful 出力ブランチを設定します。Call Redirect ステップの Successful 出力ブランチは、Set Contact Info ステップを使用して連絡先に Handled のマークを付け、End ステップを使用してスクリプトを終了します。

ステップ 2 Call Redirect ステップの Busy 出力ブランチを設定します。Call Redirect ステップの Busy 出力ブランチは Set ステップを使用して、スクリプトが最後の Play Prompt ステップ(Play Prompt ステップの設定を参照)に進むときに、内線が通話中であるというメッセージを発信者に再生するシステム プロンプトを組み込むように prefixPrompt 変数の値を設定します。

ステップ 3 Call Redirect ステップの Invalid 出力ブランチを設定します。Call Redirect ステップが宛先の内線を無効として登録した場合、スクリプトは Invalid 出力ブランチを実行します。Call Redirect ステップの Invalid 出力ブランチは Set ステップを使用して、スクリプトが最後の Play Prompt ステップ(Play Prompt ステップの設定 を参照)に進むときに、内線が無効であるというメッセージを発信者に再生するシステム プロンプトを組み込むように prefixPrompt 変数の値を設定します。

ステップ 4 Call Redirect ステップの Unsuccessful 出力ブランチを設定します。Call Redirect ステップが宛先の内線を使用不能として登録した場合、スクリプトは Unsuccessful 出力ブランチを実行します。Call Redirect ステップの Unsuccessful 出力ブランチは Set ステップを使用して、スクリプトが最後の Play Prompt ステップ(Play Prompt ステップの設定 を参照)に進むときに、内線が使用不能であるというメッセージを発信者に再生するシステム プロンプトを組み込むように prefixPrompt 変数の値を設定します。


 

Implicit Confirmation ステップの Yes 出力ブランチにある最初の If ステップの設定が完了した後、2 番目の If ステップを設定する必要があります。次の作業を実行します。


ステップ 1 Implicit Confirmation の Yes ブランチの 2 番目の If ステップを作成します。2 番目の If ステップは、式 attempts < MaxRetry を評価することにより、最大再試行回数に到達したかどうかに基づいてスクリプトの実行方向を定めます。この式では、試行回数(attempts 変数に格納)が許可される最大再試行回数(MaxRetry 変数に格納)よりも少ないかどうかを判別します。

ステップ 2 If ステップの False 出力ブランチを設定します。最大再試行回数に達したことを 2 番目の If ステップが検出すると、スクリプトは False 出力ブランチを実行して、最後の Play Prompt ステップ(Play Prompt ステップの設定を参照)に進みます。

ステップ 3 If ステップの True 出力ブランチを設定します。最大再試行回数に到達していないと If ステップが検出した場合、スクリプトは True 出力ブランチを実行します。If ステップの True 出力ブランチは、発信者に正しく名前を入力する機会をさらに与えます。Increment ステップは attempts 変数の値を 1 つずつ増やします。Goto ステップは適切な内線番号を発信者にさらに入力させるため、Get Digit String ステップの DialByName 出力ブランチの最初にある DialByName の Label ステップの最初に発信者を戻します。


 

Name to User ステップの設定(続き)

Name to User ステップの出力ブランチの設定を完了するため、Name to User ステップの Operator 出力ブランチを設定します。オペレータに転送する発信者の入力を Name to User ステップが受け取った場合、スクリプトは Operator 出力ブランチを実行します。図 39 に示すように、この出力ブランチは通話をオペレータに転送します。

図 39 Name to User:Operator 出力ブランチ

 

Operator 出力ブランチは、Goto ステップを使用して発信者を Menu ステップの Operator 出力ブランチに渡します。Menu ステップによってオプションが提示されたときに、発信者がメニュー オプション「3」(オペレータと会話する)を選択した場合、スクリプトは Operator 出力ブランチを実行します。

図 40 に示すように、Operator 出力ブランチは通話をオペレータに転送します。

図 40 Menu:Operator 出力ブランチ

 

Operator 出力ブランチを設定するには、次の作業を実行します。


ステップ 1 Operator ブランチの Label ステップ(Xfer Operator)を作成します。Label ステップには、Goto ステップにターゲットを提供する値 Xfer Operator があります。

ステップ 2 Operator ブランチの Call Redirect ステップを作成します。Menu ステップにあるほかの 2 つのメイン出力ブランチ(DialByExtn および DialByName)と同様に、Operator 出力ブランチには Call Redirect ステップが含まれており、通話の転送(この場合はオペレータへの転送)を試みます。

ステップ 3 Call Redirect ステップの Successful 出力ブランチを設定します。Call Redirect ステップの Successful 出力ブランチは、Set Contact Info ステップを使用して連絡先に Handled のマークを付け、End ステップを使用してスクリプトを終了します。

ステップ 4 Call Redirect ステップの Busy 出力ブランチを設定します。Call Redirect ステップの Busy 出力ブランチは Set ステップを使用して、スクリプトが最後の Play Prompt ステップ(Play Prompt ステップの設定 を参照)に進むときに、内線が通話中であるというメッセージを発信者に再生するシステム プロンプトを組み込むように prefixPrompt 変数の値を設定します。

ステップ 5 Call Redirect ステップの Invalid 出力ブランチを設定します。Call Redirect ステップが宛先の内線を無効として登録した場合、スクリプトは Invalid 出力ブランチを実行します。Call Redirect ステップの Invalid 出力ブランチは、Set ステップを使用して prefixPrompt 変数の値を設定します。この変数には、スクリプトが最後の Play Prompt ステップ(Play Prompt ステップの設定 を参照)に進むときに、内線が無効であるというメッセージを発信者に再生するシステム プロンプトが含まれます。

ステップ 6 Call Redirect ステップの Unsuccessful 出力ブランチを設定します。Call Redirect ステップが宛先の内線を使用不能として登録した場合、スクリプトは Unsuccessful 出力ブランチを実行します。Call Redirect ステップの Unsuccessful 出力ブランチは Set ステップを使用して、スクリプトが最後の Play Prompt ステップ(Play Prompt ステップの設定 を参照)に進むときに、内線が使用不能であるというメッセージを発信者に再生するシステム プロンプトを組み込むように prefixPrompt 変数の値を設定します。

ステップ 7 Operator ブランチの If ステップを設定します。If ステップは、式 attempts < MaxRetry を評価することにより、最大再試行回数に到達したかどうかをスクリプトが判別できるようにします。この式では、試行回数(attempts 変数に格納)が最大再試行回数(MaxRetry 変数に格納)よりも少ないかどうかを判別します。

ステップ 8 Operator ブランチにある Ifステップの True 出力ブランチを設定します。最大再試行回数に到達していないと If ステップが判別した場合、スクリプトは True 出力ブランチを実行します。If ステップの True 出力ブランチは、最大再試行回数に達するまで、発信者が MainMenu Label に繰り返し戻ることができるようにします。Increment ステップは attempts 変数の値を 1 つずつ増やします。Goto ステップは MainMenu Label にスクリプトを戻します。

ステップ 9 Operator ブランチにある Ifステップの False 出力ブランチを設定します。最大再試行回数に到達したと If ステップが判別した場合、スクリプトは False 出力ブランチを実行します。If ステップの False 出力ブランチは、スクリプト内で Menu ステップと同じレベルの次のステップ、つまり Play Prompt ステップに進みます。図 12 を参照してください。


 

Play Prompt ステップの設定

Menu ステップの下に、通話の転送に成功したステップやブランチがない場合、スクリプトは Play Prompt ステップに進みます。図 41 に示すように、Play Prompt ステップは通話の転送が不可能であることを発信者に通知するプロンプトを(最後の手段として)再生します。Play Prompt ステップは prefixPrompt + SP[AA/AASorry] を再生します。これにより、試みた転送が失敗した理由を発信者に通知します。

図 41 スクリプトの終了

 

Call Redirect ステップの設定

Play Prompt ステップが通話転送の失敗を発信者に通知した後、Call Redirect ステップは operExtn 変数に格納された内線番号を使用して、通話をオペレータに転送しようとします。

If ステップの設定

If ステップは、最大再試行回数に到達したかどうかを判別します。前の例と同様に、If ステップおよび Increment ステップは発信者に最大回数の再試行を許可します。転送が成功すると、スクリプトは終了します。

Play Prompt ステップの設定

通話をオペレータに転送できないまま最大再試行回数に到達した場合、Play Prompt ステップは転送に失敗した理由を説明する prefixPrompt を再生します。

Terminate ステップの設定

prefixPrompt の再生後に、 Terminate ステップは通話を切断します。このステップはデフォルトの連絡先を受け入れるため、設定の必要はありません。

End ステップの挿入

End ステップによってスクリプトは終了し、すべてのシステム リソースが解放されます。End ステップの設定の必要はありません。