Базовая настройка Asterisk 11 в Debian Wheezy: голосовая почта

Aug 13, 2015 11:32 · 296 words · 2 minute read asterisk debian

В предыдущей статье мы успешно настроили 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’е закончена, далее рассмотрим настройку входящих и исходящих звонков.

tweet Share