[erlang-questions] link: Asterisk PBX on an FPGA

G Bulmer gbulmer@REDACTED
Fri Feb 22 01:33:48 CET 2008


I stumbled across a few interesting telecoms Open Hardware projects.
Many of you chaps know far more than I ever will about telecoms, so I  
thought you may be interested if you've not seen these before.

An Australian chap has designed and built a small office PBX using  
Analog Devices Blackfin processor. Blackfin is interesting because it  
runs Linux (uCLinux) and also has has +1 G-op DSP hardware on a chip  
that costs less than $20 in quantity. He has also designed and built  
the analogue phone line FSX/FSO interfaces too:
http://www.rowetel.com/ucasterisk/ip04.html

It has 4 analogue POTS interfaces, and supports VoIP with a 10/100  
ethernet interface. He reckons it runs on less than 5W of power.
He is working on an 8 FSX/FSO and dual ethernet board for 2008Q2.  
This could hurt the low-end PBX vendors.

The hardware design is Open, including eCAD and PCB layouts, so  
anyone can do it all yourself, and even modify it.
He uses the blackfin DSP to run the whole system: Linux, Asterisk,  
and his line echo cancelation code.
He is interested in providing low-cost telecoms infrastructure into  
developing countries, and this takes so little power it could be  
solar powered. Amazingly, the board is just an ordinary double sided  
PCB, so it is within the capabilities of small organisations to make  
for themselves.

Just as impressive is this FPGA-only board running uCLinux + Asterisk:
http://www.rowetel.com/blog/?p=40

The FPGA used has a 300MHz Power PC core, and hence runs uCLinux and  
Asterisk; the FPGA is also used to accelerate some of the processes  
like FIR filters for echo cancelation. They say the FPGA is about $12  
in quantity, so it could be a pretty cheap PBX.

He reports: "... you could include an E1 framer on the FPGA and  
possibly even the DSP side of analog interfaces ...", " ... also  
working on hardware-acceleration for codecs like G729... ", "... they  
are digging into the key issues of Asterisk (like the drawbacks of  
it’s threaded design and bottlenecks like echo cancellation) ...",  
and " The Bill of Materials BOM can also be reduced by absorbing  
system functions into the FPGA."

It might be interesting having Erlang on this kind of stuff. I'd  
rather use Erlang than tussle with Asterisk for my telecom  
infrastructure:-) I imagine a pretty lean Linux would be enough to  
support an 'embedded' Erlang.

This type of hardware may revolutionise telecoms in small, relatively  
poor countries.
Maybe long range WiFi (or cheap wimax) may be adequate to hook it  
together :-)
http://www.engadget.com/2007/06/19/venezuelans-set-new-wifi-distance- 
record-237-miles/

Maybe someone at Ericsson might be interested in helping these  
efforts as a long term investment in developing countries?

I found it fascinating, so I hope I didn't waste your time.
G Bulmer




More information about the erlang-questions mailing list