четверг, 11 февраля 2010 г.

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

Задача: Включить запись разговоров и переопределить стандартную директорию хранения аудио файлов с этими записями.

Выполнение:
Первой логичной мыслью было бы в Web консоле зайти в раздел PBX - PBX Configuration - General Settings. Там есть раздел Call Recording, выставить Extension Recording Override: Enabled и указать путь к новому месту хранения файлов.
По моему понимаю это должно включить запись разговоров для всех, но как оказалось данное действие наоборот полностью убивает запись звонков если она изначально была. Кстати, мало ли пригодиться, путь для хранения файлов по умолчанию /var/spool/asterisk/monitor
В итоге для того чтобы сделать запись звонков в нужное мне место нужных пользователей необходимо:
1. Для конкретного пользователя (Extension) выставить опции Record Incoming и Record Outcoming в Always. Это приведет к тому что все разговоры с их участием будут записываться.
2. Отредактировать файл extensions_additional.conf. Для этого можно например в веб консоле перейти в раздел PBX - Tools - File Editor. В этом файле надо найти раздел [macro-record-enable] и внутри него, в последней строчке, заместо ${MIXMON_DIR} ввести абсолютный путь к своей дирректории. В моем случае этот кусок выглядит следующим образом:

[macro-record-enable]
include => macro-record-enable-custom
exten => s,1,GotoIf($["${BLINDTRANSFER}" = ""]?check)
exten => s,n,ResetCDR(w)
exten => s,n,StopMixMonitor()
exten => s,n(check),AGI(recordingcheck,${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)},${UNIQUEID})
exten => s,n,MacroExit()
exten => s,1+998(record),MixMonitor(/some_dir/${CALLFILENAME}.${MIXMON_FORMAT},,${MIXMON_POST})


После этого перезагружаем asterisk, например коммандой

service asterisk restart

Теперь разговоры выбранных пользователей сохраняются в указаной дирректории.

Кстати, в разделе PBX - monitoring они больше отображаться не будут.

Дополнение:
Как выяснилось в последствии (хотя это и было написано в самом начале файла extension_additional.conf), файл этот генериться автоматически, как следствие при изменениях он переписывается и все изменения теряются
В разделе [macro-record-enable] по умолчанию используется переменная MIXMON_DIR для указания куда складывать файлы, вот ее то и можно переопределить в файле globals_custom.conf
Достаточно туда добавить строку

MIXMON_DIR = /some_dir/

Теперь все файлы будут складываться в нужную нам директорию.

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

mount -t cifs //your_server_name_or_ip/dir_name /mnt -o username=username -o password=password

Комментариев нет:

Отправить комментарий