Настройка голосовой почты с отправкой e-mail в Asterisk

26.09.2014 - 18:43

Для отправки email необходимо настроить утилиту ssmtp:

root@raspberrypi:~# apt-get install ssmtp

Правим конфиги:

root@raspberrypi:/etc/ssmtp#cat /etc/ssmtp/ssmtp.conf
mailhub=smtp.gmail.com:587
hostname=smtp.gmail.com:587
root=user@domain
AuthUser=user@domain
AuthPass=your_passwd
UseSTARTTLS=yes
UseTLS=yes
FromLineOverride=yes

root@raspberrypi:/etc/ssmtp# cat /etc/ssmtp/revaliases
root:user@domain:smtp.gmail.com:587

Пробуем отправлять почту:
root@raspberrypi:~# echo "Hello world" | ssmtp -s "test" user@domain

В /etc/asterisk/voicemail.conf заменить на:

mailcmd=/usr/sbin/ssmtp -t

root@voip-srv:/etc/asterisk# /etc/asterisk/sip.conf
...
subscribemwi = no ;voice mail led
...

[101](OFFICE)
defaultuser=user1
secret=пароль
call-limit=5
callerid="Nikolay" <101>
context=local
mailbox=101@voicemailcontext

root@voip-srv:/etc/asterisk# cat voicemail.conf
[general]
format=wav49|gsm|wav
serveremail=no_reply_vi@gmail,.com
attach=yes ; да, нам нужны вложения со звуковым файлом
maxmsg=100  ; максимальное кол-во сообщений для ящика. 100 будет достаточно
maxsecs=600 ; максимальная длинна сообщения, 3 минуту обычно больше чем достаточно...
minsecs=3
maxgreet=60
skipms=3000
;maxsilence=1
;silencethreshold=128
maxlogins=3
moveheard=yes
charset=UTF-8  ; поменяйте кодировку, чтобы избежать проблем с русским текстом
pbxskip=yes
fromstring=VoiceMail ; от этого "лица" будут приходить сообщения
emailsubject=Новое голосовое сообщение ${VM_MSGNUM} в ящике ${VM_MAILBOX}  ; можете поменять Subject
emailbody=Уважаемый ${VM_NAME}:\n\nХотим сообщить, что Вам пришло новое голосовое сообщение длиной ${VM_DUR} под номером (number ${VM_MSGNUM})\nв ящик ${VM_MAILBOX} от ${VM_CALLERID}, в ${VM_DATE}. \nКак будет время, проверьте его!  Спасибо!\n\n\t\t ; и поменять сообщение
emaildateformat=%A, %B %d, %Y at %r
pagerdateformat=%A, %B %d, %Y at %r
mailcmd=/usr/sbin/ssmtp -t
;delete=yes              ; Сообщение будет удалено из системы как только будет отправлено

[zonemessages]
ru=Europe/Moscow|'vm-received' q 'digits/at' H 'hours' M 'minutes'
ua=Europe/Kiev|'vm-received' q 'digits/at' H 'hours' M 'minutes'

[voicemailcontext]  ; контекст голосовой почты
101 => 1234,Nikolay Ivanivich,nick@gmail.com,,attach=yes|tz=ua

root@voip-srv:/etc/asterisk# /etc/asterisk/extensions.conf
exten => 500,1,Log(NOTICE, Dialing out from ${CALLERID(all)} to VoiceMail (500))
;Если нужно предоставить возможность попадать в свой ящик голосовой почты с других номеров (с запросом номера и пароля) то нужно добавить вот такую секцию (здесь номером голосовой почты является 500):
;exten => 500,n, VoiceMailMain(@voicemailcontext) ;с авторизацией
;Если нужно автоматом попадать в свой ящик без авторизации:
exten => 500,n,VoiceMailMain(0${CALLERID(num)}@voicemailcontext,s) ;без авторизации
exten => 500,n, Hangup

;Пример для номера 101
exten => 101,1,Set(MONITOR_FILE=/var/spool/asterisk/monitor/${UNIQUEID})
exten => 101,2,MixMonitor(${MONITOR_FILE}.wav,b)
exten => 101,3,Dial(SIP/101,30,m)
exten => 101,4,NoOp(Voicemail handler)
exten => 101,5,Set(CDR(accountcode)=voicemail)
exten => 101,6,VoiceMail(101@voicemailcontext)

Список голосовых ящиков и количества писем:

voip-srv*CLI> voicemail show users

Пример голосового сообщения:
IMG_0122_0.JPG

Ваша оценка: Нет Средняя: 1.3 (3 голосов)