Building an Embedded Asterisk PBX Part 4

About 2 weeks ago I received the first batch of 50 production IP04s from the guys at Atcom. I would have blogged about this earlier but to be honest I have been so busy testing and shipping that I haven’t had time! Here the IP04 is pictured on the bottom, with a WRT54G for size comparison:

I now have now been using the IP04 for a few months (both prototype and production models). Here are a couple of things I really like:

  1. The IP04 is actually easier to set up than an x86 Asterisk system, as it comes with uClinux and Asterisk pre-installed. Apply power and 60 seconds later you have dial tone. You can telnet in and edit Asterisk config files just like a regular x86 box.
  2. The tiny embedded form factor is very cool. You can see from the photo above it is about the same size as a WRT54G (the WRT is a little deeper, the IP04 a little wider). The IP04 is fanless, and draws just 4.5W
  3. Compared to other embedded systems, the IP04 has a huge amount of NAND flash – 256 Mbytes. This means plenty of room for prompts, voicemail, and even your own programs. My experience with most other embedded systems is that you are always running out of flash. The IP04 feels more like a hard disk based system.
  4. The yaffs file system is working really well. It even appears that no special shut down procedure is required to ensure data is written to the NAND flash. For example if I edit a file then pull the power plug out the data is still there when I re-boot!

FXS Noise

After some initial testing we discovered a hardware bug – the FXS ports had relatively high levels of background noise. This was especially obvious on FXS to FXS calls. Over a busy weekend I worked with Alex Tao (Shenzen, China) and Alen Chen (Atcom) on this bug.

Alex discovered that if we used an external 3V3 power supply then the noise went away. This led us to a fix – insert some inductance (in the form of a ferrite bead) in the 3V3 rail of each FXS module to block noise getting into the module. This part was actually suggested by the Silicon Labs Si3210 datasheet, but most FXS module designs tend to leave it out. Anyway, I have retrofitted these beads to the IP04s I am shipping so now the FXS ports sound much better.

This was another example of “open hardware” in action. Alex, Alen and I working together to bounce ideas off each other and solve tough bugs together, using email and chat.

I must admit that I have been impressed by the quality of the Atcom IP04 hardware. I used to own a telephony hardware company, and the first batches of our products had far more issues than these IP04s. Virtually every IP04 I fire up works first time. Of course there are still a few software glitches – but I am sure we can fix these over the next few months.

Here is a picture “under the hood” – you can see the four FXS/FXO modules (in this case two modules of each type):

You can also see the little green RS232 daughter board that is used for console access.

Strong Sales

After about two weeks I am nearly out of stock, maybe only 5 left. Some new stock is due in mid September, and hopefully an 8 port version later in the year. I intend to spend the rest of this year maintaining the IP04 and chasing down any bugs, plus work on a few other projects like the $10 ATA.

The Oslec open source echo canceller seems to be working well on the Blackfin (as well as on x86 machines).

Just like the prototype IP04s, the Atcom production units have proven very reliable. I have had one running for several weeks without any stability problems. Like any new product there are lots of improvements we can think of, for example expansion to 8 ports, fixing a few software bugs, speeding up boot time, improving speech quality etc.

Important Milestone

The release of the production IP04 is an important milestone in the Free Telephony Project as no hardware assembly (like soldering) is required. To date much of the technology we have been developing required hardware assembly. Fun for us, but not for everybody!

There are many more software hackers out there than hardware hackers, so for the growth of the project it was important to develop production, pre-assembled hardware. Now you can experiment with embedded Asterisk on a powerful DSP-enabled platform at a very reasonable cost (around $450). This is less that it would cost to buy a 4 port PCI card and a x86 PC!

This strategy seems to be working. The first batch of IP04s have sold out very quickly, and the forum traffic and contributions are growing steadily. Bugs are being solved, and exciting new project like embedded E1/T1 and BR-ISDN Appliances have been kicked off.

It was exactly two year ago when I started working on this project (Asterisk on the Blackfin). I wasn’t sure if Asterisk would run on uClinux – back then uClinux didn’t even support shared libraries! Since then, with the help of many people, we have developed a range of open hardware designs, and even sprouted a small industry of people who are earning income from this area through product manufacture, sales, development, and consultancy.

The future looks even brighter – the technology is maturing rapidly and will soon be deployed to the mass market. This is possibly a first: a commerical, mass market product developed from free software and open hardware.


IP04 home page
Buy an IP04 from the Free Telephony Project on-line store
Blackfin Asterisk Forum
Building an Embedded Asterisk PBX Part 1
Building an Embedded Asterisk PBX Part 2
Building an Embedded Asterisk PBX Part 3
IP04 and the Asterisk Appliance
shemale clips movieteen free sex moviestinas moviesmovies usedxxx movies cheerleaderxxx movies teenever most scariest 10 moviesadult search movie Map$5000 loans credit bad100 guaranteed loans student200 loan pay dayquick loans 300502 loan directloan 9 nursing studentloan uk aaadjustable rate texas loan Map

7 thoughts on “Building an Embedded Asterisk PBX Part 4”

  1. hello,
    where can I buy one or 2 for testing purposes?

    1 need one with 3 FXO 1 FXS
    the other one 4 FXO.

    Also I have anormal SIemens PBX, how can I do a bridge between them ?

  2. You can buy IP04s from the Free Telephony Store or Atcom. I am currently sold out but will have new stock in mid September, and am accepting pre orders.

    I am not sure how to bridge to a Siemens PBX, you would use the same techniques as for a regular x86 Asterisk system.

  3. David,

    The IP04 looks great – congratulations. Looking forward to the 8 port version. A question about the codec used for the prompts – can g711 be used instread of GSM, and how is the audio quality? I would love to be able to call into a system to hear it.

  4. Two questions –

    a) I am interested in getting a IP104 with one FXS and one FXO module. Is it user grade-able later to say another FXS or FXO??

    b) With regards to the Oslec echo canceller, has that been built/included in the firmware, or do buyers have to build/install it themselves??

    J Heng

  5. Hi,

    As i can see the latest post is very old !! Congrats for the huge job done there !

    My question is :

    Where cant i gest the latest files to produce a full IP08 and IP16 (16 ports)

    i found many file in the svn .pcb schematic.pdf ect…but i’d like to have the latest ones and the most stable.

    if this needs any additional development, i’m ready to give a financial support to the project and in return receive all necessary documents to start production of an IP08 & IP16 locally in my country

    for example : i found the schematics and the .pcb file for the fxo module, but it’s a single fxo module ! i’d like to have the 2 fxo module.
    when looking at the ip04/ip08 PCB i understood that the two diffrences are the FXO modules that change from 1fxo chip to 2fxo chip and of course by adding the necessary RJ11 ports. but i’m wondering if it’s possible to get a 16 ports ? logically yes ! as i saw in your diffrent parts or the tutorial, it works when pluging many daughter boards (probably until the processor limit in managing simultaneous calls)

    Please help, i’d like to make this product democratic in my country, Algeria. i’m convinced that opensource projects are the best way for a peacefull world, it’s the best way to put some social in business. earning money but honnest money ! that can be reinvested in supporting other projects like this one, my dream is the make responsible business that promotes technology sharing. humans are not made to live with the ame of making money ! it’s the cause of all the wars ! we sould better concentrate on sharing to accelerate the technology developpement to impove the life of everyone on this earth.

    thanks a lot and hope to hear from you soon

    1. Hi,

      Atcom have not released the IP08 and dual port PCB designs, but they are very close to the prototype IP04 designs. A 16 port design might be too much for the Blackfin, as the CPU load would be very high for 16 channels of echo cancellation and compression.

      Thank you for your thoughts on open hardware. Best of luck with your projects in Algeria!



Comments are closed.