Я хочу создать пример многоуровневого IVR. Скажем, приветственное меню, где вас просят ввести ваш employeeid. После этого есть второе меню, и у вас есть возможность вернуться в предыдущее меню. Любая идея, как это сделать?
Вот пример псевдокода, который не работает, потому что я пока не знаю, как создать многоуровневый IVR.
[TestMenu]
exten => start,1,Answer()
same => n,Log(NOTICE, call starts)
same => n,Background(welcomeintro) // welcome menu
same => n,Background(welcomeoption) // options that your have
same => n,WaitExten(5)
exten => 0,1,Playback(digits/0) ; if enter 0, play back the welcome menu
same => n,Goto(TestMenu,start,1) // ??? is it ok ? and suppose that I want to skip to Background(welcomeoption) part directly ?
// if 1 is enterred, lets ask for employeeid
exten => 1,1,Playback(digits/1) ;
same => n,Playback(askemployeeid)
same => n,goto ????
exten => i,1,Playback(pbx-invalid) ; invalid
same => n,Goto(TestMenu,start,1)
exten => t,1,Playback(byebye) ; timeout
same => n,Hangup()
[employeeid]
....
Предположим, что идентификатор сотрудника равен 1-8, а 9 соответствует возврату в предыдущее меню. При вводе 1-8 он будет воспроизводить аудиофайл и выходить.