|
|
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:
-
A white paper outlining the
use
of the IP04 for VoIP in developing regions.
-
Open hardware telephony really can "connect the planet". Here is a article published on Next Billion that describes the possibilities for the
developing
world.
-
This blog post introduces the business and social possibilities of
Open Hardware.
Why Free Telephony Project?
-
Our designs are free as in speech, like Open Source software. Anyone is free
to copy, modify, manufacture.
-
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
-
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.
-
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.
-
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.
-
The hardware page summarises the various open
hardware projects.
There is a project forum
here.
Latest News
-
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.
-
Wed, 22 Oct 2008:
Wired
article on Open Hardware featuring the Free Telephony Project.
-
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.
-
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.
-
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.
-
Friday, May 16, 2008: Oslec News. Oslec has been chosen as the
default echo canceller for Debian, and an Oslec development roadmap more.
-
Wednesday, April 30, 2008: IP04s are back in stock and ready for
immediate shipping from the Free Telephony Project
Store.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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).
-
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.
-
Thursday, November 29: Survey of Asterisk Apppliance
products.
-
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.
-
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.
-
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.
-
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.
-
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.
-
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!
-
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
-
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:
-
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.
-
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.
-
Open FXO and FXS interface hardware has been
designed, built and tested.
-
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.
-
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.
-
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.
Resources
-
There is a project forum here.
-
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.
-
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.
-
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
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:
-
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.
-
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.
-
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).
-
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
|