我现在正在使用星号13.9.1并且我想设置一个IVRS:当用户拨打分机号码(例如512)时,系统将播放.wav文件,要求用户输入他/她的信用卡数字,这是16位数,在用户输入16位数后,系统将读出数字并要求确认(再次.wav),然后用户应输入1(确认)或0(返回输入),如果输入为1,则系统将呼叫转发到另一个分机(负责人)。 我已经编写了用于询问输入的代码,但它不起作用,我不知道如何解决它,系统现在只能播放.wav请求输入并且无法监听用户输入,这里是我的extensions.conf
[voicemenu-custom-200] ; once the user dial 512, the following section
include default ; will be executed
exten = s,1,NoOp(InCallExt)
exten = s,2,Answer()
exten = s,3,Playback(dir-intro); I'm using the default sound right now,
; here is where the system ask for user input
exten => s,1,Gotoif($[ "${LEN(${extensao})}" < "16"]?16:100)
; here might be listening the 16 digit input
exten => s,n,Read(digito||16)
exten => s,n,SayDigits(${digito})
exten => s,n,Set(extensao=${extensao}${digito})
exten => h,1,hangup()
我还没有做确认部分,因为系统无法读出数字, 代码不是我创建的,说实话,我只是谷歌并给它一些修改,我不知道数字保存在哪里并从哪个文件中读取。 我在拨打512(扩展名)后尾随日志消息 有错误说:app_voicemail.c:无法在上下文默认情况下找到邮箱801 请注意,801是我当前登录的用户
答案 0 :(得分:0)
您已为分机512编写了拨号方案。您显示的拨号方案是空分机。
欲了解更多信息,请阅读一些好书,如ORelly“Asterisk the telephony”,你的任务中的太多问题仍然有待解决。