В этой заметке будет маленькая инструкция, как поставить «заглушку» в виде голосовой почты и осуществить отправку на электронную почту. Задача не хитрая, но будет описано несколько нюансов.
Продолжение читайте дальше…
И так, для начала нужно удостовериться, что система на которой установлен asterisk может отсылать почту во внешний мир. Это может быть как ваш внутренний корпоративный сервер, так и какой-либо внешний почтовый релей. Как научить postfix отправлять сообщения во внешний мир через gmail.
Ниже я приведу листинг простого конфигурационного файла /etc/asterisk/voicemail.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
[general] format=wav49|gsm|wav serveremail=root@asteriskserver.com attach=yes ; да, нам нужны вложения со звуковым файлом maxmsg=100 ; максимальное кол-во сообщений для ящика. 100 будет достаточно maxsecs=180 ; максимальная длинна сообщения, 3 минуту обычно больше чем достаточно... minsecs=3 maxgreet=60 skipms=3000 ;maxsilence=1 ;silencethreshold=128 maxlogins=3 moveheard=yes charset=UTF-8 ; поменяйте кодировку, чтобы избежать проблем с русским текстом pbxskip=yes fromstring=Asterisk Voicemail server ; от этого "лица" будут приходить сообщения emailsubject=Новое голосовое сообщение ${VM_MSGNUM} в ящике ${VM_MAILBOX} ; можете поменять Subject emailbody=Уважаемый ${VM_NAME}:\n\nХотим сообщить, что Вам пришло новое голосовое сообщение длиной ${VM_DUR} под номером (number ${VM_MSGNUM})\nв ящик ${VM_MAILBOX} от ${VM_CALLERID}, в ${V M_DATE}. \nКак будет время, проверьте его! Спасибо!\n\n\t\t--Ваша IP-станция\n ; и поменять сообщение emaildateformat=%A, %B %d, %Y at %r pagerdateformat=%A, %B %d, %Y at %r ;mailcmd=/usr/sbin/sendmail -t ; если у вас какой-то особенный MTA агент - его можно указать тут. delete=yes ; Для варианта, когда голосовая почта отправляется только на email - это хорошая опция. Сообщение будет удалено из системы как только будет отправлено [zonemessages] eastern=America/New_York|'vm-received' Q 'digits/at' IMp central=America/Chicago|'vm-received' Q 'digits/at' IMp central24=America/Chicago|'vm-received' q 'digits/at' H N 'hours' military=Zulu|'vm-received' q 'digits/at' H N 'hours' 'phonetic/z_p' european=Europe/Copenhagen|'vm-received' a d b 'digits/at' HM [voicemailcontext] ; контекст голосовой почты 1101 => 1234,USER LOOSER, user@maildomain.com ; укажите почту получения сообщения |
Итак, простая конфигурация голосовой почты закончена.
Теперь нужно отредактировать dialplan. Вот такой небольшой примерчик
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
[inc] exten => 4956655543,1,NoOp(Incomming) same => n,Answer same => n,GotoIfTime(18:30-8:55,mon-fri,*,*?non-work) same => n,GotoIfTime(0:00-23:59,sat-sun,*,*?non-work) same => n,Set(CDR(accountcode)=incomming) same => n,Set(TIMEOUT(digit)=4) same => n,Background(rabotaem) ; greatings same => n,WaitExten(4) same => n,Goto(next) same => n(non-work),Set(NONWORK=1) same => n,Background(ne_rabotaem) same => n,WaitExten(5) same => n,Goto(voicem,s,1) same => n(next),Goto(t,1) [voicem] exten => s,1,NoOp(Voicemail handler) same => n,Set(CDR(accountcode)=voicemail) same => n,VoiceMail(1101@voicemailcontext) same => n,Hangup |
Заходим в консоль asterisk -rvvvv
и перезагружаем наш конфиг
1 2 |
voicemail reload dialplan reload |