Добавляем в астериск функцию секретаря или делаем свою IVR.
Я думаю многим хочется разгрузить своего секретаря на предмет переключения на разные телефоны, если абоненту заранее известен внутренний номер сотрудника. Подробности внутри.
Первое что хотелось бы сказать, у астериска есть Goto, я думаю многие знают что это такое из того-же паскаля.
С помощью этого инструмента можно для всех входящих транков сделать 1 голосовую меню. Делается это очень просто:
в extension.conf прописываем:
[ttknn]
exten => тут_номер_телефона,1,Goto(menu,i,1,,Tt)
это означает, что при поступлении звонка нужно перебросить в контекст меню на 1 правило.
вот пример моего меню
[menu]
exten => i,1,Set(home=/usr/share/asterisk/sounds/en)
exten => i,2,Wait(1)
exten => i,3,Background(${home}/beep)
exten => i,4,Background(${home}/dial-exten-tone)
exten => i,5,Background(/usr/share/asterisk/sounds/ru/dlja-otpravki-faksa)
exten => i,6,Background(/usr/share/asterisk/sounds/ru/press)
exten => i,7,Background(/usr/share/asterisk/sounds/ru/digits/90)
exten => i,8,Background(/usr/share/asterisk/sounds/ru/digits/9)
exten => i,9,WaitExten(3)
exten => _XXX,1,Macro(stdexten,${EXTEN},SIP/${EXTEN},,mTt)
exten => 99,1,Set(fname=${STRFTIME(${EPOCH},,%Y%m%d%H%M)}-${CALLERID(number)}-${EXTEN})
exten => 99,2,ReceiveFAX(/home/share/${fname}.tif)
exten => 99,3,System(‘/home/fax-process.pl –to email@email.ru –from from@email.ru –subject «Fax from ${fname} device» –attachment ${fname}.pdf –type application/
pdf –file /home/share/${fname}.tif’)
exten => t,1,Set(fname=${STRFTIME(${EPOCH},,%Y%m%d%H%M)}-${CALLERID(number)}-${EXTEN})
exten => t,2,MixMonitor(/home/share/monitor/${fname}.wav)
exten => t,3,Dial(SIP/100&SIP/102&SIP/103,,Tt)
exten => t,4,Playback(/usr/share/asterisk/sounds/ru/pls-try-call-later)
тут очень важно понимать разницу между Playback и Background
в случае если использовать Playback, то астериска не будет никак реагировать на пользователя пока не проиграет файл, в случае же с Background, файл играет в фоне, а астериска слушает, что делает пользователь, тоесть если пользователь что-то нажмет во время проигрывания Background, то астериска отреагирует.
А теперь давайте разберем по пунктам.
1. С самой менюшкой я думаю тоже все понятно, тут мы в течении 3-х секунд после проигрывания файлов ждем от абонента реакции если ее не поступает, то перенаправляем вывоз на внутренние телефоны.
2. по поводу факсов, я использую скрипт выдраный из trixbox.
сама функция ReceiveFAX принимает факсы в TIF как вы уже догадались. Скрипт переконвертирует файл в PDF и отправляет на почту(но тут есть маленький ньюанс), если идет запрос разговора во время приема факса, то ReceiveFAX после приема факса вылетает с ошибкой, по неизвестной мне пока причине(будем надеяться что в следующих редакциях астериска это исправят). В любом случае факс у нас остается на сервере, и его можно сложить в папку доступную по web. нам еще придется включить T38, это делается в файле sip.conf, там это очень хорошо расписано.
P.S. вот сам
http://img.nnov.org/data/myupload/1/266/1266754/fax-process-pl.gz
и звуковые файлы:
http://www.ivrvoice.ru/downloader