Presentation is loading. Please wait.

Presentation is loading. Please wait.

How to Build an Embedded Asterisk IP-PBX rowetel.com/ucasterisk

Similar presentations


Presentation on theme: "How to Build an Embedded Asterisk IP-PBX rowetel.com/ucasterisk"— Presentation transcript:

1 How to Build an Embedded Asterisk IP-PBX rowetel.com/ucasterisk

2 Contents Free Telephony Project Why Embedded Asterisk Motivation
Open Hardware Open Hardware Hacking Credits Products Demo

3 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

4 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

5 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!

6 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

7 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!

8 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

9 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! Most people today are building Asterisk boxes using x86 processors and line interface hardware on PCI cards. Until now, running Asterisk on an embedded processor has meant switching IP calls only (no line interface hardware such as T1 or analog ports).

10 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

11 IP-PBX Hardware 101 Host PC PCI Card Asterisk Device Driver PCI Bridge
FXO Port x86 CPU Ethernet Card DSP hardware FXS Port

12 IP-PBX Hardware 101 Embedded PBX Asterisk Blackfin CPU FXO Port
DSP software Device Driver FXS Port

13 IP-PBX Hardware 101 Many redundant parts removed
Lower cost Smaller size Lower power Enhanced reliability Don’t need “hardware” DSP – Blackfin CPU is a DSP

14 Challenges Complex development environment Learning Curve
Cross compiler & tool-chain Customized kernel and apps Learning Curve Low memory ~64MB uClinux (offset by partial MMU) Care and feeding of the cache No virtual memory, no paging Cache: External RAM operates at around 100MHz, internally around 500 MHz. Between these two clock domains is a cache and some internal memory that can operate at full speed. This is a limited resource and needs to be managed to get maximum performance out of the chip. Fortunately there is some support from the tool chain – for example you can tell the linker to place your DSP code in fast internal memory, while using external memory for less demanding code and data.

15 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. That’s why I am happy to try and open hardware model. It’s an experiment. A bit like open source software was a few years ago.

16 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”

17 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

18 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

19 Open 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

20 Open 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

21 How to Hack Telephony Hardware in Linux
Schematic Entry (gschem) PCB Design (PCB) Verilog HDL (Icarus) I would like to talk a little about the tools we use to develop telephony hardware. A comprehensive suite of CAD tools is available under the gEDA project. Made a decision to use 100% open tools because (i) its cool and (ii) cost of entry for others is lowered. The are good enough for the job, and in some cases superior to equivalent expensive commercial tools. As they are all open source, the good news is that if you ned anotehr feature, you can add it.

22 Design Process Flow Design Schematics (gschem)
Write Verilog Code (Icarus) Design PCBs (PCB) Assemble Prototype Hardware Debug and Test Hardware Here is a diagram that shows the steps I have taken in developing some telephony hardware for Asterisk. These are pretty typical for hardware development in general, not just embedded work. (Pointer) Verilog is a text-based language that we use to describe some parts of the digital logic. Its an commonly used alternative to schematic entry. Open simulation tools also used for that. (optional – photo of assembly and microscope) Tools: All Open Source! Port Asterisk to Blackfin (gcc) Integrate and Test system

23 gschem Schematic Entry
Part of a screen shot from the gschem program Used to enter and edit the schematic of the hardware Point to various components, breif description Libraries, hierachy

24 Analog Hardware Example
One of the Analog cards that has been developed Sits on top off a off the shelf Blackfin Development card Modular FXS/FXO architecture – each daughter board allows 4 ports, plus can stack in 4 port multiples Could also stack an Analog with say a BRI ISDN card to get a mix of port types LEDs indicate port type – this version has 2 FXS and 2 FXO ports installed Note SD card socket – gives us the extra storage required for all those prompts and for storing voic If you would like to see it running, I have it here

25 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

26

27 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) Various projects underway. The basic concept is a Motherboard that contains the Blackfin chip, SDRAM, Flash, and Ethernet. On top of that you plug in daughter cards containing the the line interface hardware. The daughter cars can be stacked, for example to increase density or to mix analog and digital ports. Some projects that have been started and progressed to some degree. Some project still in the design stages, for others there is working Beta hardware for sale. Teams of people from around the world are working on these projects, for example I have been working with teams from Eastern Europe on Hardware designs – we takes turns working on a board layout and use CVS to coordinate our work.

28 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)

29 Case Study – IP04

30 PRI Appliance (Astfin Team)

31 BRI 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?

33 Demo Boots from a Battery phone call telnet, asterisk CLI GUI

34 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)

35 rowetel.com/ucasterisk
Questions? For more information rowetel.com/ucasterisk List of urls, uclinux


Download ppt "How to Build an Embedded Asterisk IP-PBX rowetel.com/ucasterisk"

Similar presentations


Ads by Google