Базовая настройка Asterisk 11 в Debian Wheezy: голосовая почта
Aug 13, 2015 11:32 · 296 words · 2 minute read
В предыдущей статье мы успешно настроили Asterisk для обслуживания внутренних звонков, теперь давайте разберемся с настройкой голосовой почты в Asterisk 11.
Прежде всего, нужно отредактировать конфигурационный файл /etc/asterisk/extensions.conf
и привести его к следующему виду:
[office]
; внутренние 3-х значные номера, начинаются с 1
exten => _1XX,1,Set(TARGETNO=${EXTEN})
exten => _1XX,n,Set(fname=${STRFTIME(${EPOCH},,%Y%m%d)}-${UNIQUEID})
exten => _1XX,n,MixMonitor(/var/spool/asterisk/monitor/${fname}.wav)
exten => _1XX,n,Set(AUDIOHOOK_INHERIT(MixMonitor)=yes)
exten => _1XX,n,Dial(SIP/${EXTEN},15,mg)
exten => _1XX,n,Log(NOTICE, "DIALSTATUS = ${DIALSTATUS}")
exten => _1XX,n,Goto(s-${DIALSTATUS},1)
exten => s-BUSY,1,Goto(voicemail,1)
exten => s-NOANSWER,1,Goto(voicemail,1)
exten => s-CHANUNAVAIL,1,Goto(voicemail,1)
exten => s-ANSWER,1,Hangup
exten => h,1,Hangup
exten => voicemail,1,Playback(vm-nobodyavail)
exten => voicemail,n,VoiceMail(${TARGETNO})
exten => voicemail,n,Playback(vm-goodbye)
exten => voicemail,n,Hangup
Таким образом, если в течении 15 секунд вызываемый абонент не ответит и в переменной DIALSTATUS
мы получим одно из трех значений — BUSY
, NOANSWER
или CHANUNAVAIL
, то звонящему будет проиграно сообщение «К сожалению сейчас никто не может принять Ваш звонок» и будет предложено оставить сообщение голосовой почты. После сохранения голосового сообщения с помощью приложения VoiceMail()
на всякий случай попрощаемся со звонящим и положим трубку.
Примечание. Переменная DIALSTATUS
может принимать девять (!) значений, но мы не будем обрабатывать их все
За настройку голосовой почты в Asterisk’е отвечает конфигурационный файл /etc/asterisk/voicemail.conf
. В этом файле:
- в секции
[general]
должны быть раскомментированы следующие строки:
[general]
format=wav
serveremail=asterisk
attach=yes
Примечание. Также на мой взгляд очень полезна опция externnotify
, позволяющая вызывать указанный вами скрипт после сохранения голосового сообщения.
- создадим секцию
[office]
такого вида:
[office]
101 => ,<Имя> <Фамилия>,<почтовый_ящик>
102 => ,<Имя> <Фамилия>,<почтовый_ящик>
103 => ,<Имя> <Фамилия>,<почтовый_ящик>
...
Здесь мы настраиваем ящики голосовой почты (без пароля). При поступлении нового голосового сообщения пользователю будет отправляться письмо с вложением на указанный почтовый ящик. Во вложении письма будет присутствовать само голосовое сообщение в формате *.wav
.
После внесения изменений в конфигурационные файлы не забываем выполнить:
/etc/init.d/asterisk reload
На этом базовая настройка голосовой почты в Asterisk’е закончена, далее рассмотрим настройку входящих и исходящих звонков.