Чиним прослушивание звонков
Last updated
Was this helpful?
Last updated
Was this helpful?
Работающая запись звонков выглядит так:
Если включена опция Выгружать записи звонков на портал, то к делу (звонку) прикрепляется файл в mp3 формате;
Если включена опция Оставлять записи на сервере, то при открытии дела (звонка) в описании после слов “Длительность звонка” появляется плеер и ссылка “Скачать запись”. При клике на плеер проигрывает запись, при нажатии “Скачать запись” – сохраняется файл.
Если запись не проигрывается и не скачивается, то выполняем последовательно следующие шаги.
Проверьте включена ли запись разговоров для всех используемых контекстов в Астериск. Для FreePBX она включается одной настройкой. В других случаях можно воспользоваться несколькими командами.
Копируем ссылку для скачивания записи и пробуем вставить ее в адресную строку в браузере. Ссылка вида: http://<Asterisk IP>:8077/get_conversation_recording?id=1542785260.1998&from=89222222222&to=101
Если получили запись, значит со ссылкой все хорошо и запись не проигрывается из-за проблем с плеером в браузере на странице Битрикса. Рекомендуем попробовать проиграть в нескольких разных браузерах. В Google Chrome 80 есть ограничение по получению смешанного контента, получаемого по http запросу. Решить можно так.
Если ответ по ссылке Not found – тестируем ссылку в консоли на сервере (следующий шаг).
Если включен первый вариант, когда записи загружаются на Битрикс, то проверьте, установлен ли lame на сервер, который преобразует wav файлы Астериска в mp3 файлы необходимые для Битрикса. Подробнее...
Выполняем команду wget ‘ссылка’ в консоли сервера, где стоит модуль. Если запись получена – запрос корректный, в базе запись находится, значит проблема в сети – запрос из Битрикса не может "достучаться" до сервера. Например, закрыт порт 8077 на роутере… Если запись не получена, то двигаемся дальше.
Стандартно записи хранятся в директории /var/spool/asterisk/monitor/2018/… Эта директория должна быть прописана в конфиге, Раздел Asterisk, Путь до файлов с записями разговоров "recordings_dir": /var/spool/asterisk/monitor/
А также корректно ли выбран параметр Файлы с записями хранятся в поддиректориях согласно дате разговора "recordings_dir_subdirs_by_date": true. Если эти настройки корректны, то проверяем, что в логе и базе данных. В Админке это выглядит следующим образом.
Если путь до файла указан верно, то смотрим в лог модуля /var/log/bx24asrerisk.log .
При клике на ссылку “Скачать запись” в логе отмечается запрос в cdr для поиска пути до записи по параметрам звонка. Пример:
select `cdr`.`recordingfile`, `cdr`.`calldate` from `cdr` where `cdr`.`uniqueid` = '1540542254.2969' and (`cdr`.`src` like '%3512777720' or `cdr`.`dst` like '%3512777720' or `cdr`.`src` like '%912' or `cdr`.`dst` like '%912' or `cdr`.`src` in (112233, 123456) or `cdr`.`dst` in (112233, 123456)) and `cdr`.`recordingfile` <> '' and `cdr`.`recordingfile` is not null limit 1
И ответ базы данных на этот запрос: Result of record file path customization: [/var/spool/asterisk/monitor/…………..]
При невозможности выполнить запрос, будет указано “Could not find record by sql-query”. Если запрос корректный, но его содержание пустое, то в ответ будет Empty set.
Нужно взять эту команду и выполнить в консоли mysql либо в веб-версии админки модуля на странице логов (раздел MySQL).
Далее постепенно убирать параметры в запросе, пока не найдем, на каком аргументе ошибка.
Самый короткий запрос:
select * from `cdr` where `cdr`.`uniqueid` = '1540542254.2969'
Должен вернуть строку в CDR по этому звонку.
Проверяем:
Существует ли столбец “recordingfile”, куда пишется название файла записи? Если он называется по другому, то можно просто изменить его в админке Настройка / База данных / Имена столбцов. Если его нет, то нужно создать и настроить, чтобы в него писалось название файла записи.
В этом столбце есть названия записей? Если названий нет, то либо запись разговоров не включена, либо при разговоре не заполняется данное поле. Это может исправить администратор телефонии.
В поле ‘cnum’ есть номер звонящего? Если оно пустое, то вместо него можно использовать dst. Указать это в админке в разделе Настройка / База данных / Имена столбцов.
Для проигрывания записей в Битрикс24 и для успешного конвертирования в mp3, файлы записей на АТС должны храниться в формате wav, формат WAV не поддерживается Битрикс24 и Lame(кодек используемый модулем для конвертирования).
В FreePBX формат записей можно поменять в меню Setting - Advanced Settings - Call Recording Format
Если в настройках модуля указано отправлять записи файлами в Битрикс и файлы не прикрепляются нужно проверить количество свободного места на диске в Битриксе.