Title: How to Build an Embedded Asterisk IPPBX rowetel'comucasterisk
1How to Build an Embedded Asterisk
IP-PBXrowetel.com/ucasterisk
2Contents
- Free Telephony Project
- Why Embedded Asterisk
- Motivation
- Open Hardware
- Open Hardware Hacking
- Credits
- Products
- Demo
3Free 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
4Free 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
5Free 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!
6Why 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
7Why 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!
8IP-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
9Introduction
- 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!
10Blackfin 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
11IP-PBX Hardware 101
Host PC
PCI Card
PCI Bridge
FXO Port
Asterisk
Device Driver
x86 CPU
DSP hardware
Ethernet Card
FXS Port
12IP-PBX Hardware 101
Embedded PBX
FXO Port
Blackfin CPU
Asterisk
DSP software
Device Driver
FXS Port
13IP-PBX Hardware 101
- Many redundant parts removed
- Lower cost
- Smaller size
- Lower power
- Enhanced reliability
- Dont need hardware DSP Blackfin CPU is a DSP
14Challenges
- 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
15Motivation 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.
16Motivation 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
17Open 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
18Open Hardware 2
- many advantages over closed development
- similar to open software
- many eyes
- low bug count
- dramatic reduction in RD cost and time
19Open Hardware 3
- CVS/SVN for version control of designs
- re-using hardware building blocks
- helping each other get strange parts
- blog instead of log book share experience
- chat to help debug hardware
20Open Hardware 4
- normal hardware costs include 70 overhead
- exciting new business models, e.g. OLPC
- dramatic price reductions
- local manufacture
- customisation, localisation, e.g. solar, wireless
21How to Hack Telephony Hardware in Linux
- Schematic Entry (gschem)
- PCB Design (PCB)
- Verilog HDL (Icarus)
22Design Process Flow
Design Schematics (gschem)
Write Verilog Code (Icarus)
Design PCBs (PCB)
Assemble Prototype Hardware
Debug and Test Hardware
Port Asterisk to Blackfin (gcc)
Integrate and Test system
23gschem Schematic Entry
24Analog Hardware Example
25Hardware 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 lt 500
- Open hardware designs
- Free CAD tools
- Help from on-line communities
26(No Transcript)
27Open 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)
28Case 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)
29Case Study IP04
30PRI Appliance (Astfin Team)
31BRI Appliance (Astfin team)
32'Free Phone Call
- between Adelaide and Beijing using two IP04's
- open hardware design
- designed with open CAD software
- running uClinux and Asterisk
- using VOIP (0 call cost)
- Freest phone call ever?
33Demo
- Boots from a Battery
- phone call
- telnet, asterisk CLI
- GUI
34Credits
- 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)
35Questions?
- For more information
- rowetel.com/ucasterisk