Recordings not showing in ARI

Hi There,

I’ve recently installed FreePBX with Asterisk 1.4.16 following the Asterisk & FreePBX plain vanilla install instructions. I now have a model small business system up and running with a provider SIP trunk (mynetFone), an ISDN basic rate trunk using an AVM Fritz card and channel mISDN along with a POTS/PSTN trunk using a Sipura 3102.

I’d like to be able to record incoming customer enquiries and outgoing customer contacts. I have configured the agent extensions to do so via record incoming & outgoing always setting in extensions.

When I try to play the recorded calls via (ARI) FreePBX Recordings tab (Recordings/Call Monitor) I don’t see any links in the call monior column. I do however see all of the call details extracted from MySQL CDR but no links to the .wav files. The .wav files are present in /var/spool/asterisk/monitor and I can listen to them by opening them directly with a media player.

Voicemail is working fine via ARI and I can listen to messages via the ARI web interface, It’s just that I don’t get any .wav files/links appearing in the ARI call monitor column.

I’ve tried the version of ARI that was installed/bundled with FreePBX as well as the latest ari_00.11.11.tar.tar with no success

I have the same problem how did you get to /var/spool/asterisk/monitor ? Through the web interface? I need to get those recordings

It may be the same issue I’m having with voicemail files showing in ARI. WHat are the user, group, and permissions settings on the files? Should be asterisk.asterisk and rw-r–r--.

Hi warrenpeace,
The files are in /var/spool/asterisk/monitor so you can access via the command line there.

Hi wanman75
the file settings as written by asterisk appear as follows

-rw-r–r-- 1 asterisk asterisk 1489004 2008-02-14 10:20 g6060-20080214-101851-1202948321.220.wav

when I try changing a file with chmod 777 as per below I still don’t see the file appear in the call monitor column

-rwxrwxrwx 1 asterisk asterisk 5761964 2008-02-15 05:48 OUT6060-20080214-074954-1202939394.217.wav



I have the same problem.

I also have the same problem. Does anybody found a fix for this?

Best Regards!

you can try our CRI Crystal Recording interface new version i think that you will find answer for your question.

all the best

Thanks Alex,

I downloaded CRI v1.07 and installed as per install.txt

I get a fatal error when I try to access the application as recorded below in httpd error_log

[Wed Apr 23 21:32:56 2008] [error] [client] PHP Fatal error: Cannot access empty property in /var/www/html/cri/classes/class.sql_c
ls.php on line 37

Not sure what I’m doing wrong here



I just tried CRI version 1.06 as well with the same result. In both cases (v1.06 & v1.07) I get the following pair of error messages in my httpd error_log

[Wed Apr 23 22:34:45 2008] [error] [client] PHP Notice: Undefined variable: Sql_DbName in /var/www/html/cri/classes/class.sql_cls.
php on line 37
[Wed Apr 23 22:34:45 2008] [error] [client] PHP Fatal error: Cannot access empty property in /var/www/html/cri/classes/class.sql_c
ls.php on line 37

I have defined the DB username & password in part.php as follows:

$databaseusername=“asteriskuser”; # db username
$databasepwd=“blahblah”; # db password

I’m not sure what I’m doing wrong here



we just posted CRI VR 1.08 and fixed the bug.

CRI Crystal Recording interface. New fixed version 1.08

please let me know if it works for you



we just posted CRI VR 1.08 and fixed the bug.

CRI Crystal Recording interface. New fixed version 1.08

please let me know if it works for you


Hi Alex,

I can now run the CRI v1.08 application successfully but I do not see any “Play Call” headphone icons appearing in the last column of any monitored calls. The corresponding .wav files are present in /var/spool/asterisk/monitor and I can listen to them by opening them directly with a media player. The directory config in vars.php is set correctly as $playfilelocation="/var/spool/asterisk/monitor".

This seems to be the exact same problem I was having in my original post with the ARI application. For some reason ARI & CRI are not recognising the .wav files. The permissions seem to be fine so it’s a mystery to me

Thanks & Regards


you need to check that the asterisk stores the uniqueid of the call on the cdr database.

Thanks very much Alex,

I followed your suggestion re uniqueid above and having recompiled asterisk add-ons to record unique id it is working fine with both ARI & CRI

It seems that the unique id field is required in the asteriskcdrdb to be written by asterisk for call monitor to work. This is not the case by default.

Instructions to include unique id are as per

Thanks for your help - the tikalnetworks stuff looks brilliant


I’m Glad that i manage to help you and to the community.

all the best

I know this is an old thread, but for google’s sake, Ill comment anyway:

Helping the community includes RETURNING YOUR CUSTOM DEVELOPMENTS to the official development and distribution channels. Your business has enjoyed FreePBX since int founding, and I’m sure you’ve had some improvements/additions of your own, in addition to the custom interfaces you’ve developed. It would be nice to see these added to the project, and not scattered around the web - serving primarily as a masked form of marketing.

I fought this problem for several months on two different machines (including ditching AsteriskNow and moving to Elastix on one of the machines).

The problem: by default the asterisk-addons-mysql (which speeds up getting CDRs into MySQL in the first place) is not configured (at least as of 1.4.10) to add the uniqueid column, which is what ARI uses to match the file.

Here is what I did to resolve it:

  1. “yum install asterisk-devel” (this also upgraded Asterisk 1.4.24 to 1.4.29- which seemed to work fine with FreePBX- I had also in the process upgraded from FreePBX 2.5 to 2.6)

  2. Downloaded the patched asterisk-addons-1.4.10 from this site: (site also has instructions on how to build it). You could also patch the file yourself with the directions from: (NOTE: In both cases I kept getting errors stating that it could not find asterisk.h and numerous other issues when I first tried to compile it. The key was getting that asterisk-devel package (or possibly upgrading to 1.4.29, but I am pretty sure it was the asterisk-devel package as it was missing the entire /usr/includes/asterisk directory before which kept crashing “make”).

  3. “amportal chown”

  4. “amportal restart”

The asteriskcdrdb.cdr table then had entries for uniqueid (in turn showing the option to play the file from within ARI).


The main challenge in this problem is the callmonitor isn’t finding the records. The easiest way is for it to use uniqueids but if not then it tries to match on dates converted to unix timestamps. The challenge is allowing to accept records that are plus or minus a few seconds in detail.
I struggled with this when the system got out of whack with NZ’s daylight saving time, the php conversion was an hour out.

In the modules/callmonitor.module I added this change about line 535 which found a lot more calls than before
$st4 = $st - 3600;
$et4 = $et - 3600;
if ((strlen($st)>1 && strpos($path,$st)!==FALSE && strlen($uniqueid)<=1) ||
(strlen($st)>1 && strpos($path,substr($st,0,-1))!==FALSE && strlen($uniqueid)<=1) ||
(strpos($path,“auto”)!==FALSE && $parts[1] >= $st && $parts[1] <= $et && $parts[2] == $src && $parts[3] == $dst) ||

It may mess up when there are calls that are very similar and very close together but that happens rarely for us.
But getting uniqueid going is probably the best bet and much faster.