Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 34

How to Build an Embedded

Asterisk IP-PBX
rowetel.com/ucasterisk
Contents
Free Telephony Project
Why Embedded Asterisk
Motivation
Open Hardware
Open Hardware Hacking
Credits
Products
Demo
Free Telephony Project 1
many people working in open software

we are working in open hardware

professional telephony hardware designs

that we give away

to improve the world a little

Free Telephony Project 2

designs can be copied modified, re-used


without restriction

we encourage cloning of our products

trend: functionality shifting from hardware to


(free) software

trend: total system costs constantly dropping


Free Telephony Project 3

falling hardware costs are a good thing


(especially for the developing world)

so rather than protecting IP we leverage these


trends

by giving away free hardware designs

and encouraging cloning!


Why Free Telephony Project?
Hardware designs are free as in speech
Use FOSS and Open Hardware to drive
system costs to $0
Lower the cost of telephony for everyone on
the planet
A phone call should be a human right, not a
privilege
Why Embedded Asterisk
Small size (DSL router)
Low power 3W (battery, solar)!
No moving parts (fans or disks)
Quiet
Reliability (parts count, connectors)
Low cost (few hundred $)
Just plain cool!
IP-PBX and Asterisk
A open source PABX (PBX) that can route
calls between the PSTN and VOIP
Usual FOSS advantages low cost and open
VOIP experiencing massive growth
Primary sponsor Digium but many
contributors
Hence alternatives such as FreeSwitch,
CallWeaver, etc, etc
Introduction
Typical installation x86 PC plus PCI card to
connect to the telephone lines/telephones.
Paradigm shift away from x86/PCI cards
History: Embedded = IP-only and no DSP
(Echo cancellation and codecs not possible)
Analog Devices Blackfin Processor has
challenged this paradigm!
Blackfin Processor
A powerful DSP (1 GMAC)
AND runs uClinux
Breaks the two processor (host/DSP)
paradigm
Low cost ($5 - $15 each)
Well supported by vendor and community
Open hardware and software
IP-PBX Hardware 101

Host PC PCI Card

Device PCI FXO


Asterisk
Driver Bridge Port

Ethernet DSP
x86 CPU FXS Port
Card hardware
IP-PBX Hardware 101

Embedded PBX

Blackfin FXO
Asterisk
CPU Port

DSP Device
FXS Port
software Driver
IP-PBX Hardware 101
Many redundant parts removed
Lower cost
Smaller size
Lower power
Enhanced reliability
Dont need hardware DSP Blackfin
CPU is a DSP
Challenges
Complex development environment
Cross compiler & tool-chain
Customized kernel and apps
Learning Curve
Low memory ~64MB
uClinux (offset by partial MMU)
Care and feeding of the cache
Motivation 1
Various motivations across the people and
companies involved in the project.
Obvious business potential in a $200 IP-
PBX with multiple ports.
Enabler for service models.
My motivation is Social & Geeky rather
than Business.
Motivation 2
I like building stuff
Would like to use my hardware/DSP skills
to improve the world a little
Open software like Linux and Asterisk has
been a great thing for the World.
Craig Newmark (Craigslist) : Nerd values
Get yourself comfortable, then do
something fun to change the world a little
Open Hardware 1

reference designs that anyone is free to copy,


re-use, modify

CAD files, prototypes

differences from open software

atoms cost more than bits

you need a factory


Open Hardware 2

many advantages over closed development

similar to open software

many eyes

low bug count

dramatic reduction in R&D cost and time


Open Hardware 3

normal hardware costs include 70% overhead

exciting new business models, e.g. OLPC

dramatic price reductions

local manufacture

customisation, localisation, e.g. solar, wireless


How to Hack Telephony
Hardware in Linux

Schematic Entry (gschem)


PCB Design (PCB)
Verilog HDL (Icarus)
Design Process Flow
Design
Write Verilog
Schematics
Code (Icarus)
(gschem)

Assemble
Design PCBs Debug and
Prototype
(PCB) Test Hardware
Hardware

Port Asterisk
Integrate and
to Blackfin
Test system
(gcc)
gschem Schematic Entry
Analog Hardware Example
Hardware Hacking is Getting
Easier!!
Build sophisticated surface mount circuits.
Order strange parts on-line e.g. Digikey
Prototype PCB costs dropping
Stereo Microscope + soldering tools < $500
Open hardware designs
Free CAD tools
Help from on-line communities
Credits
In no particular order:
Atcom (China) for putting the IP04 into mass
production
Astfin team for developing build system, PRI
and BRI-ISDN hardware
Analog Devices for Blackfin and great
uClinux support
Linux and Asterisk communities
Many others who contributed (e.g. drivers,
software fixes)
Open Hardware IP-PBX Products
IP04 4-port Analog IP-PBX (production)
IP08 8-port Analog IP-PBX (prototype)
E1/T1 PRI-Appliance (prototype)
BRI-Appliance (prototype)
Case Study - IP04

Switches analog and VoIP calls

fanless, low power (5W), rugged, compact

open hardware and software

easy to customise, e.g. simple UI

potential for very low cost ($100), compared to


$2,000 retail for similar products

stable but not feature complete (CID, GUI)


Case Study IP04
PRI Appliance (Astfin Team)
BRI Appliance (Astfin team)
Demo
Boot from a Battery
Make a phone call
telnet in
GUI
NAND flash
Questions?

For more information


rowetel.com/ucasterisk
Notes

demo? Maybe ask Mike, Idea: battery


powered, or photo of Alberto's miniPC to
compare. New GUI? Hook up battery in front
of them and boot? Telnet in?
intro some sticky new ideas and geeky
experiences

You might also like