Itgrix База знаний
Asterisk-коннекторСтоимостьЛицензионное соглашениеКонтакты
  • Что такое Itgrix?
  • Наша история
  • Наши контакты
  • Блог
    • БД Itgrix
    • AsterPhone в Битрикс24
    • AsterPhone в AmoCRM
    • Настройка WebRTC в Asterisk (FreePBX)
    • Привязка звонка к сделке в Call Card в Bitrix24
  • Установка модуля
    • Требования к системе
    • Установка модуля интеграции Битрикс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
  • Параметры
  • Файл до записи .wav
  • Сложное имя файла, данные для которого нужно собирать из СУБД

Was this helpful?

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

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

Кастомизация настраивается в файле 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/

Параметры

Вход:

{
  "params": {
    "call_id": “<ID звонка>”,
    "from": “<Номер звонящего>”,
    "to": “<Номер, на который пришёл звонок>”,
    "path": “<Путь до записи>”
  }
}

Вернуть:

{
  "data": {
    "path": “<Кастомизированный путь до записи>”
  },
  "state": "success"
}

Первым шагом необходимо понять, каким образом генерируется имя файла. Иногда необходимо подставлять в путь до файла папку с определенной датой или другими параметрами.

Файл до записи .wav

В том случае если все записи хранятся в одной директории и их имена выглядят, как .wav, возможно следующее решение кастомизации выбора файла без обращения в СУБД:

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

extract(pathinfo($path));

$path = $dirname . '/' . $callID . '.wav';

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

Сложное имя файла, данные для которого нужно собирать из СУБД

Рассмотрим пример кастомизации для записи в формате: /var/spool/asterisk/monitor/<дата-время>-<from>-<to>-<ID звонка>.<расширение>

Пример: /var/spool/asterisk/monitor/20180330140245-321654987-154-1522395542.2897.mp3

В данном случае мы видим, что имя файла состоит из цифр – даты/времени звонка, входящего номера, внутреннего номера и uniqueid звонка, которые указанны через дефис. Будем получать недостающие данные из базы данных.

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

// Если для генерации имени файла нужно больше параметров,
// то их можно получить в БД, сделав дополнительный запрос.
// Пример кода:
$dbResult = Utils::mysqliQuery(
    "SELECT * FROM `cdr` WHERE `uniqueid` = '".$callId."' ORDER BY `calldate` DESC LIMIT 1",
    true);

if ($dbResult === false) {
    return array(
        'state' => 'error',
        'data'  => 'Ошибка при запросе в CDR',
    );
}
if (empty($dbResult)) {
    return array(
        'state' => 'error',
        'data'  => "В CDR не найдено записей для звонка '$callId'",
    );
}

//Далее собираем имя файла из полученных данных
$row = $dbResult[0];
$path = sprintf('/var/spool/asterisk/monitor/%s-%s-%s-%s.%s',
    date('YmdHis', strtotime($row['calldate'])),
    $row['src'],
    $row['dst'],
    $callId,
    pathinfo($row['recordingfile'], PATHINFO_EXTENSION)
);

return array(
    'state' => 'success',
    'data'  => array(
        'path' => $path,
    ),
);
$callId = $params['call_id'];
$from = $params['from'];
$to = $params['to'];
$path = $params['path'];


//Если для генерации имени файла нужно больше параметров, то их можно получить в БД, сделав дополнительный запрос. Пример кода:
$res = mysqli_query(getDB(), "SELECT * FROM `cdr` WHERE `uniqueid` = '" . $call_id . "' ORDER BY `calldate` DESC LIMIT 1");
$row = mysqli_fetch_assoc($res);

//Далее собираем имя файла из полученных данных
$path = sprintf('/var/spool/asterisk/monitor/%s-%s-%s-%s.%s',
    date('YmdHis', strtotime($row['calldate'])),
    $row['src'],
    $row['dst'],
    $callId,
    pathinfo($row['recordingfile'], PATHINFO_EXTENSION)
);

return array(
    'state' => 'success',
    'data' => array(
        'path' => $path,
    ),
);
PreviousPJSIP вместо chan_sip у избранных пользователейNextКонвертация записей в формат MP3

Last updated 3 years ago

Was this helpful?

Для актуальной версии кастомизатора (версии, начиная с и ):

Для старого кастомизатора (версии ДО и ):

Itgrix_amo 2.6.0
Itgrix_amo 2.6.0
Itgrix_bx 3.4.0
Itgrix_bx 3.4.0