Вот накидал примерную структуру голосового меню: [overlink] exten => 401,1,Answer() ;Поднимаем трубку exten => 401,2,Set(numTries=0) ;Выставляем кол-во попыток exten => 401,3(naberite),Background(naberite) ;Рассказываем о возможности набрать цифры 4 и 5 exten => 401,4,WaitExten() ;Ждем ввода от пользователя exten => 100,1,Goto(director,s,1) ;Нажали 100 переходим на меню Генерального директора exten => 101,1,Goto(buhgalter,s,1) ;Нажали 101 переходим на меню Бухгалтера exten => 102,1,Goto(finanse,s,1) ;Нажали 102 переходим на меню Фин.Директора exten => 401,5,Playback(pbx-invalid) ;Нажали не 4-ре и не 5-ть . говорим что ввод не верный exten => 401,6,Goto(s,naberite) ; Возвращаемся и повторяем сообщение какие кнопки нажимать exten => 401,7,Set(numTries=$[${numTries} + 1]) ; Увеличивает кол-во попыток при таймауте exten => 401,8,GotoIf($["${numTries}" < "3"]?s|naberite) ;Пока потыток меньше 3-х повторяем exten => 401,9,Playback(bay) ;Кол-во попыток на таймаут израсходовано, прощаемся exten => 401,10,Hangup() ; Вешаем трубку [director] exten => s,1,Playback(spasibo_za_zvonok_zdite_otveta) exten => s,n,Dial(SIP/sipnet_202/83012XXXXXX,40) exten => t,n,Hangup() [buhgalter] exten => s,1,Playback(spasibo_za_zvonok_zdite_otveta) exten => s,n,Dial(SIP/sipnet_202/8924XXXXXX,40) exten => t,n,Hangup() [finanse] exten => s,1,Playback(spasibo_za_zvonok_zdite_otveta) exten => s,n,Dial(SIP/sipnet_202/83012XXXXXX,40) exten => t,n,Hangup()