我正在尝试用星号制作IVR菜单。我的问题是,如果呼叫者在WaitExten中没有选择,我如何告诉星号转到[egy_mainmenu_1]?
我的代码是:
exten => s,n,Background(bizt_welcome3)
exten => s,n,WaitExten(5)
exten => _[12345],1,Goto(egy_mainmenu_${EXTEN},s,1)
exten => s,n,Goto(egy_mainmenu_1,s,1)
[egy_mainmenu_1]
exten => s,1,NoOp(${QUEUESTATUS})
exten => s,n,Set(CALLERID(name)=KGFB)
exten => s,n,Queue(q-egy,hRt,,,3600)
exten => s,n,GotoIf($["${QUEUESTATUS}" = "TIMEOUT"]?timeout)
exten => s,n,GotoIf($["${QUEUESTATUS}" = "FULL"]?full)
exten => s,n,GotoIf($["${QUEUESTATUS}" = "JOINEMPTY"]?joinempty)
exten => s,n,GotoIf($["${QUEUESTATUS}" = "LEAVEEMPTY"]?leaveempty)
exten => s,n,Goto(hup)
答案 0 :(得分:0)
如果呼叫者不执行任何操作,将超时。
在您的情况下,它将在WaitExect之后转到下一个扩展名,即goto。
但请注意, n 始终是上一行优先级+1。 在您的情况下,goto附近的 n 为2,因此它将不起作用。
在其他选择之后,您应该先放置 s 的所有拨号计划。
exten => s,1,Background(bizt_welcome3); no way put n if no prevous priority, use 1
exten => s,n,WaitExten(5) ; now n is 2
exten => s,n,Goto(egy_mainmenu_1,s,1); now n is 3
exten => _[12345],1,Goto(egy_mainmenu_${EXTEN},s,1); this is other ext
exten => _[12345],n,Noop; here is n=2 AGAIN.
您可以通过星号控制台进行注视来查看结果
asterisk -r
dialplan show