AsteriskТелефония

Запись звонков Asterisk

В современной организации довольно часто возникают острые вопросы. Бывает что клиент говорит одно, менеджер другое. Как в такой ситуации понять кто прав? Может помочь запись телефонного разговора. Рассмотрим как включить запись звонков Asterisk.

Место хранения записей

К данному вопросу лучше сразу подойти достаточно серьезно. При большом количестве совершаемых вызовов место может закончится очень быстро. Для записей лучше выделить отдельный диск, либо сетевое хранилище. Очень удобно подключить сетевую папку, например, по SMB протоколу, и писать в нее. Статьи о подключении сетевой папки по SMB или NFS протоколу есть на нашем сайте.

В данном конкретном случае я буду записывать вызовы в папку /opt/rec

sudo mkdir /opt/rec

Сменим владельца папки для разрешения записи файлов Asterisk`у

sudo chown asterisk:asterisk /opt/rec

В моем случае Asterisk работает от пользователя asterisk находящегося в группе asterisk, если у вас иначе укажите своё.

Запись звонков Asterisk

Для включения записи вызовов необходимо добавить две строки в нужный контекст файла extensions.conf

Set(records=/opt/rec/${STRFTIME(${EPOCH},,%H:%M_%d-%m-%Y)}-${CALLERID(number)}-${EXTEN}.wav)
MixMonitor(${records})

В первой строке я создал переменную records в которой будет храниться название файла записи. Разберем ее подробнее

  • /opt/rec/ – путь до каталога с записями
  • ${STRFTIME(${EPOCH},,%H:%M_%d-%m-%Y)} – Функция STRFTIME формирует дату и время в указанном формате. Переменная ${EPOCH} указывает текущее время в Unix формате.
  • ${CALLERID(number)} – показывает текущее значение номера из переменной CALLERID

Вторая строка состоит из вызова MixMonitor – это приложение Asterisk для записи разговора с микшированием двух каналов в общий файл. Для пояснения, есть у Asterisk приложение Monitor для записи вызовов в два фала (по одному на каждый канал). Приложению MixMonitor я передал параметры хранения записей с использованием переменной records.

Менять формат названия файла с записями можно как угодно, я пишу в формате ЧЧ:ММ_ДД-ММ-ГГГГ . Если очень захотеть то можно написать скрипт для создания папки с названием текущей даты и складывать звонки в новую папку. Но это уже другая история 🙂 Мои записи выглядят так

Записи

Вы можете выбирать какие звонки писать: входящие, исходящие или и те и другие. Добавляйте соответствующие строки в нужных контекст. В моем случае записываются только входящие вызовы. Пример контекста входящих от провайдера с записью вызовов:

[from-sipnet]
exten = s,1,Answer()
 same = n,Set(records=/opt/rec/${STRFTIME(${EPOCH},,%H:%M_%d-%m-%Y)}-${CALLERID(number)}-${EXTEN}.wav)
 same = n,MixMonitor(${records})
 same = n,Dial(PJSIP/1000)
 same = n,Hangup

Не забывайте после внесения изменения в файл extensions.conf делать перезагрузку диалплана

asterisk -dx "dialplan reload"

Вашему внимаю видео к статье о настройке записи звонков Asterisk

Поделиться:
Подписаться
Уведомить о
guest
2 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Shprot
Shprot
1 год назад

Вообще-то плюс ко всему неплохо было бы ещё и прикрутить web-интерфейс к этому. Для этого существует Asterisk-CDR-Viewer-Mod