Телефония Asterisk с нуля. Текстовая инструкция


 Работа Asterisk в зависимости от дня недели и времени суток


Download 1.04 Mb.
Pdf ko'rish
bet41/41
Sana29.07.2023
Hajmi1.04 Mb.
#1663540
TuriРуководство
1   ...   33   34   35   36   37   38   39   40   41
Bog'liq
Телефония Asterisk с нуля. Текстовая инструкция

8.5 Работа Asterisk в зависимости от дня недели и времени суток 
Существует возможность сделать так, чтобы во вне рабочее время телефоны просто так не звонили, а 
клиенту проигрывалось сообщение о том, что сейчас не рабочее время с возможностью оставить 
сообщение на голосовую почту.
Общий принцип работы такой:
1) Если не рабочее время - проигрываем сообщение о том, что время не рабочее и просим оставить 
сообщение 
2) Если время рабочее - Asterisk работает в привычном режиме.


© Никоноров М.Ю, 2014 
130 
Реализуем! 
а) nano /etc/asterisk/extensions.conf 
В этом файле найдем контекст [incoming] и заменим его содержимое следующим:
exten => _X.,1,GotoIfTime(00:00-23:59|sat-sun|*|*?workinghours,s,1) 
exten => _X.,2,GotoIfTime(18:00-09:00|mon-fri|*|*?workinghours,s,1) 
exten => _X.,3,Goto(menu,s,1) 
б) После контекста incoming добавим новый контекст workinghours со следующим содержимым:
[workinghours] 
exten => s,1,Background(/var/lib/asterisk/moh/worktime/workingtime) 
exten => s,2,Set(fname=${STRFTIME(${EPOCH},,%Y%m%d%H%M)}-${CALLERID(number)}-${EXTEN}) 
exten => s,3,Record(/var/www/html/voicemail/${fname}.wav,0,8,X) 
exten => s,4,Hangup 
в) Рассмотрим эту связку контекстов. Строка: 
exten => _X.,1,GotoIfTime(00:00-23:59|sat-sun|*|*?workinghours,s,1) 
работает следующим образом: если в указанный промежуток времени (00:00-23:59) с субботы по 
воскресенье (sat-sun) поступает звонок с внешки, то начинает выполняться контекст workinghours. 
А в контексте [workinghours] уже проигрывается сообщение о том, что сейчас не рабочее время и 
включается функция автоответчика.
Далее, строка exten => _X.,2,GotoIfTime(18:00-09:00|mon-fri|*|*?workinghours,s,1) делает тоже самое, 
но с 18 часов вечера до 9 утра с понедельника по пятницу.
Сообщение проигрывается с помощью строки:
exten => s,1,Background(/var/lib/asterisk/moh/worktime/workingtime) 


© YouTube канал DarkMaycal Sysadmins, 2014 
131 
о том, как загрузить музыку(голосовое сообщение), как её перекодировать под формат Asterisk 
написано во втором разделе (установка музыки вместо гудка). Единственное, pscp воспользоваться не 
получиться, поскольку мы намутили с системами защиты. Лучше ту папку, куда нам нужно залить 
голосовое приветствие расшарить через сервер samba. 
Если же входящий звонок не подпадает ни под одно из условий (рабочее время), то выполняется строка 
exten => _X.,3,Goto(menu,s,1) которая запускает обычное голосовое меню (начинает выполняться 
контекст menu) 
Таким образом, телефоны в нашей организации будет звонить только с понедельника по пятницу с 9 до 
18. В любое другое время мы получим сообщение о том, что сейчас не рабочее время. Таким же 
образом можно сделать, например чтобы ночью звонила другая группа телефонов если в контексте 
[workinghours] написать соответствующий диалплан. 
Статьи по этому делу: 
http://voip.rus.net/tiki-index.php?page=Asterisk+cmd+GotoIfTime - функция GotoIfTime 
http://shub123.ucoz.ru/sokrashenia.html - Английские сокращения названий месяцев (в середине 
страницы) 
9. Заключение 
Мы, с Вами, не зная Linux, с абсолютного нуля подняли мощнейшую систему АТС IP телефонии Asterisk. 
Наша АТС отвечает всем современным требованиям безопасности и обеспечивает почти максимально 
возможный функционал. Мы создали полноценный продукт готовый к внедрению в организацию. Вам 
остается лишь немного оптимизировать Ваш созданный сервер под конкретные задачи конкретной 
организации. 

Download 1.04 Mb.

Do'stlaringiz bilan baham:
1   ...   33   34   35   36   37   38   39   40   41




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling