How to fix call recording problems

If you don't want to go into details, contact us. We will quickly help you and answer all questions! Contact us in any convenient way:

A working call recording looks like this:

  1. If the option to upload records of calls to the portal is enabled, then an mp3 file is attached to the case (call).

2. If the option to leave notes on the server is enabled, then when you open a case (call), in the description after the words “Call duration” appears the player and the link “Download record”.

When you click on the player, the record is played, when you click “Download record”, the file is saved.

If the record is not played or downloaded, then we follow these steps in sequence.

1. Is recording in Asterisk included?

Check if conversation recording is enabled for all used contexts in Asterisk.

Copy the link to download the record and execute it in the browser. View link: http: // ip: 8077 / get_conversation_recording? Id = 1542785260.1998 & from = 89222222222 & to = 101

If you received a record, then everything is fine with the link, and the record is not played out of problems with the player in the browser on the Bitrix page. We recommend trying to play in several different browsers. If the answer is Not found - test the link in the console on the server.

If the first option is enabled, when the records are uploaded to Bitrix, then check if lame is installed on the server that converts the Asterisk wav files to mp3 files necessary for Bitrix.

We execute the wget ‘link’ command in the server console where the module is located. If the record is received - the request is correct, the record is in the database, then there is a problem in the network - the request from Bitrix cannot reach the server. For example, port 8077 on the router is closed ... If the record is not received, then move on.

4. Check the path to the recording on the server Asterisk

By default, entries are stored in the directory / var / spool / asterisk / monitor / 2018 / ... This directory should be written in the config, Asterisk section, Path to the files with the recordings of the recordings "recordings_dir": / var / spool / asterisk / monitor /

And also whether the option Files with records is correctly selected is stored in subdirectories according to the recording date "recordings_dir_subdirs_by_date": true. If these settings are correct, then check that the log and database are correct. In admin panel it looks like this

5. Check the request and response in the module log

If the path to the file is correct, then look in the log of the module /var/log/bx24asrerisk.log

When you click on the link “Download record” in the log, a request in cdr is marked to find the path to the recording by call parameters. Example:

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

And the database response to this query: Result of record file path customization: [/ var / spool / asterisk / monitor / ..............]

If it is not possible to execute the query, “Could not find record by sql-query” will be indicated. If the request is correct, but its content is empty, then the response will be Empty set.

6. Check that in the CDR

You need to take this command and execute it in the mysql console or in the web version of the module admin panel on the log page (MySQL section).

Next, gradually remove the parameters in the request, until we find on which argument the error occurs.

Shortest request:

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

Must return a string to CDR on this call.

We check:

  • Is there a “recordingfile" column where the name of the recording file is written? If it is called differently, you can simply change it in the admin panel Settings / Database / Column names. If it is not, then you need to create and configure it to write the name of the recording file.

  • Does this column have entry names? If there are no names, then either the recording of conversations is not included, or during the conversation this field is not filled. This can be fixed by the telephony administrator.

  • Is there a caller’s number in the ‘cnum’ field? If it is empty, then dst can be used instead. Indicate this in the admin section Settings / Database / Column names "