> For the complete documentation index, see [llms.txt](https://itgro-aly.gitbook.io/test-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://itgro-aly.gitbook.io/test-docs/how-to-fix/reshenie-problem-s-zapisyu-zvonkov.md).

# reshenie problem s zapisyu zvonkov

Работающая запись звонков выглядит так:

1. Если включена опция Выгружать записи звонков на портал, то к делу (звонку) прикрепляется файл в mp3 формате;
2. Если включена опция Оставлять записи на сервере, то при открытии дела (звонка) в описании после слов “**Длительность звонка**” появляется плеер и ссылка “**Скачать запись**”. При клике на плеер проигрывает запись, при нажатии “**Скачать запись**” – сохраняется файл.

![Если включена запись по ссылке, то плеер внутри звонка](/files/52f8cc6a95d5f34eaa968c2d030d9f0f685fc071)

![Если включена загрузка файла, то плеер сразу в timeline](/files/73be11ec5775d7643583deab1a041f2ab6a4c683)

Если запись не проигрывается и не скачивается, то выполняем последовательно следующие шаги.

### 1. Включена ли запись в Астериск?

Проверьте включена ли запись разговоров для всех используемых контекстов в Астериск. Для FreePBX она включается одной настройкой. В других случаях можно воспользоваться [несколькими командами](file:///1659967/for-admins/nastroika-zapisi-razgovorov-na-storone-asterisk.md).

### 2. Работает ли ссылка в браузере?

Копируем ссылку для скачивания записи и пробуем вставить ее в адресную строку в браузере. Ссылка вида: `http://<Asterisk IP>:8077/get_conversation_recording?id=1542785260.1998&from=89222222222&to=101`

Если получили запись, значит со ссылкой все хорошо и запись не проигрывается из-за проблем с плеером в браузере на странице Битрикса. Рекомендуем попробовать проиграть в нескольких разных браузерах.\
В Google Chrome 80 есть ограничение по получению смешанного контента, получаемого по http запросу.[ Решить можно так](broken://pages/283b318811b7aabbfc74efcb83a0f791a7c60616).

Если ответ по ссылке Not found – тестируем ссылку в консоли на сервере (следующий шаг).

Если включен первый вариант, когда записи загружаются на Битрикс, то проверьте, установлен ли lame на сервер, который преобразует wav файлы Астериска в mp3 файлы необходимые для Битрикса. [Подробнее...](file:///1659967/for-admins/nastroika-zapisi-razgovorov-na-storone-asterisk.md)

### 3. Работает ли ссылка на сервере?

Выполняем команду wget ‘ссылка’ в консоли сервера, где стоит модуль. Если запись получена – запрос корректный, в базе запись находится, значит проблема в сети – запрос из Битрикса не может "достучаться" до сервера. Например, закрыт порт 8077 на роутере… Если запись не получена, то двигаемся дальше.

### 4. Проверяем путь до записи на сервере Астериск

Стандартно записи хранятся в директории /var/spool/asterisk/monitor/2018/… Эта директория должна быть прописана в конфиге, Раздел Asterisk, *Путь до файлов с записями разговоров* `"recordings_dir": /var/spool/asterisk/monitor/`

А также корректно ли выбран параметр *Файлы с записями хранятся в поддиректориях согласно дате разговора* "recordings\_dir\_subdirs\_by\_date": true. Если эти настройки корректны, то проверяем, что в логе и базе данных. В Админке это выглядит следующим образом.

![Image](/files/56ae306102dc913e2cfee72ba70703a186029694)

### 5. Проверяем запрос и ответ в логе модуля

Если путь до файла указан верно, то смотрим в лог модуля /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.

### 6. Проверяем, что в *CDR*

Нужно взять эту команду и выполнить в консоли mysql либо в веб-версии админки модуля на странице логов (раздел MySQL).

![Image](/files/2792e82f40ab456c0907b6e07389a742cac40975)

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

Самый короткий запрос:

``select * from `cdr` where `cdr`.`uniqueid` = '1540542254.2969'``

Должен вернуть строку в CDR по этому звонку.

**Проверяем:**

1. Существует ли столбец “recordingfile”, куда пишется название файла записи? Если он называется по другому, то можно просто изменить его в админке Настройка / База данных / Имена столбцов. Если его нет, то нужно создать и настроить, чтобы в него писалось название файла записи.
2. В этом столбце есть названия записей? Если названий нет, то либо запись разговоров не включена, либо при разговоре не заполняется данное поле. Это может исправить администратор телефонии.
3. В поле ‘cnum’ есть номер звонящего? Если оно пустое, то вместо него можно использовать dst. Указать это в админке в разделе Настройка / База данных / Имена столбцов.

![Image](/files/5ff18d76be8c3dc580e95d40507a23b8cbdd65b2)

### 7. Формат файлов записей.

Для проигрывания записей в Битрикс24 и для успешного конвертирования в **mp3**, файлы записей на АТС должны храниться в формате **wav**, формат **WAV** не поддерживается Битрикс24 и Lame(кодек используемый модулем для конвертирования).

В FreePBX формат записей можно поменять в меню **Setting - Advanced Settings - Call Recording Format**

### 8. Свободное место на диске в Битриксе.

Если в настройках модуля указано отправлять записи файлами в Битрикс и файлы не прикрепляются нужно проверить количество свободного места на диске в Битриксе.

### Как формируются ссылки на записи.

В CRM передается ссылка вида `<recording_address>/get_conversation_recording?id=<call_id>&from=<src_number>&to=<dst_number>`, где **\<recording\_address>** обычно это `http://<Asterisk_IP>:8077` т.е. адрес сервера телефонии.

При клике по этой ссылке модуль находит в базе данных Asterisk, в таблице CDR имя файла записи **\<recording\_file>** и формирует `recording_path = <recordings_dir><subdir>/<recording_file>`. Здесь **\<subdir>** это `/<YYYY>/<MM>/<DD>` если в настройках модуля включено **Файлы записей хранятся в каталогах**\
\&#xNAN;**"<Каталог записей звонков>/Год/Месяц/День"** (Админка - Настройки - Asterisk), иначе пустая строка.

В зависимости от того какой получился **\<recording\_path>**, модуль действует одним из двух способов:

1. Если это путь файловой системы, например\
   `/var/spool/asterisk/monitor/2026/05/01/recording.mp3` (где `recordings_dir = "/var/spool/asterisk/monitor"; subdir = "/2026/05/01/"; recording_file = "recording.mp3"`),\
   то модуль читает этот файл и отдаёт его содержимое;\
   Если это сетевой адрес, например\
   `ftp://hosting.mycompany.com:8123/asterisk/recordings/recording.mp3` (где `recordings_dir = "ftp://hosting.mycompany.com:8123/asterisk/recordings"; subdir = ""; recording_file = "recording.mp3"`),\
   то модуль перенаправляет пользователя на этот адрес, чтобы он открылся в браузере.
2. Второй способ позволяет направить пользователя на произвольный сетевой адрес, который включает имя файла записи. Если нужна сложная ссылка (параметры авторизации, ID вместо имени файла), можно модифицировать **\<recording\_path>** в [кастомизации пути до записи](https://docs.itgrix.ru/custom_common/filepath), и там сформировать ссылку нужного вида, если это будет сетевой путь - модуль перенаправит пользователя по нему.\ <br>
