Запись разговоров в Asterisk с помощью MixMonitor

Иногда требуется записывать разговоры на сервере Asterisk. Существует команда Monitor, которая записывает два файла (набирающего и набираемого). Но здесь мы рассмотрим MixMonitor, который пишет все в один файл.

Использовать так:

MixMonitor(имя_файла.расширение,параметры,команда)

Вот перечень параметров, используемых в MixMonitor:

a – Разговор дописывается в конец файла, перезаписи файла при этом не происходит.
b – Разговор сохраняется, только если канал соединен. Сюда не относятся конференции или звуковые файлы, воспроизводимые для каждой соединенной стороны.
v(x) – Громкость прослушивания меняется в x раз (диапазон от –4 до 4).
V(x) – Громкость речи меняется в x раз (диапазон от –4 до 4).
W(x) – Громкость прослушивания и речи меняется в x раз (диапазон от –4 до 4).

Пример простейшей записи:

exten => 1000,1,MixMonitor(/home/records/1000.wav)

В имени файла можно использовать глобальные переменные. Чтобы в имени файла указать дату и номера телефонов, сделаем так:

exten => 1000,1,MixMonitor(/home/records/${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}_${CALLERID(num)}_${CALLERID(dnid)}.wav)

Ну и последнее на сегодня – это сохранение записей MixMonitor в mp3 формате. Конечно, это будет немного нагружать процессор, однако, мы сэкономим дисковое пространство раза в 3! На сервере должен стоять lame для конвертирования. После записи, выполняется команда в системе, которая конвертирует запись и удаляет исходник в wav. Выглядит это так:

exten => 1000,1,MixMonitor(/home/records/${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}_${CALLERID(num)}_${CALLERID(dnid)}.wav,,/usr/local/bin/lame --preset standard /home/records/${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}_${CALLERID(num)}_${CALLERID(dnid)}.wav /home/records/${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}_${CALLERID(num)}_${CALLERID(dnid)}.mp3 && rm -f /home/records/${UNIQUEID}_${CALLERID(num)}_${CALLERID(dnid)}.wav)

Теперь мы можем записывать разговоры на Asterisk! Не забывайте о конфиденциальности данных и законе 🙂


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Unlix.ru © Все права защищены 2015 - 2024

Копирование материалов с сайта Unlix.ru без указания полной ссылки на источник ЗАПРЕЩЕНО!