ЛР 3.9 - интеграция с почтой

  1. На ВМ srv установите почтовый сервер.
  2. Через администраторский интерфейс https://srv.lab.lan/iredadmin создайте почтовые ящик manager@lab.lan и asterisk@lab.lan.
  3. На ast22 добавьте записи в /etc/hosts установите консольный почтовый клиент:
    apt install mutt sendmail
  4. Настройте конфиг mutt:
    nano ~/.muttrc
set realname = "Asterisk Robot"
set from = "asterisk@lab.lan"
set use_from = yes
set envelope_from = yes
set ssl_verify_host = no
set ssl_verify_dates = no
set smtp_url = "smtp://asterisk@lab.lan@srv.lab.lan:587/"
set smtp_pass = "Specialist1!"
set ssl_force_tls = no
set ssl_starttls = yes
  1. Протестируйте отправку почты сначала из псевдографического клиента, затем из консоли:
    mutt
    echo "Это тестовое письмо" | mutt -s "Тест 2" manager@lab.lan -a test.txt
  2. Отредактируйте контекст обработки входящих вызовов и создайте дополнительный контекст для записи сообщения:
[incoming]
exten => s,1,Wait(2)
same => n,Playback(beep)
same => n,GotoIfTime(18:00-8:59|*|*|*?callrec,s,1)
same => n,Dial(PJSIP/201&PJSIP/202,20,r)
same => n,Hangup()

[callrec]
exten => s,1,Playback(vm-intro)
exten => s,n,Record(/var/spool/asterisk/recording/${UNIQUEID}.wav)
exten => s,n,Hangup()

exten => h,1,System(/home/tux/2mailbox.sh ${UNIQUEID} ${CALLERID(num)})
  1. Создайте скрипт для транскрибации и отправки звонка на почту.
    nano /home/tux/2mailbox.sh
    chmod +x /home/tux/2mailbox.sh
#!/bin/bash
/root/.local/bin/vosk-transcriber -i /var/spool/asterisk/recording/$1.wav -o /var/spool/asterisk/recording/$1.txt -m /home/tux/vosk-model-small-ru-0.22
cat /var/spool/asterisk/recording/$1.txt | mutt -s "Звонок от $2" manager@lab.lan -a  /var/spool/asterisk/recording/$1.wav
rm /var/spool/asterisk/recording/$1*
  1. Поправьте условие перехода таким образом, чтобы при тестовом звонке произошел переход в контекст [callrec] и проверьте работоспособность.