在业务流程开发的过程中,常常会遇到语音菜单——给用户播放提示音,让用户作出选择。如提示用户“业务咨询请按1,余额查询请按2,修改密码请按 3 ” ,然后根据用户的输入进入不同的处理过程。
下面的例子流程功能如下:
(1) 播放提示音“Menu.Vox”,同时等待用户的按键。只要用户有按键,停止播音,若用户的按键是“1”、“2”或“3”的话,系统返回StopDigits('1')、StopDigits('2')或StopDigits('3'),子流程结束。相应返回1、2或3。
(2) 如果用户的按键不是“1”、“2”、“3”的话,系统返回StopDigits,就重新播放提示音。
(3) 如果用户在提示音播放完都没有按键的话,系统会等待6秒钟。若用户还是没有按键,系统会返回TimeOut的事件,就重新播放提示音。
voiceMenu
{
:stWait
->stPrompt
:stPrompt
[ClearDTMF]
[SetDTMF “?”] //可以接受任意的按键
[PlayFile “menu.vox”]
StopPlayBack ->stDigit
DialTerminate-> stDigit
Failed->stExit
:stDigit
[Digit 6] // 在6 秒内接收按键
StopDigits('1') -> stDigit1
StopDigits('2') -> stDigit2
StopDigits('3') -> stDigit3
StopDigits -> stPrompt
TimeOut -> stPrompt
: stDigit1
[Assign IR9,1]
->stExit
: stDigit2
[Assign IR9,2]
->stExit
: stDigit3
[Assign IR9,3]
->stExit
:stExit
[Return IR9]
}