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”.
If the record is not played or downloaded, then we follow these steps in sequence.
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 Bitrix24, then check if lame is installed on the server that converts the Asterisk wav files to mp3 files necessary for Bitrix.
We execute the widget ‘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.
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
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.
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.
The shortest request:
select * from `cdr` where `cdr`.`uniqueid` = '1540542254.2969'
Must return a string to CDR on this call.
- 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 "