Itgrix База знаний
Asterisk-коннекторСтоимостьЛицензионное соглашениеКонтакты
  • Что такое Itgrix?
  • Наша история
  • Наши контакты
  • Блог
    • БД Itgrix
    • AsterPhone в Битрикс24
    • AsterPhone в AmoCRM
    • Настройка WebRTC в Asterisk (FreePBX)
    • Привязка звонка к сделке в Call Card в Bitrix24
    • Конвертация записи звонка в mp3
  • Установка модуля
    • Требования к системе
    • Установка модуля интеграции Битрикс24 и Asterisk
      • Особенности настройки ограниченного режима
      • Настройка модуля для работы в закрытой сети
        • Особенности настройки click-to-call в коробочной версии 1С-Битрикс24 в закрытой сети
        • Как выполнить авторизацию оффлайн
        • Как получить лицензию оффлайн
    • Установка модуля интеграции AmoCRM и Asterisk
      • Особенности настройки ограниченного режима
      • Карточка звонка в amoCRM
  • Настройка функций модуля
    • Автораспределение звонка на ответственного менеджера
      • Передача номера транка и названия сущности при входящем звонке в CallerID
      • Как найти нужный дефолтный контекст
      • Автораспределение с учетом рабочего времени
      • Автораспределение в версии до 3.0.0
    • Настройка функций click-to-call
      • Особенности настройки после обновления Битрикс24 23.300.0
    • Тест-кейсы для проверки работы интеграции
      • Битрикс24
      • amoCRM
    • Доп функции
      • Сквозная аналитика Битрикс24 через Itgrix
      • Автоматическое поднятие трубки при звонках кликом из CRM
      • Распознавание FMC номеров
      • Выбор ответственного за пропущенный и за транк
      • Настройка задачи по пропущенному через админку
      • Автоматическое управление задачами по пропущенному звонку
  • Полезные кастомизации (любая CRM)
    • Обновление настроек кастомизатора в Itgrix_bx-3.9.0 и Itgrix_amo-2.12.0
    • Обновление кастомизатора в Itgrix_bx-3.4.0 и Itgrix_amo-2.6.0
    • Включение кастомизатора
    • Черные и белые списки. Как настроить?
    • Изменение номера клиента перед отправкой в CRM
    • Изменение параметров при click-to-call
    • PJSIP вместо chan_sip у избранных пользователей
    • Кастомизация имени файла аудиозаписи
    • Конвертация записей в формат MP3
    • Склеивание названия транка и имени контакта для показа в карточке звонка
    • Данные о звонке (call_full) в кастомизациях
    • Параметры звонка (call) и разговора (conversation) в кастомизациях
  • Полезные кастомизации itgrix_bx (Битрикс24)
    • Полезные кастомизации itgrix_bx (Битрикс24) [С историей]
    • Время ожидания ответа на звонок
    • Несколько внутренних номеров у сотрудника
    • Первый ответственный за новый лид/контакт
    • Добавление кода города в зависимости от города оператора
    • Убираем номера телефонов из названий сущностей
    • Разные ответственные по умолчанию за разные транки
    • Распределение ответственных по пропущенным звонкам
    • Кастомизация задач по пропущенным звонкам
    • Обновление полей сущности
    • Обновление полей дела
    • Длительность ожидания клиента на линии
    • Запросы в Битрикс из кастомизации
    • Кастомизации (для версий до 3.0)
    • Кастомизации (для версий до 2.15.0)
      • Более недоступный функционал
      • Кастомизация поиска
      • Обновление полей лида
      • Черно/белые списки для версии до 2.15.0
      • Изменения черных/белых списков в версии до 2.15.0
      • Новые возможности
    • Создавать лид для каждого входящего звонка
  • Полезные кастомизации itgrix_amo (amoCRM)
    • Обновление кастомизатора в версии Itgrix_amo 3.0.0
    • Добавление названия транка в тэг сделки
    • Добавление данных о звонке в тег новой сделки
    • Добавление тега при создании контакта/сделки
    • Запись номера транка через который пришел звонок в информацию о разговоре
    • Запросы в amoCRM из кастомизации
    • Добавление звонка в несколько сущностей
  • Как починить...
    • Прослушивание записи звонка в коробочной версии Битрикс24
    • Изменение статуса звонка, назначение ответственного за звонок, работа ч/б списков
    • Как починить click-to-call
    • Чиним прослушивание звонков
    • Amo. Ошибки о которых сообщает CRM
    • Свои SSL сертификаты для https запросов
    • Failed to fetch. ошибка на странице веб интерфейса модуля
    • Модуль опережает таблицу CEL на X записей
    • Авторизация модуля в Б24
    • Проблема с сертификатами Sectigo
    • Как включить загрузку смешанного контента в Firefox и Google Chrome 80
    • Если не регистрируется звонок переведенный на сотовый сотрудника (follow me)
    • Бесплатная лицензия или ограниченный режим.
    • Не всплывают уведомления о звонках в AMO
    • Не регистрируются звонки у определенного пользователя Битрикс24
    • Перестали регистрироваться события в CEL, перезагрузка модулей в Asterisk
    • Не работает CallTransfer
    • Не появляется карточка звонка в Б24 во время разговора
  • Для админов
    • Примеры структуры зарегистрированных звонков из CEL
    • Разворачивание бэкапа модуля
    • Полезные команды
    • Скрипт для проверки работы службы модуля
    • Изменение логина и пароля для входа в админку
    • Файлы модуля
    • Описание файла конфигурации (версия 3)
      • Описание файла конфигурации (до версии 3.0)
      • Изменения в конфиге до версии 2.15.0
    • Автозамена номеров телефонов
    • Мониторинг состояния
      • Пример мониторинга через Zabbix
    • В таблице CEL в столбце cid_num нет внутреннего номера сотрудника
    • Неверное время в созданных делах в Битрикс24
    • Настройка записи разговоров на стороне Asterisk
    • Установка и настройка CEL
    • Запуск дополнительной копии модуля
    • Решение для нескольких Астерисков
    • Примеры настройки WSS соединений
    • Задержка при показе окна
    • Реализация обратного звонка в Битрикс24
    • Использование стороннего хранилища записей
    • Размещение модуля на стороннем сервере
    • Обработка звонков за период
    • Ускорение работы модуля за счет параллельной обработки звонков
    • Настройка прав на просмотр детализации звонков
  • FAQ
    • Как оплатить решение
    • Предоставление доступа к серверам
    • Битрикс24.Маркет Плюс и Itgrix
    • Обновление приложения
    • Офлайн установка (только для Битрикс24)
    • Офлайн обновление
    • Сравнения версий Itgrix для Битрикс24
    • Возможности Itgrix в сравнение с SIP-коннектором для Битрикс24
    • Надежные софтфоны для Asterisk
    • Как посмотреть статистику по звонкам сотрудников
    • Как отключить отображение звонков в календаре
    • Политика оператора в отношении обработки персональных данных
    • Политика интеграции Asterisk
    • Детальные статусы звонка
    • Как оставить отзыв о приложении Itgrix в Битрикс24?
    • Как оставить отзыв о приложении Itgrix в amoCRM?
  • Change log (новые версии) itgrix_bx
  • Change log (новые версии) itgrix_amo
  • Бонусы
Powered by GitBook
On this page
  • Конвертация при помощи программы конвертера через настройки в админке
  • Конвертация в кастомизации пути до файла записи звонка
  • Отключение конвертации в кастомизации

Was this helpful?

  1. Полезные кастомизации (любая CRM)

Конвертация записей в формат MP3

PreviousКастомизация имени файла аудиозаписиNextСклеивание названия транка и имени контакта для показа в карточке звонка

Last updated 2 months ago

Was this helpful?

Конвертация при помощи программы конвертера через настройки в админке

Начиная с версии Itgrix_bx v, процедура конвертации записей в .mp3 перенесена из кастомизации в основной функционал коннектора и настраивается через админку:

Конвертация в кастомизации пути до файла записи звонка

Кастомизация настраивается в файле process_record_file_path.php, он находится в каталоге:

itgrix_bx (Битрикс24)
itgrix_amo (amoCRM)

/opt/itgrix_bx/customizer/actions/

/opt/itgrix_amo/customizer/actions/

Для более ранних версий:

itgrix_bx (Битрикс24) ДО версии 3.4.0
itgrix_amo (amoCRM) ДО версии 2.6.0

/opt/itgrix_bx/custom/

/opt/itgrix_amo/custom/

Конвертация записей уже включена по умолчанию при установке (приведенный в листинге ниже код уже присутствует в файле кастомизации).

Но по умолчанию отключено удаление исходного wav-файла и обновление записи в CDR. Т.е. записи в формате mp3 создаются в дополнение к существующим wav-файлам, это приводит к занятию дополнительного места на сервере Астериск.

Чтобы включить обновление в CDR (поле recordingfile) и удаление wav-файла, нужно установить в true значения переменных (см. листинг ниже):

$updateFilenameInCdr = false; // Заменить в CDR имя файла на mp3
$removeWavFile       = false; // Удалить исходный wav-файл

Для версий ДО 3.4.0 включение запроса в CDR и удаления исходного wav-файла осуществляется раскомментированием кода:

//         mysqli_query(getDB(), "UPDATE `cdr` SET `recordingfile` = '{$newBasename}' WHERE `recordingfile` = '{$basename}'");

//         удаляем файл с расширением .wav
//         unlink($path);

Обращаем ваше внимание на то, что любые изменения должны проводиться опытным разработчиком и учитывать специфику вашей системы.

$callId = $params['call_id'];
$from   = $params['from'];
$to     = $params['to'];
$path   = $params['path'];

//
// Пример конвертации записей разговоров в mp3
//

$updateFilenameInCdr = false; // Заменить в CDR имя файла на mp3
$removeWavFile       = false; // Удалить исходный wav-файл

$recPathInfo = pathinfo($path);
$recBasename  = $recPathInfo['basename'];
$recExtension = $recPathInfo['extension'];

if (strtolower($recExtension) == 'wav') {

    $newPath = Utils::convertToMp3($path);
    if ($newPath === false) {
        return array(
            'state' => 'error',
            'data' => "Failed to convert recording file to mp3: '$path'",
        );
    }
    $this->logInfo("Converted recording file: '$newPath'");

    $newBasename = basename($newPath);

    // Заменить в CDR имя файла на новое (wav на mp3)
    if ($updateFilenameInCdr) {
        $dbResult = Utils::mysqliQuery(
            "UPDATE `cdr` SET `recordingfile` = '{$newBasename}'" .
            " WHERE `recordingfile` = '{$recBasename}'");

        if ($dbResult === false) {
            return array(
                'state' => 'error',
                'data' => 'Ошибка при запросе в CDR',
            );
        }
        $this->logInfo("Updated recording filename in CDR: '$newBasename'");
    }

    // Удалить исходный файл с расширением .wav
    if ($removeWavFile) {
        $rmSuccess = unlink($path);
        if (! $rmSuccess) {
            return array(
                'state' => 'error',
                'data' => "Не удалось удалить исходный wav-файл: '$path'",
            );
        }
        $this->logInfo("Removed recording file: '$path'");
    }

    $path = $newPath;
}

return array(
    'state' => 'success',
    'data'  => array(
        'path' => $path,
    ),
);

Данный код предполагает установленный lame в системе. Если у вас его нет, устанавливается он любым доступным менеджером пакетов:

yum install lame

Отключение конвертации в кастомизации

Для того чтобы отключить конвертирование файлов записей в mp3 достаточно закомментировать обращение к функцииям кастомизации записей в коде указанном выше:

/*if (strtolower($recExtension) == 'wav') {

    $newPath = Utils::convertToMp3($path);
    if ($newPath === false) {
        return array(
            'state' => 'error',
            'data' => "Failed to convert recording file to mp3: '$path'",
        );
    }
    $this->logInfo("Converted recording file: '$newPath'");

    $newBasename = basename($newPath);

    // Заменить в CDR имя файла на новое (wav на mp3)
    if ($updateFilenameInCdr) {
        $dbResult = Utils::mysqliQuery(
            "UPDATE `cdr` SET `recordingfile` = '{$newBasename}'" .
            " WHERE `recordingfile` = '{$recBasename}'");

        if ($dbResult === false) {
            return array(
                'state' => 'error',
                'data' => 'Ошибка при запросе в CDR',
            );
        }
        $this->logInfo("Updated recording filename in CDR: '$newBasename'");
    }

    // Удалить исходный файл с расширением .wav
    if ($removeWavFile) {
        $rmSuccess = unlink($path);
        if (! $rmSuccess) {
            return array(
                'state' => 'error',
                'data' => "Не удалось удалить исходный wav-файл: '$path'",
            );
        }
        $this->logInfo("Removed recording file: '$path'");
    }

    $path = $newPath;
}
*/

Параметры и другие примеры описаны в статье .

Кастомизация имени файла аудиозаписи
3.13.0