В CDR не попадают данные о записи разговора

В том случае, если запись разговоров на сервере ведется, но данные о записи не попадают в таблицу CDR MySQL:

  • Вы можете настроить запись данных на уровне Asterisk с вашими техническими специалистами
  • Вы можете доработать наши скрипты таким образом, чтобы они сами "находили" эти записи

Доработка серверных скриптов

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

Кастомизация наших скриптов производится в файле bx24asterisk_parser.php. Для решения задачи поиска файла требуется переодпределить метод getRecordPath($callID). Входной параметр - uniqueid состоявшегося разговора. В return должен попасть полный путь до записи разговора, либо false, если такого файла нет.


Пример доработки для случая, когда:

  1. Все файлы записей лежат в одном каталоге, который указан в настройках нашего приложения в параметре "Полный путь до папки с записями разговоров"
  2. Все имена файлов имеют одинаковый формат имени <uniqueid>.wav

Добавьте, или замените в файле bx24asterisk_parser.php метод getRecordPath($callID) на следующий:

public function getRecordPath($callID)
{
    $recordsDir = Config::get('records_dir');
    $path = $recordsDir . '/' . $callID . ".wav";
    return $path; 
}


Эта статья была полезна для 1 человека. Эта статья помогла вам?

Сервис поддержки клиентов работает на платформе UserEcho