FreeSWITCH и запись разговоров

freeswitch voice recordingsОдним из многих требований к современной телефонной системе является запись разговоров. Хочу немного рассказать о том как реализована запись разговоров в FreeSWITCH.

Разговоры в FreeSWITCH записываются с использованием приложения record_session. В качестве параметров этому приложению необходимо передать путь и имя файла для записи, причем расширение файла определяет в каком формате будет осуществлена запись этого разговора.

<!-- This will create file in "recordings" dir -->
<!-- like 20120501_120432_1001_1005.wav -->
<action application="record_session" data="$${base_dir}/recordings/${strftime(%Y%m%d_%H%M%S)}_${caller_id_number}_${destination_number}.wav"/>

В данном примере мы записываем следующий разговор (следующее приложение bridge ниже по конфигурационному файлу) в формате wav, помещаем этот файл в папку recordings и назваем сегодняшней датой, временем и номерами абонентов(кто звонил, кому звонили). Например, так - 20120501_120432_1001_1005.wav

Для записи я предпочитаю использовать формат wav, как наиболее популярный и удобный для дальнейшей обработки. Удобнее пользоваться постобработкой файлов, а не записывать сразу в сложные для процессора форматы, например mp3, так как это будет снижать общую производительность системы FreeSWITCH. Правильнее, я считаю, на нагруженной системе обработку файлов записи делать тогда, когда система менее активна. А это, как правило, бывает ночью. :) Тут поможет cron. Либо же, если рассматривать отказоустойчивую  распределенную систему FreeSWITCH — то передать эти задачи отдельному серверу, он же может являться и хранилищем массива записей.

Таким образом только с помощью одной строчки в конфигурационном файле — мы записали разговор. Но на этом все не заканчивается, а начинаются тонкости. О них подробнее в этой статье.

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

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


*

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>