我们有一个Asterisk IVR系统设置,提示输入星号挂断,如果主叫方输入一些早期
用户在我们的扩展文件,我们有以下几点:
[englishprocess]
exten => s,1,Answer()
exten => s,n,Wait(1)
exten => s,n,Set(TIMEOUT(digit)=2)
exten => s,n,agi(mstts.agi,"Please enter your ID number followed by pound.",en-US)
exten => s,n,Read(APCODE,,666)
exten => s,n,agi(mstts.agi,"Your ID Number is",en)
exten => s,n,SayDigits(${APCODE})
exten => s,n,agi(mstts.agi,"If this is correct press, 1, otherwise, press, 3",en-US)
exten => s,n,Read(CHECK,,1)
exten => s,n,GotoIf($["${CHECK}" = "3"]?englishprocess,s,1)
exten => s,n,Set(MYADDR=${CURL(webserviceaddress.php?idnum=${APCODE})})
exten => s,n,agi(mstts.agi,${MYADDR},en-US)
exten => s,n,Hangup()
的问题是,如果用户输入自己的ID的文本到语音提示完成之前,或者如果他们之前打1话说完
“如果这是正确按1,否则按3”
服务挂断。
我们如何保持过程相同并接受早期用户输入?
如果早期接受用户输入是不可能的,有没有办法防止挂断并再次提示?
没有你的agi脚本的代码,你无法回答你的问题。 – arheops