Elastix – VoIP for your Raspberry Pi

Here’s a nice bit of new functionality for your Raspberry Pi: the good folks at Elastix, the open-source unified communications outfit, have developed a new version of Elastix 32 bits, called μElastix, and ported it to the Raspberry Pi. I know a lot of you were clamouring for Voice over Internet Protocol (VoIP) on your Pis (for people confused by the jargon, VoIP is a way of making cheap phone calls over the internet); we’re very pleased that Elastix have thought the Raspberry Pi significant enough that it’s been worth making a new version for the platform.

Of course, it turns out that VoIP isn’t all Elastix can do: here’s a handy diagram explaining what you’ll get. (Asterisk, the bit in the middle, is the call-report interface Elastix is based on):

Elastix is released under the GPLv2. Click on the image to go to a download page, and to learn more. Let us know how you get on!


Evil Uncle Edd avatar

So are there any details of how its performing on the PI? Concurrent calls, transcoding etc

Kind regards

Edgar Landivar avatar

We have tested up to 10 concurrent calls without transcoding

Montekuri avatar

Now, we just need a dedicated microphone input to the PI.
A USB sound card is not the best solution.

drgeoff avatar

AIUI, the VoIP functionality is that of a PBX. You require separate IP phone(s) which are connected by ethernet or Wi-Fi. This distribution doesn’t provide a softphone running on the RPi itself. Hence audio I/O on the RPi is irrelevant.

mahjongg avatar

Agreed, and with the I2S sound interface (header P5) on the new revision 2 boards it should be possible to add a codex chip with a microphone input.
It seems the software development of the I2S driver is going somewhat slow though.

Mic Edwards avatar

More development is always good, and the Elastix distribution is well regarded, but VoIP on RasPi has been happening since very early on …

I am running about 20 extensions from a Pi using Asterisk for Raspberry Pi.

There are various other projects …

Edgar Landivar avatar

uElastix is not a new project. It has some months in the air.

Eman Calso avatar

I agree with Mic Edwards. I’ve been using Asterisk for Raspberry for a few months now.

Stu avatar

I’ve been very impressed by the IncrediblePi distribution:


WimDV avatar

To the author or this post:
VoIP isn’t just a way of making cheap calls over the internet. It stands for Voice over IP. Its more than cheap internet calls.

Secondly, asterisk isn’t a “call-report interface”, it’s an open source VoIP platform.

For more information: http://www.asterisk.org/

JamesH avatar

I’m sure Liz knows that, but the to general populace – VoIP is a way of making cheap calls over the internet!

Nick Barnes avatar

But why perpetuate a false definition?

(VoIP services supplier and consultant)

Nigel avatar

I agree! My friend once said that FTP is a way to download files when as any fule kno it mean “File Transprint Protokol” with lots of extra hard stuff. Stupid boy!

Leo Leibovici avatar

Think you might have broken their server Liz.
wget is estimating 25 hours 25 mins to download tar file!


Edgar Landivar avatar

In fact, there were a lot of downloads… moving to the sourceforge.net servers tomorrow!

Aaron E. avatar

@Leo I think you might be right. I’ve tried to download it twice, and it looks like they both got cancelled due to slow download speeds.

Edgar Landivar avatar
Polestrella avatar

Regarding VoIP using Raspberry:

Yes, Asterisk has “Asterisk for Raspberry Pi”. A demo was done at the 4K Conference last week on Bogota. David Duffett, Community Director of Asterisk showed everyone an example using Asterisk and WebRTC with the board, which was perfectly done.


The uElastix Distro for Raspberry is an additional alternative for those who want to test Elastix with RB Pi. For example we made a robot (which used a RB Pi card) to be controlled with an IP Phone:


We hope to contribute to the Raspberry Pi community.

newtim avatar

Is there a more functional download link?

Mattewan avatar

I run an opensource site which creates torrents for projects like this. Due to the amount of issues people are having with the downloads, I have made a torrent: http://www.osst.co.uk/Download/uElastix

Wayner avatar

What are the pros/cons of uElastix vs some of the alternatives like IncrediblePBX?

poglad avatar

uElastix gets exciting prominent exposure on the official Raspberry Pi website! (The others don’t…)

TirsoJRP avatar

I tried uElastix a few days after it was released. Didn’t like it, IncrediblePI is way better and faster.

KKScarboro avatar

I had asterisk running on my Maemo based Nokia N900 couple of years ago, so this was a sure thing to happen on Raspberry Pi. In general I run PIAF for GUI based systems with Freepbx and has been very happy with. Good to know about incrediblePI – will certainly try it out. As well as uElastix. Although, I am worried that uElastix maybe too bloated. If you just need a lean and mean asterisk pbx then just go with plain asterisk. Maybe I will give Archlinux for ARM a try and setup a lean and mean asterisk system.

bazza14 avatar

Cool, that’s saved me a heap of time. Thanks guys.

mtaran avatar

That’s amazing, but I have 1 problem with uelastix ;( It does not have bcm2708_wdog support ;( In this week I try to issue this problem, but problem still present ;( May be somebody fix this problem? ;(

jonH avatar

I have been trying to make my SD card, following their instructions, but I get stuck at stage 5:

tar -C /media/BOOT/ -xzf BOOT.tar.gz
tar -C /media/rootfs/ -xzf rootfs.tar.gz

– This doesn’t actually work for me. I have tried mounting the SD card partitions manually then unTARing them to the mounted partitions, but the SD card wasn’t bootable. Has anyone got an image file for an 8GB SD, I could ‘borrow’?

Spog avatar

I am having same problem as jonH ecept the command does work for me but still no bootable card.

Jeff avatar

If your card doesn’t boot, might be the way you formatted it – was for me:
Use “df -h” on your linux machine to work out which disk it is (sda, sdb, whatever)
Unmount both partitions (umount /media/BOOT etc).
Now start fdisk (sudo fdisk /dev/sdb [substitute whichever you found from df]), select partition 1, set it bootable. fdisk gives instructions, pretty easy.
Write the partition table back to the card with “w”.
Remove card, stick it in the Pi, try again.

The other thing I found is that this will sometimes boot in under a minute and sometimes just hang there forever with a dead cursor on the console. Pull the power plug, try again, usually ok second time around. Stability perhaps isn’t a strong point yet!

I found several other problems with the current uElastix distro for Pi:
(1) the IP address is NOT DHCP as the instructions suggest, it’s fixed at If that doesn’t suit you, you’ll need to get a console onto the Pi and edit /etc/sysconfig/network-scripts/ifcgf-eth0 then reboot
(2) to make (1) a bit more fun, the thing is set up in Spanish! Commands are ok, but messages are a mixture and the Spanish keyboard layout will really confuse anyone used to UK/US. If you want (real) English, the first thing to do on the console is “loadkeys uk”.

So far, FreePBX for Pi is winning hands-down, but its web UI could be a whole lot better.

Hope that helps…

Spof avatar

Thanks very much Jeff I had already tried that but still no boot.

I have come to the conclusion that FreePBX is very good and will stick to that as we have had it running now for about 2 weeks and finding it to be absolutely excellent. We have 8 extensions with 3 trunks and it copes perfectly.

marcel avatar

I have installed elastix-raspberrypi-2013-01-03.
When go to the web interface – PBX
i have a error, can´t open this page
what is wrong?

baldhead avatar

same problem for me : partitionning and copying files was ok, the raspberry pi load uelastix, I can set the lan configuration, but when I tried to access to the PBX configuration : http error 500 and nothing works anymore – a clue ?

liz avatar

Try the forums – I don’t think anyone’s monitoring this thread.

baldhead avatar

Found the issu : the data base is stopped, easy to start.
When under SSH, just enter the following :
chown -R mysql:root /var/lib/mysql

and :
mysqld_safe –user=mysql&

Now everthing works perfectly, remote extensions, video calls

Almo avatar

Do i able to used PRI for Raspberry IP PBX? If so, would you please let me know how?

Raymond avatar

Could anyone have a illustrated introduction about how to use the asterisk on PI to connect with a phone or to call to a PSTN phone from a computer?

Carlleigh avatar

I was wondering about fxo and fxs interfaces for the Raspberry, any available?

oleg avatar

I’ve just installed newest uelastix (from elastix-arm-2014-01-30.tar) on my Raspberry PI model B. It’s booting. I can get it via SSH. But web-interface don’t work. It doesn’t show any errors just show me warning about sertificate when i connect with web-interface first time – as usual i add exception. That’s all what i saw about web-interface. Then i can see only empty page in my browser. Please help me to solve this problem!
PS. I have several working projects on Elastix 2.2 & 2.4. I was trying to start previous version of uelastix on Raspberry PI model B some time ago. It works, but time to time i had problems with web-interface…

Comments are closed