atersik waitexten无选择默认值

时间:2018-10-31 08:43:48

标签: asterisk ivr

我正在尝试用星号制作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)

1 个答案:

答案 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