Сегодня хотим предложить крутой функционал, который тебе захочется установить на своей IP – АТС Asterisk прямо сейчас! Речь пойдет про отправку записи разговора на адрес электронной почты со всеми причитающимися метаданными звонка. Работает это примерно вот так: ваш сотрудник поговорил по телефону, положил трубку, после чего, ответственному по электронной почте приходит письмо с записью разговора, датой и временем звонка, а также номерами А и Б.
Настроить эту «фичу» очень легко. Приступаем к настройке.
Bash скрипт для Asterisk
Сам по себе скрипт написан на bash. Скрипт будет инициироваться сразу после окончания звонка и в него будут переданы нужные для работы переменные. Но об этом чуть позже:
#!/bin/bash dt=$(date '+%m/%d/%Y %r'); echo -e "Привет! Появилась новая запись разговоров на нашем сервере Asterisk Звонок был совершен $dt Нам позвонил этот номер - $5 Вызов принял - $7 Запись разговора во вложении " | mail -a /var/spool/asterisk/monitor/$1/$2/$3/$6 -s "Новая запись разговоров" info@merionet.ru
Пробежимся по переменным, которые будут относится к звонку и будут передаваться (все кроме $dt
) с Asterisk:
- $1 - год звонка;
- $2 - месяц звонка;
- $3 - день звонка;
- $4 - дата и время в формате строки;
- $5 - источник звонка (звонящий);
- $6 - имя файла аудио – записи разговора;
- $7 - куда был совершен вызов;
- $dt - генерируем дату звонка;
Переходим в консоль сервера Asterisk. Первым делом создаем файл с расширением .sh в него мы поместим наш скрипт:
touch /var/lib/asterisk/bin/rectoemail.sh
Даем файлу нужные права и разрешения:
chown asterisk:asterisk rectoemail.sh chmod 774 rectoemail.sh
Теперь открываем сам файл скрипта для редактирования:
vim /var/lib/asterisk/bin/rectoemail.sh
И добавляем скрипт в файл. Для того, чтобы сделать это, скопируйте скрипт из статьи. В режиме редактирования через vim
нажмите «o» на клавиатуре, затем нажмите правую кнопку мыши – скрипт будет добавлен в файл. После этого, нажмите Esc на клавиатуре и комбинацию :x! + Enter для сохранения изменений. Готово.
Доработка в FreePBX
Теперь нужно поставить наш скрипт на автоматический запуск. Переходим в раздел Settings → Advanced Settings. Убеждаемся, что параметры Display Readonly Settings и Override Readonly Settings установлены в значение Yes.
Теперь находим параметр Post Call Recording Script и добавляем в его поле следующую строчку:
bash /var/lib/asterisk/bin/rectoemail.sh ^{YEAR} ^{MONTH} ^{DAY} ^{TIMESTR} ^{FROMEXTEN} ^{CALLFILENAME}.^{MIXMON_FORMAT} ^{ARG3}
Готово. Сохраняем настройки и переходим к тестам: