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

目次

自動受付スクリプトの例

サンプル スクリプトの概要

システム プロンプト

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

スクリプトの変数の設定

[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 ステップの挿入」

サンプル スクリプトの概要

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


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


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

図 19 aa_sample1.aef スクリプト

 

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

 

1

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

2

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

3

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

4

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

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

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

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

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

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

』を参照してください)。

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 プロンプトのファイル名を設定できます。カスタム プロンプトを参照するようにデフォルトのウェルカム プロンプトを変更できます。


カスタム スクリプトの場合、独自のプロンプトを録音する必要があります。プロンプトは専門家が録音するか、Administration via Telephone(AvT)を使用して自分の声で録音ができます。AvT の詳細については、『Cisco Unity Express 7.0 GUI Administrator Guide』または『Cisco Unity Express Voice-Mail and Auto-Attendant CLI Administrator Guide for 3.0 and Later Versions』を参照してください。


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

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

スクリプトの変数の設定

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

図 20 aa_sample1.aef スクリプトの [Variables] ペイン

 

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

 

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

変数名
変数タイプ
機能

welcomePrompt

Prompt

P[AA\Welcome.wav]

発信者に応答します。パラメータ。「[Design] ペインでのステップの設定」を参照してください。

extnXfer

String

--

発信者が転送される内線番号を格納します。「Menu ステップの DialByExtn 出力ブランチの設定」ステップ 1 を参照してください。

user

User

null

発信者が Name To User ステップで選択するユーザを示します。「Menu ステップの DialByName 出力ブランチの設定」を参照してください。

menuPrompt

Prompt

--

名前または内線番号による呼び出しに対して、初期メニューのオプションを示します。「[Design] ペインでのステップの設定」ステップ 3 を参照してください。

prefixPrompt

Prompt

--

発信者に通話のステータスを通知します。この値は多くのステップに依存します。「Main Menu ステップの設定」ステップ 1 を参照してください。

attempts

Integer

1

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

extnPrompt

Prompt

--

内線番号の入力を発信者に求めます。「Menu ステップの DialByExtn 出力ブランチの設定」ステップ 4 を参照してください。

namePrompt

Prompt

--

到達先の人の名前を入力するよう発信者に求めます。ステップ 5「[Design] ペインでのステップの設定」 を参照してください。

prompt

Prompt

--

録音済みステータス メッセージの再生、発信者に対する入力の要求、オプション メニューの再生など、スクリプト全体でさまざまな目的に使用されます。「[Design] ペインでのステップの設定」を参照してください。

spokenName

Document

null

発信者が到達しようとしている人の音声名に関するオーディオ ドキュメントを格納します。ステップ 3「Menu ステップの DialByName 出力ブランチの設定」 を参照してください。

name

String

--

発信者が到達しようとしている人の記述名を格納します。「Name to User ステップの Operator 出力ブランチの設定」を参照してください。

MaxRetry

Integer

3

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

operExtn

String

--

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

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

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


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

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

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

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

 

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

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

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

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

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

 

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

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

 

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

[General] タブ

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

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

[Prompt] タブ

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

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

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

[Input] タブ

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

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

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

 

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

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

 

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

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

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

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

 

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

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

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

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

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

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

 

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

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

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


 

Main Menu ステップの設定

次の各項では、Main Menu ステップの設定方法を説明します。

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

「Implicit Confirmation ステップの設定」

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

「Name to User の出力ブランチの設定」

「Implicit Confirmation ステップの No 出力ブランチの設定」

「Implicit Confirmation ステップの Yes 出力ブランチの最初の If の 設定」

「Call Redirect ステップの設定」

「Implicit Confirmation ステップの Yes 出力ブランチの 2 番目の If の設定」

「Name to User ステップの Operator 出力ブランチの設定」

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


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

図 28 Create Container Prompt:設定された [General] タブ

 

ステップ 2 [Create Container Prompt] ウィンドウの各タブで、次のようにフィールドを設定します。

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

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

[Prompts] リストボックス

prefixPrompt + menuPrompt

menuPrompt

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

ステップ 3 Prefix Prompt Set ステップを挿入します。このステップは prefixPrompt の値を P[] に設定します。これは空であることを示します。発信者が MainMenu Label ステップに戻ってメニュー オプションをもう一度聞く場合、この Set ステップはスクリプトによって事前に割り当てられた可能性のある prefixPrompt の値をクリアします。 Call Redirect ステップは、発信者を MainMenu Label に頻繁に戻します。例については、図 38 を参照してください。

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

図 29 [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 ステップの DialByExtn 出力ブランチの設定

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

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

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

 

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


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

図 31 DialByExtn のスクリプト

 

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

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

Create Container Prompt ステップ: prefixPrompt extnPrompt 内線番号の入力を発信者に求める事前に設定されたプロンプト)で構成される連結されたコンテナ プロンプトを作成します(宛先への接続でエラーがある場合にループ バックすると、エラー メッセージが発生する場合があります)。

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

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

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

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 ステップの設定」を参照)に進みます。

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

 

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

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

 


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


ステップ 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 ステップを設定します。図 34 に示すように、このステップは、通話を転送する前に発信者に入力内容を確認するため、受け取った数字を発信者に再生するプロンプトを作成します。

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

 

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

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

[Generator Type]:[telephone.number]:ジェネレータ型 (「ジェネレータ型」 を参照してください)。

[Constructor Type]:[number]:コンストラクタ型 (「ジェネレータ型」 を参照してください)。

[extnXfer]:extnXfer 変数は number コンストラクタの結果を格納します。

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

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

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

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

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

 

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

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

 

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

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

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

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

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

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

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

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

図 37 設定された [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 ステップが含まれており、通話の転送(この場合は適切な内線番号への転送)を試みます。図 38 に示すように、 Call Redirect ステップには 4 つの出力ブランチがあります。

図 38 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 ステップがあります。図 38 に示すように、Set ステップでは、内線が使用不能であるというメッセージを発信者に再生するシステム プロンプトを組み込むための prefixPrompt の値が設定されます。

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

4. Call Redirect ステップの Unsuccessful 出力ブランチ:Call Redirect ステップが宛先の内線を使用不能として登録した場合、スクリプトは Unsuccessful 出力ブランチを実行します。Call Redirect ステップの Unsuccessful 出力ブランチは、prefixPrompt 変数の値を設定して、内線が使用不能であることを発信者に通知します。Call Redirect ステップの Unsuccessful 出力ブランチには Set ステップがあります。図 38 に示すように、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 ステップの DialByName 出力ブランチの設定

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


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

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

 

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

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

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

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

図 40 [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 の出力ブランチの設定

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

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

 

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

図 42 設定された [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 と同じように実行します (「Menu ステップの DialByName 出力ブランチの設定」のステップ 7 を参照してください)。


 

Implicit Confirmation ステップの No 出力ブランチの設定

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


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

図 43 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 ステップを作成します図 44 に示すように、 Explicit Confirmation ステップは目的の人の名前について明示的な確認を行います。

図 44 [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 つの出力ブランチがあります。

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

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

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

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

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


 

Implicit Confirmation ステップの Yes 出力ブランチの最初の If の 設定

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

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

 

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


ステップ 1 Implicit Confirmation の Yes ブランチの Label ステップを作成します。Label ステップには、Explicit Confirmation ステップ 5 の Yes 出力ブランチにターゲットを提供する値 Xfer があります。

ステップ 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 ステップを使用して通話を転送します。


 

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 出力ブランチの 2 番目の If の設定

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 ステップの Operator 出力ブランチの設定

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

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

 

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

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

図 47 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 ステップに進みます (図 19 を参照してください)。


 

Play Prompt ステップの設定

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

図 48 スクリプトの終了

 

Call Redirect ステップの設定

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

If ステップの設定

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

Play Prompt ステップの設定

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

Terminate ステップの設定

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

End ステップの挿入

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