atersik waitexten нет выбора по умолчанию - PullRequest
0 голосов
/ 31 октября 2018

Я пытаюсь сделать меню 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 голосов
/ 31 октября 2018

Если звонящий ничего не делает, время ожидания истекает.

В вашем случае это будет следующее расширение после WaitExect, т.е. goto.

но обратите внимание, n всегда является приоритетным приоритетом линии + 1. В вашем случае n возле goto равно 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
...