ucAsterisk is a project to breach the last barriers that stand before transparent telephony designs. It will combine Asterisk, ucLinux, and Open Hardware.
Once ucAsterisks milestones have been met, it will effectively complete a transparent embedded telephony design, from the hardware designs through firmware, DSP code and applications - all freely available under the GPL.
David Rowe has made the port of Asterisk to ucLinux and is now working on the open telephony hardware. This shouldn't be surprising as David started the first company to build multi-port voice telephony cards with open source Linux drivers and he's contributed heavily to projects like Bayonne, Speex, Asterisk, and Ctserver.
One of the goals of the ucAsterisk project is to build a PBX running on the BlackFin 533 target platform. This is a small, inexpensive (5USD in quantity), low-power (sub-watt), 500MHz CPU with some DSP functionality. To buy a development board and tools for a few hundred bucks look here. The BlackFin PBX will be an important milestone.
ucAsterisk is a proof of principle and an omen. Telephony design is now open end-to-end.
ucLinux/OpenCores have finally brought together open hardware design and the dominant platform for open-source software design. For the next couple of years, this will be the most transparent platform for end-to-end open designs. Porting important applications to this platform is the best way to plant the seeds of completely open end-to-end computing systems (hardware and software) with practical, commercial applications.
Since Asterisk is the dominant Open-Source telephony application, it is now possible to build a dominant platform that is completely transparent, end-to-end. This is as near a foolproof recipie for creating an industry standard reference design as can be imagined.
This is another data point suggesting that there is nothing left to hide in this field, and no beneficial reason to do so (beneficial to consumers, that is). Another data point showing that the free exchange of ideas trumps any system of patents. Designs will move more quickly, they will be more secure and more innovative.
To me, it is just as important that this project feels right. It's a huge relief after being in this industry as long as I have to see proper reference designs developed in an open manner.
NOTE: If you haven't seen the OpenCores project you probably don't follow me. You should check it out.</opinion>
Sub 100USD Linux Boxen
This new tiny platform for Asterisk has me excited about toying with tiny platforms for Linux. So I'm taking another look at small, Linux-compatible boxen. Asterisk runs on all of the following, as they all run standard Linux.
Gumstix still looks like the most bang for the buck, although a little underpowered. 99 bucks gets you a very small, relatively slow little linux board with some super-cool features like bluetooth modules. Good deal.
If you want something turnkey and don't need lots of mips or a tiny package, get yourself a Linksys WRT54G series wireless router. OpenWRT has a lot of ported applications. At 80 bucks retail, including the wireless router, this little item is the low cost leader.
If you want something powerful and don't need it too small, used 500MHz laptops (or even 1GHz laptops with a broken screen) can be found on ebay for around 100USD.
Linux Devices has a small list of fairly turnkey stuff. Compulab has some sub-100USD boards that look good as well.
Let's face it though, the most attractive thing to you, geek, is the most Open system - the system you can actually engineer. To get there you need to geek out a little more, and, unfortunately, spend more money. The single most interesting hardware project out there today is probably OpenCores.org.
My goal is to find out how cheaply I can get FPGAs and the hardware to program FPGAs that will run ucLinux/Asterisk/Ethernet. There are OpenCores platforms that will run ucLinux and emulate risc, motorola, sparc, arm, etc.
I really haven't got a solid understanding as to which OpenCores modules will fit on which FPGAs. You have to really dig to get this kind of information from the opencores site (the forums are the most useful repository). A matrix of this type will have to wait for another article.
One problem that is recognized but unsolved by the OpenCores community is that the tools and components required to build an embedded system are not cheap. It looks like most people prove they have a design and then humbly request for help from commercial vendors.
AFAICT, the cheapest FPGA development kit that will definitely run ucLinux on opencores is the Cyclone II from Altera, which supposedly will be available for 270USD (according to the Altera website). I don't know enough yet to evaluate that, but here is one evaluation.
The best way to get started might be to order a prototype board kit from a designer.
Ah, well, that was fun. Back to work on Rails.