Step 2. Install and ConfigureĀ Asterisk
When I first started on this part, I tried to build Asterisk from source in order to install the latest version. But the many dependencies and the slow build process on DNS-323, due to its slow CPU, changed my mind. Fortunately there is binary available for ARM architecture in Debian, just not the latest version. But it works just fine.
The process is simple:
dlink-xxx:# apt-get install asteriskNow we need to configure it to unload all the modules that we don’t really need to reduce memory usage.
dlink-xxx:# nano /etc/asterisk/modules.confNow add these lines to the end of the file:
noload => chan_gtalk noload => chan_iax2 noload => chan_zap noload => chan_vpb noload => pbx_dundi noload => app_amd noload => res_jabber noload => res_odbc noload => res_smdi noload => res_snmp noload => app_directory_odbc.so noload => app_voicemail_imap.so noload => app_voicemail_odbc.so
Then look for and change:
load => format_au.so ... load => format_mp3.so
to
noload => format_au.so ... noload => format_mp3.so
Now restart Asterisk:
dlink-xxx:# /etc/init.d/asterisk restart
15 Responses to “Asterisk + FreePBX + Google Voice on DNS-323”
January 15th, 2010 at 6:35 AM
Wow, great tutorial! Makes it really clear, the steps you’ve taken. It’s actually deterred me from doing it on my own dns-323, which I’m using primarily now, as a torrent client/server ( I was using it a a backup/fileserver for our home computer network, but realized pretty quickly it just didn’t have the horsepower to do what I wanted it to do). That said, it’s as reliable as a hammer, in that it will run for months without a hiccup (installed funplug on it almost immediately after unboxing it a couple years ago).
After reading about your experiences, and the instructions on the nerdvittles site, I think I’m going to buy one of those low power acer revo boxes, and install pbx-in-a-flash on it. I think they have enough power to do what you’ve done on the dns-323, and media-centre as well
Thanks again for the writeup!
January 15th, 2010 at 8:36 AM
Thanks. But this is not something original, I just put those pieces together specifically for DNS-323.
I use my DNS-323 mostly as a media server, occasionally for Bittorrent. But the built-in BT client is very limited and crashes often. So I siwtched to rTorrent. I can turn it on and off as I wish.
The Acer Revo is a great machine. It’s cheap, even cheaper if you go the Ubuntu route. I was considering getting one as a HTPC. But I do want Blu-Ray capability and Atom is just not gonna cut it.
D-Link has a 4-Bay NAS DNS-343, that maybe my next NAS since the 2TB on my DNS-323 is running out soon…
April 18th, 2010 at 8:44 AM
Thanks for this great tutorial. I am very interested in running the pbx on the dns 323. If i install the debian can I still use the original firmware etc?
Thanks for the help
April 18th, 2010 at 1:18 PM
Glad it helps. The Debian installed on DNS-323 is basically a chroot environment. So all the basic functions are still being done by the original firmware. Such as the Samba, Web UI and BT clients (although the BT client from the firmware is not very good quality).
April 20th, 2010 at 8:23 AM
I have been using the guide.
On the following line it can not find mysql and php5
dlink-xxx:# apt-get install lighttpd mysql php5 php-pear php-mysql python python-setuptools
and modules.conf for asterisks did not have the following lines
load => format_au.so
…
load => format_mp3.so
I am not sure how important these are. I will let you know if i can get it working.
Thanks for a great write up.
t
April 20th, 2010 at 8:34 AM
Hum, it’s weird you can’t apt-get mysql and php5. Those are vital ingredients.
Regarding modules.conf, just add those lines in there.
April 20th, 2010 at 10:41 AM
Actually I found that mysql is called mysql-server and php5 is php5-mysql then it installed it all
but i had an issue with lighttpd
it does not start the server i got the following error
lighttpd.conf line: 158 pos: 1 parser failed somehow near here: (EOL)
have you seen anything like this. line 158 is the last line and it does not like a character there.
April 20th, 2010 at 2:15 PM
Actually would it be possible to copy your ligthtpd.conf file here?
April 21st, 2010 at 8:00 AM
I just sent it to your Gmail.
April 21st, 2010 at 1:23 PM
Thanks
Actually I have got it working last night but it was not easy. There is a problem with the fastcgi.conf file =>
should be >.
It is not working and I had to do alot trouble shooting. If you are interested in updating your guide let me know.
t
July 8th, 2010 at 3:16 PM
Hi,
I am thinking about to implement GV through FreePBX on Sheevaplug. Since FreePBX is already available on the Plug with PlugPBX, do you think it is possible to make it work following the procedure given on Page 5?
July 9th, 2010 at 8:24 AM
I am not familiar with PlugPBX, but I would think it’s a similar process.
July 15th, 2010 at 2:59 PM
Hi, Roland:
Thank you for your good tutorial and guide. I followed it to install FreePBX on my MSSII NAS box. It installed Debian pretty well. I also installed Asterisk successfully. The problem is that that when I install FreePBX, there were some error message for the command: “mysql asteriskcdrdb < SQL/cdr_mysql_table.sql” (Page 4)
It says: ”
sh: lt: command not found
sh: SQL/cdr_mysql_table.sql: No such file or directory
sh-3.2# ERROR 1049 (42000): Unknown database ‘asteriskcdrdb’
”
Can you provide some ideas to fix this problem? Thanks in advance.
July 15th, 2010 at 3:05 PM
First of all, all credits are due to the first people who wrote it. As I said in the post, I am just summarizing them =)
I made a mistake there. It should be a “<“, less than symbol there. But when I was using the editor in WordPress, it converts it to HTML symbol “<”.
July 29th, 2010 at 3:28 PM
Roland:
Thanks.
I can install everything now but have not make FreePBX work yet. I am busy with other projects so I will comeback to this later.
As for the problem I have earlier, I found there was a typo in your script on Page 4. Namely:
………………
dlink-xxx:# mysqladmin create asteriskcdrd
dlink-xxx:# mysql asteriskcdrdb < SQL/cdr_mysql_table.sql
……………
The a "b" was missing in "… create asteriskcdrd(b)". I was just cut and paste your script and missed the typo.
Your tutorial is really very helpful. Thanks a lot for your effort.