FreePBX + Asternic CDR Reports + Recordings

FreePBX, Asternic CDR Reports и записи звонков

ВВЕДЕНИЕ
Классический CDR Reports, «идущий в комплекте» с FreePBX умеет делать отчёты с проигрыванием аудиозаписи, если она велась, но не умеет разграничивать доступы по Extensionам (Extension Range, который задаётся при создании новой учётной записи админа).
Модуль Asternic CDR Reports учитывает это, но не выводит аудиофайл.
Исправим это.
Информация о звонках в Asteriskе хранится в mysql базе данных asteriskcdrdb, таблица cdr.

Из вышеприведённого кода файла page.cdr.php модуля обычного CDR Reports ясно, что всё, что нам нужно — это прочитать значение ячейки recordingfile (там хранится строка «файл.wav») и добавить к нему полный путь к файлу, выдираемый, кстати, из самого же имени файла

$amp_conf — глобальный массив, из которого берутся пути к записям. Поэтому, если менялся путь по-умолчанию, всё ок.

ПРАКТИКА
В файле functions.inc.php модуля Asternic ищем строку

добавляем к запросу recordingfile

Затем вместо

ставим

По-умолчанию в ячейке Listen в Asternic выводится запись голосовой почты, но нас-то интересует запись звонка, поэтому меняем содержимое всей ячейки.

В конце файла добавляем ещё функцию, отдающую файл двоичными данными (т.е. никакой apache не имеет доступа к каталогу записи, а отдаётся всё через php) и проверку на наличие переменной getRec, в случае наличия которой получаем файл.

FreePBX + Asternic CDR Reports + Recordings: 7 комментариев

  1. привет!
    на какой версии freepbx у тебя завелось?
    на 2.8 (elastix) получаю сообщение "DB Error: no such field".
    на чистом freepbx 2.11 при нажатии на кнопку "play" просто перекидывает на страницу "FreePBX System Status".

    если не трудно, выложи конфиг-файл целиком

  2. В статье была ошибка, в одном месте denis_getRec, в другом просто getRec. Должно быть одинаково, иначе как раз нажатие на кнопку "play" не туда ведёт.
    Поправил. Исправь у себя — и всё заработает 🙂

    С Elastix не работал, но если там asterisk 1.8 и он ведёт свои cdr-логи в mysql, то, по идее, должы быть те же поля.

  3. Действительно, все заработало! Очень круто, спасибо!

    Кстати, давеча вышел FreePBX Stable-6.12.65, там появилась возможность случать записи онлайн (без QT плеера, на чистом html5) — есть 2 симпатичные кнопки.

    Если есть желание приделать эти кнопки к asternic…. Короче, ждем-с новых статей:)

  4. Добрый день!

    Прошу помочь, сделал все как описано, но записи в столбце Listen не отображаются. записи на самом сервере имеются.

  5. Спасибо, был другой путь, Теперь вопрос как мне изменить имя файла записи и вытащить записи по uniqeuid, почему именно так потому что стоит система биллинга a2billing которая складывает аудиозаписи c названием uniqueid.

  6. FreePBX 2.9.0.15 и Asterisk (Ver. 1.8.10.1) получаю сообщение "DB Error: no such field"
    Включил запись всех звонков в менеджере соединений, напротив звонка появились кнопки Play и скачать, но ни воспроизведение ни скачивание тоже не работают. Можете подсказать куда смотреть дальше?

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

Ваш e-mail не будет опубликован.