Free Telephony Project
Open Telephony Hardware

Introduction

The goal of this project is to provide free hardware designs for telephone systems. Both the hardware and software are open. You are free to copy, modify and re-use the hardware designs. The hardware for a complete embedded Asterisk IP PBX (including multiple analog ports or a T1/E1) can be built for a few hundred dollars. No PC required!

Our first product is the IP04. The IP04 is a low cost phone system that can switch phone calls from analog phones or phone lines over the Internet using VoIP. The IP04 is a professionally designed product that is in volume production today:

The hardware designs collected on this site have been developed by a dedicated group of telephony professionals. The technology is complex, hence most of this web site is deeply technical. However the goals of the project are easy to understand - we want to lower the cost of telephony for everyone on the planet. Making a phone call should be a human right, not a privilege.

For a non-technical introduction:

  1. A white paper outlining the use of the IP04 for VoIP in developing regions.

  2. Open hardware telephony really can "connect the planet". Here is a article published on Next Billion that describes the possibilities for the developing world.

  3. This blog post introduces the business and social possibilities of Open Hardware.

Why Free Telephony Project?

  1. Our designs are free as in speech, like Open Source software. Anyone is free to copy, modify, manufacture.

  2. Recent breakthroughs mean that free software can now do most of the work in a telephone system, work that was previously done by specialised, expensive hardware. This means a dramatic drop in hardware prices is possible. Thus hardware costs are getting closer and closer to $0. Our job is to help them get there faster - by releasing royalty free designs and encouraging their mass production!

Quickstart

  1. The IP04 is a 4 port IP-PBX that runs Asterisk and uClinux on a powerful embedded Blackfin processor. This is a hackable IP-PBX based on open hardware and software designs. Assembled and tested IP04s are available from the Free Telephony Project Store.

  2. Oslec is an open source high performance line echo canceller that outperforms the Zaptel echo cancellers used in Asterisk. Although developed for the Blackfin it is also in wide use on x86 platforms.

  3. There are two build systems for Blackfin Asterisk, Astfin and BAPs. Astfin builds a single image containing all software, whereas BAPs is a package-based build system (like apt-get or rpm). It is easy to move between Astfin and BAPS (they both use similar Makefiles), so feel free to experiment with both.

  4. The hardware page summarises the various open hardware projects.

There is a project forum here.

Latest News

  1. Tuesday Dec 9 2008: After a productive and enjoyable couple of months we have just finished Milestone 1 of the Mesh Potato project. Check out Elektra's post and my own post over on the Village Telco blog.

  2. Wed, 22 Oct 2008: Wired article on Open Hardware featuring the Free Telephony Project.

  3. Saturday, 27 Sep 2008: The Free Telephony Project is 3 years old! As I really don't know how to have a good time I have written some blog posts to celebrate: one on the Family Tree of the project and another on how Open Hardware is developing.

  4. Monday, Sep 22, 2008: Open hardware USB ATA. The Open USB FXS Project: An open hardware, inexpensive FXS board that connects to a PC via USB. Angelos is making great progress in developing an open hardware USB based ATA, building on the ideas of the $10 ATA and blogging as he goes. Nice work Angelos.

  5. Saturday, Sep 13, 2008: The Mesh Potato project Kicks Off! The Mesh Potato is a 802.11bg mesh router with a single FXS port designed to give low cost telephony to the developing world. It provides telephony via VOIP while simultaneously facilitating a Wifi mesh cloud, and is an being built using open hardware and open software. The Mesh Potato is a key component of the Village Telco project and the development is being funded by the Shuttleworth Foundation.

  6. Friday, May 16, 2008: Oslec News. Oslec has been chosen as the default echo canceller for Debian, and an Oslec development roadmap more.

  7. Wednesday, April 30, 2008: IP04s are back in stock and ready for immediate shipping from the Free Telephony Project Store.

  8. Wednesday, April 23, 2008: Jan and Bruce at VoipTel have developed a much improved version of the AsteriskNow GUI for the IP04. A robust GUI has been on the IP04 wish list for a while now, thanks Jan and Bruce for all of your hard work. Here are the installation instructions for the IP04 Voiptel GUI.

    VoipTel IP04 GUI
  9. Monday, March 17, 2008: Alpha FreePBX port for Blackfin Asterisk! For the past month a group of developers have been working hard on an ambitious project - a port of the popular PHP/SQL based Asterisk GUI FreePBX to the Blackfin. This is really pushing the limits of Blackfin/uClinux platform - we have had to implement the equivalent of a LAMP stack on a uClinux box! We now have alpha level functionality: extensions/routes/trunks can be set up, and calls can been made on an IP04. The story of porting FreePBX to the Blackfin is described in this blog post.

  10. Thursday, February 7, 2008: Jeff Knighton has implemented Caller ID (CID) for the IP04 by integrating Steve Underwood's SpanDSP library with Asterisk. Great work Jeff, and thanks Steve. You can try it out with BAPS using the asterisk-spandsp package.

  11. Tuesday, February 5: Linux.conf.au 2008 presentation. I recently presented on How To Build and Embedded IP-PBX. The presentation covers the Free Telephony Project work, with links to the slides and video. Scroll down to Session 3 in the LCA program.

  12. Friday, December 28: Web server problems. This web site and blog has been down for most of this week. I am using a new host for the site, so there may be some teething problems. Please email me if you have any difficulty accessing the site.

  13. Friday, December 21: BAPS released. BAPS is a package based build system for the Blackfin, like apt-get or rpm. It is especially designed to make user upgrades of software easier (no compiling required).

  14. Thursday, November 29: IP08 Prototype. The IP08 has 8 analog ports, two Ethernet ports, and USB. Read all about the bring up of the very first IP08 prototype.

  15. Thursday, November 29: Survey of Asterisk Apppliance products.

  16. Monday, November 12: Mark and the team have made the first phone call on their BRI-ISDN Appliance. Read all about it on the Astfin Blog. I was thrilled so see all the inputs by a variety of people during the debugging stage. This sort of collaboration in hardware development is new and innovative, a real "breath of fresh air". Also the rate of progress is spectacular compared to traditional "closed" development methods.

    BRIAppliance
  17. Wednesday, November 7, 2007: An article on the IP04 has been published in EE times. The article discusses the IP04 design, the open hardware development philosophy, and Oslec.

  18. Monday, November 6, 2007: An article on the Free Telephony Project hardware and software has been published in issue 2008 or Circuit Cellar (November 2007) Magazine.

  19. Sunday, October 13, 2007: Primary Rate Appliance and Basic Rate ISDN Appliance projects announced! A team of telephony professionals have been working hard on developing some new Blackfin based Asterisk Appliance products. These new products are exciting new developments with BRI-ISDN and E1/T1 line interfaces. Hardware designs are complete, and prototype bring up will commence soon. More details from this post on the Astfin Blog.

  20. Friday, October 12, 2007: IP04s back in stock! If you are interested in an IP04 please be quick - I have already sold half of this batch through back orders. Available from the Free Telephony Project Store.

  21. Friday, September 7, 2007: mISDN support for OSLEC, the high quality open source echo canceller, thanks to Peter Schlaile. Thanks also to Kristijan Vrban for sending me some ISDN hardware so I can help with the ISDN/Oslec testing!

  22. Sunday, August 12, 2007: The first batch of IP04s has sold out! New stock will be available in mid September. Feel free to pre-order now for September delivery. You can read all about the first batch of production IP04's on my blog post Building an Embedded Asterisk PBX Part 4

  23. Monday July 23, 2007: Production samples of the IP04 are now available for purchase from the Free Telephony Project Store. The production IP04s are fully assembled and tested and can be configured with any combination of FXS/FXO modules.

Status

Progress to date:

  1. Production hardware, the IP04 Four Port IP-PBX was released in July 2007. The IP04 combines technology we have developed over the last 18 months into a low cost, completely open IP-PBX. The IP04 is now a stable, proven design, with several hundred units in use all over the world. Many companies are adopting the IP04 design as the engine for their internal IP-PBX product development.

  2. An high performance, open source echo canceller (Oslec) was released in June 2007. Oslec runs on both x86 and Blackfin platforms, and provides high quality, free echo cancellation to thousands of people around the world.

  3. Open FXO and FXS interface hardware has been designed, built and tested.

  4. Primary Rate E1/T1 and BRI-ISDN Appliances have been prototyped and are under active development by the Astfin team. Astfin is a separate project, however the teams share common goals - the development of open hardware embedded IP-PBX designs.

  5. Several versions of Asterisk have been ported to uClinux running on various Blackfin platforms. The most common is Astfin. With Astfin you can build embedded Asterisk firmware in just 5 steps.

  6. Efficient versions of GSM, Speex and G729 codecs have been ported to the Blackfin platform. Up to 60 G729 codecs can run in real time on a embedded processor!

Plans

The goal of this project is to develop and put into production free (as in speech) embedded IP-PBX designs with FXS/FXO analog, E1/T1, and BRI-ISDN ports.

The FXS/FXO analog project (called the IP04) has reached this goal and is now in production. The Astfin team are rapidly progressing E1/T1 and BRI designs and will no doubt have production hardware later in 2008.

The plan for the IP04 technical development is illustrated below. The blue boxes illustrate progress to date, yellow boxes are activities in progress. The IP04 has passed FCC-15 compliance tests and either the IP08 or IP04 will soon be FCC-68 certified.

Project Plan

Resources

  1. There is a project forum here.

  2. How To Build an Embedded IP-PBX presented at Linux.conf.au 2008 (links to slides and a video) is a good introduction to the project. Scroll down to Session 3 in the LCA program.

  3. There are many blog posts on the project, that provide an easy to read introduction to the project. For example bringing up the 4fx analog (Part 1 and Part 2) and the experience of building and debugging a BlackfinOne DSP motherboard.

  4. A 3-part series on Embedded Asterisk on the Audio DesignLine website, Part 1, Part 2, Part 3

Thanks To

  • The Linux, Blackfin, BlackfinOne, Asterisk, and gEDA communities.

  • Wojciech Tryc for setting up SVN, automated tests, BlackfinOne debugging, very helpful chat sessions and support. Thanks Paul Pastuszak for hosting the SVN repository.

  • Atcom for building the production IP04s. Thanks Alex Tao for his great work on IP04 hardware and software.

  • Mike Taht, Jean-Marc Valin and Marc Fribush.

  • Gideon Hack for advice and encouragement on project directions.

  • Rich Bodo for (i) encouragement (ii) interesting discussions on Open Hardware and (iii) hosting the Free Telephony web site and blog.

  • My wife Rosemary and children for letting me work on this project.

  • My parents Des and Helen for letting me work at their house when the above make it too noisy for me to work on this project :-)

  • Soa for donating test equipment.

  • The BlackfinOne team for their great work.

  • Telephonyware for generous deals on IP phones.

Support

  • Please post to the forum.

Why port Asterisk to uClinux/Blackfin?

I have a history of developing Computer Telephony hardware and have always wanted to build a small embedded box that combines a host processor, DSP, line interface hardware, and software. It's an itch I need to scratch!

From a technical perspective there are some very cool things about this chip:

  1. The problem with most embedded processors is that they are not very powerful. The Blackfin is a powerful host processor AND a DSP, i.e. it can run uClinux, Asterisk and G729 on the same processor at the same time. A standard 500MHz Blackfin runs at around 1000 DSP-MIPs, which is plenty for codecs, echo cancellation etc.

  2. A lot of effort and hardware cost is usually required to interface telephony hardware to the host processor (typically a PC), e.g. PCI bridge chips. The Blackfin makes it easy as it has a lot of nice interfaces built in, like serial ports, SPI, DMA controllers, which are all tightly integrated with the core processor.

  3. The Blackfin chips are good value for money, ranging from $4.95 each (BF531 in 10k volume) which makes low cost embedded telephony hardware a real possibility. This makes it possible to build an IP PBX including analog or E1/T1 line interfaces for less than $200 (parts cost).

  4. Best of all there is an open source community that has developed around GPL hardware (the family of STAMP boards). What is needed is an application (Asterisk) and some line interface hardware (which is under development). For more information on the Blackfin uClinux community look here.

Motivation

I have reached the point in my life where I have enough money to be comfortable, and would now like to improve the world a little. So rather than closing this technology and trying to maximise my personal gain through a profit-driven start-up I choose to give the technology away to anyone who finds it useful. Craig Newmark's nerd values.

The combination of free telephony software and hardware can dramatically lower the cost of telephony for everyone on the planet. Therefore I am attracted to this work as it has meaning for me on a personal level.

This project also lets me work with technology I enjoy, and some very smart people who share my interest in the technology.

Of course its not just me working on this project, there are many people involved and their motivations vary across the usual spectrum:

We act for material gain, but also for psychological well-being and gratification, and for social connectedness.

The Wealth of Networks (2006)
— Yochai Benkler

For me, this project is more about the Yochai's last few points, but other people are interested for mixtures of other reasons (business opportunity, fascination with the technology) and that is fine. All are welcome.

If you would like to read more about the social possibilities I have blogged on open hardware and the possibilities of using this technology to help people in the developing world.

Please watch, listen, or read Eben Moglen's wonderful speech on Software and Community in the Early 21st century. This speech really resonated with me and describes some of the wonderful possibilities for free software (and hardware). Thoroughly recommended.

Links