wiki:MainMenu
Warning: Error with navigation contributor "DownloaderModule"

Пример создания главного меню компании

Ниже представлен готовый образец диалплана с главным меню компании, взятый из дистрибутива AstPbx. Рядом с каждой строкой указан комментарий с пояснением. При звонке в такое меню клиент слышит следующую фразу:

Здравствуйте! Вас приветствует компания "АТС Дизайн"! Для получения информации коммерческого характера, нажмите цифру 1. Для связи с технической поддержкой, нажмите 2. Для соединения с сотрудником наберите его добавочный номер или дождитесь ответа оператора. Благодарим за звонок.

Вместо фразы "АТС Дизайн", у нас можно заказать запись фразы с именем Вашей компании.

[menu]
include => local-users ; для донабора локальных абонентов включаем контекст local-users.
exten => fax,1,Goto(fax-receive,s,1) ; В случае, если начнется передача факса, обработать его в контексте fax.
exten => s,1,Ringing ; Имитация длинных гудков вызова.
exten => s,n,Set(choice_counter=0) ; В случае, если по какой-либо причине будет сделан неправильный выбор в меню, можно будет начать сначала.
exten => s,n,Wait(3) (Имитация вызова в течение 3-х секунд).
exten => s,n,Set(TIMEOUT(response)=4) ; Ждем ввода не более 4 секунд.
exten => s,n,Set(TIMEOUT(digit)=4) ; Пауза между цифрами - 4 секунды.
exten => s,n,Background(zdravstujte); "Здравствуйте!"
exten => s,n,Background(custom/vas-privetstvuet-ats-design); "Вас приветсвует компания АТС Дизайн" - данная фраза заменяется именем Вашей компании.
exten => s,n(options),Background(to-contact-sales); "ля получения информации коммерческого характера"
exten => s,n,Background(press-1) ; "Нажмите 1."
exten => s,n,Background(to-contact-tech-support); "Для связи с технической поддержкой"
exten => s,n,Background(press-2) ; "нажмите 2."
exten => s,n,Background(to-call-exten) ; "Для соединения с сотрудником"
exten => s,n,Background(dial-exten) ;  "наберите его добавочный номер" 
exten => s,n,Background(or-wait-for-receptionist) ; "или дождитесь ответа оператора"
exten => s,n,Background(thank-you-for-calling) ; "Благодарим за звонок."
exten => s,n,StartMusicOnHold ; Играет музыка на ожидании.
exten => s,n,WaitExten(5); Ждем 5 секунда пока будет сделан выбор
exten => s,n,Goto(queues,reception,1) ; и направляем звонок в очередь секретаря.
; Here are menu options
exten => 0,1,Goto(queues,reception,1) ; При нажатии 0 - на секретаря,
exten => 1,1,Goto(menu-sales,s,1) ; 1 - отдел продаж,
exten => 2,1,Goto(menu-support,s,1) ; 2 - поддержка,
exten => 3,1,Gosub(menu-fax-receive,s,1) ; 3 - отправка факса.
exten => 3,2,Goto(s,options); Если факс не пошел, снова проиграть меню.
; special cases
exten => i,1,Background(nevernyj-vybor); Если набран несуществующий номер внутреннего абонента или выбор в меню, проиграть "Неверный выбор".
exten => i,n,Goto(s,options) ; Огласите, пожалуйста, весь список! (C).
exten => t,1,Background(vremja-ozhidanija-isteklo) ; Если убрать строку Goto(queues,reception,1), то меню будет проигрываться 3 раза
exten => t,1,ExecIf($[ ${choice_counter} > 3 ]|Hangup); и потом повесить трубку.
exten => t,n,Set(choice_counter=$[ ${choice_counter} + 1])
exten => t,n,Goto(s,options)