Categories
add ons asterisk cdr freepbx Linux mysql

Getting those Asterisk Addons into Ubuntu

I have this VOIP server in my office which is running FreePBX and Asterisk. Well its not in my office, its in a server room down the hall. Its a small AMD Duron of about 1Ghz, which is enough.

FreePBX is a great GUI and management interface for Asterisk and I encourage anyone to use it. I originally used the AsteriskGUI, but that was buggy and had severe limitations. Also, development had basically stopped on it. You know when Digium (the sponsors of Asterisk) start shipping FreePBX with Asterisk in its AsteriskNOW package – their own GUI is dead.

It took a bit of trial and error to get FreePBX installed on Ubuntu 10.04 – as there is no package for it. I also managed to get it working with lighty (lighttpd) which saved a lot of memory. And as an additional tip, disable innoDB in MySQL which will save you even more memory.

By default Asterisk logs all the calls to a CSV file. These files are very ugly and impossible to read. There is a panel in FreePBX which allows you to interrogate CDR or call records. This panel queries a MySQL database. This database is part of the FreePBX install script which managed to work for me. But to log to the database Asterisk must have the cdr_mysql addon. This does not come straight with a ubuntu package. There are a couple of steps you need to go through.

First, do not go out an grab the svn sources from digium site and compile and install. This will not work. You will most likely get these types of errors in your Asterisk full log:

Module 'app_addon_sql_mysql.so' was not compiled with the same compile-time options as this version of Asterisk.
Module 'app_addon_sql_mysql.so' will not be initialized as it may cause instability.
Module 'app_addon_sql_mysql.so' could not be loaded.


Follow these steps though and you will have success:

~# apt-get build-dep asterisk-mysql
~# apt-get -b source asterisk-mysql
~# dpkg -i asterisk-mysql_1.6.2.0-1_i386.deb

So what does this do? The first step downloads all the build dependencies for the add ons. The next builds the addons from the source. The last step installs the addons into the Asterisk modules folder. Thanks to the guys as Launchpad for helping everyone sort this out. See here.

Then restart your Asterisk server and you are done. I think next time I’ll show you how to get around the core dump when you shutdown Asterisk using the scripts which come with FreePBX.

Now if we could only nail down the call quality, me and the other guys at chameeya would be so happy.