29
How to Build an Embedded Asterisk IP- PBX

How to Build an Embedded Asterisk IP-PBX. Topics IP-PBX and Asterisk Why Embedded? IP PBX Hardware 101 Free Telephony Project and Open Hardware Status

Embed Size (px)

Citation preview

Page 1: How to Build an Embedded Asterisk IP-PBX. Topics IP-PBX and Asterisk Why Embedded? IP PBX Hardware 101 Free Telephony Project and Open Hardware Status

How to Build an Embedded Asterisk IP-PBX

Page 2: How to Build an Embedded Asterisk IP-PBX. Topics IP-PBX and Asterisk Why Embedded? IP PBX Hardware 101 Free Telephony Project and Open Hardware Status

Topics

• IP-PBX and Asterisk

• Why Embedded?

• IP PBX Hardware 101

• Free Telephony Project and Open Hardware

• Status

• The Future

• Opportunities

Page 3: How to Build an Embedded Asterisk IP-PBX. Topics IP-PBX and Asterisk Why Embedded? IP PBX Hardware 101 Free Telephony Project and Open Hardware Status

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 sponser Digium but many

contributors• Hence alternatives such as FreeSwitch,

CallWeaver, etc, etc

Page 4: How to Build an Embedded Asterisk IP-PBX. Topics IP-PBX and Asterisk Why Embedded? IP PBX Hardware 101 Free Telephony Project and Open Hardware Status

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!

Page 5: How to Build an Embedded Asterisk IP-PBX. Topics IP-PBX and Asterisk Why Embedded? IP PBX Hardware 101 Free Telephony Project and Open Hardware Status

Why Embedded

• Small size (DSL router)

• Low power < 5W (battery, solar)!

• No moving parts (fans or disks)

• Quiet

• Reliability (parts count, connectors)

• Low cost (a few hundred $ street)

• Just plain cool!

Page 6: How to Build an Embedded Asterisk IP-PBX. Topics IP-PBX and Asterisk Why Embedded? IP PBX Hardware 101 Free Telephony Project and Open Hardware Status

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

Page 7: How to Build an Embedded Asterisk IP-PBX. Topics IP-PBX and Asterisk Why Embedded? IP PBX Hardware 101 Free Telephony Project and Open Hardware Status

IP-PBX Hardware 101

PCI Bridge

FXO Port

x86 CPUDSP

hardware

Asterisk

Ethernet Card

FXS Port

Host PC PCI Card

Device Driver

Page 8: How to Build an Embedded Asterisk IP-PBX. Topics IP-PBX and Asterisk Why Embedded? IP PBX Hardware 101 Free Telephony Project and Open Hardware Status

IP-PBX Hardware 101

FXO Port

Blackfin CPU

DSP software

Asterisk

Device Driver

FXS Port

Embedded PBX

Page 9: How to Build an Embedded Asterisk IP-PBX. Topics IP-PBX and Asterisk Why Embedded? IP PBX Hardware 101 Free Telephony Project and Open Hardware Status

IP-PBX Hardware 101

• Many redundant parts removedLower costSmaller sizeLower powerEnhanced reliability

• Don’t need “hardware” DSP – Blackfin CPU is a DSP

Page 10: How to Build an Embedded Asterisk IP-PBX. Topics IP-PBX and Asterisk Why Embedded? IP PBX Hardware 101 Free Telephony Project and Open Hardware Status

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

Page 11: How to Build an Embedded Asterisk IP-PBX. Topics IP-PBX and Asterisk Why Embedded? IP PBX Hardware 101 Free Telephony Project and Open Hardware Status

Who is working on Blackfin Asterisk?

• Several individuals and companies working on Blackfin Telephony products.

• Expect to see many embedded Telephony products in the near future

• This presentation focuses on the activities of the Free Telephony Project

Page 12: How to Build an Embedded Asterisk IP-PBX. Topics IP-PBX and Asterisk Why Embedded? IP PBX Hardware 101 Free Telephony Project and Open Hardware Status

Free Telephony Project Goals

• Build a completely open embedded telephony platform.

• Hardware designs are open.

• Full design and manufacture information available for download. Schematics, PCB layouts, HDL code, unit tests

Page 13: How to Build an Embedded Asterisk IP-PBX. Topics IP-PBX and Asterisk Why Embedded? IP PBX Hardware 101 Free Telephony Project and Open Hardware Status

Motivation

• 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.

Page 14: How to Build an Embedded Asterisk IP-PBX. Topics IP-PBX and Asterisk Why Embedded? IP PBX Hardware 101 Free Telephony Project and Open Hardware Status

Motivation

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

Page 15: How to Build an Embedded Asterisk IP-PBX. Topics IP-PBX and Asterisk Why Embedded? IP PBX Hardware 101 Free Telephony Project and Open Hardware Status

Open Hardware

• The designs are free as in speech

• A community exists that are sharing designs and helping each other.

• Build better hardware faster using open development models.

• Opportunities for small business.

• It’s working!

Page 16: How to Build an Embedded Asterisk IP-PBX. Topics IP-PBX and Asterisk Why Embedded? IP PBX Hardware 101 Free Telephony Project and Open Hardware Status

Hardware Projects (so far)

• BlackfinOne DSP Motherboard (mature)

• 4-8 port FXO/FXS Analog (mature)

• E1/T1(prototype hardware and driver)

• BRI-ISDN (stalled)

• IP04 $100 IP-PBX (mature)

Page 17: How to Build an Embedded Asterisk IP-PBX. Topics IP-PBX and Asterisk Why Embedded? IP PBX Hardware 101 Free Telephony Project and Open Hardware Status

How to Hack Telephony Hardware in Linux

• Schematic Entry (gschem)

• PCB Design (PCB)

• Verilog HDL (Icarus)

Page 18: How to Build an Embedded Asterisk IP-PBX. Topics IP-PBX and Asterisk Why Embedded? IP PBX Hardware 101 Free Telephony Project and Open Hardware Status

Port Asterisk to Blackfin

(gcc)

Design Schematics (gschem)

Design PCBs (PCB)

Assemble Prototype Hardware

Debug and Test Hardware

Write Verilog Code (Icarus)

Integrate and Test system

Design Process Flow

Page 19: How to Build an Embedded Asterisk IP-PBX. Topics IP-PBX and Asterisk Why Embedded? IP PBX Hardware 101 Free Telephony Project and Open Hardware Status

gschem Schematic Entry

Page 20: How to Build an Embedded Asterisk IP-PBX. Topics IP-PBX and Asterisk Why Embedded? IP PBX Hardware 101 Free Telephony Project and Open Hardware Status

Analog Hardware Example

Page 21: How to Build an Embedded Asterisk IP-PBX. Topics IP-PBX and Asterisk Why Embedded? IP PBX Hardware 101 Free Telephony Project and Open Hardware Status

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

Page 22: How to Build an Embedded Asterisk IP-PBX. Topics IP-PBX and Asterisk Why Embedded? IP PBX Hardware 101 Free Telephony Project and Open Hardware Status

Status

Port Asterisk to Blackfin

Develop DSP Motherboard

Develop Analog Hardware

Production Engineering

Volume Manufacture

IP04Prototypes

Port driver to Blackfin

Sep 2005 Sep 2006 Jan 2007

May 2007

Q3 2007

Page 23: How to Build an Embedded Asterisk IP-PBX. Topics IP-PBX and Asterisk Why Embedded? IP PBX Hardware 101 Free Telephony Project and Open Hardware Status

Performance

• 500 MIPs Available (1 GMACs)G729A (8 MIPs)Speex (15-30 MIPs)

• Simultaneous SIP Calls (approx 50)

• Echo CanDepends on tail12-24 ports depending on tail

Page 24: How to Build an Embedded Asterisk IP-PBX. Topics IP-PBX and Asterisk Why Embedded? IP PBX Hardware 101 Free Telephony Project and Open Hardware Status

Opportunities

• Business

• Individuals

• End Users

Page 25: How to Build an Embedded Asterisk IP-PBX. Topics IP-PBX and Asterisk Why Embedded? IP PBX Hardware 101 Free Telephony Project and Open Hardware Status

Opportunities for Business

• Massive Differentiation

• Cost/Margin advantages

• New products we haven’t even thought of:Asterisk ATA or faxAsterisk in an very smart IP-phoneT1 IP-PBX in an ATA form factor for $200?

Page 26: How to Build an Embedded Asterisk IP-PBX. Topics IP-PBX and Asterisk Why Embedded? IP PBX Hardware 101 Free Telephony Project and Open Hardware Status

Opportunities for Individuals

• It’s open. All of it. Hardware and software. Even the CAD tools!

• Exciting project in early stages

• Chance to really contribute

• It’s very different from x86/PCI

• Helped needed: Hardware, software, Asterisk config

Page 27: How to Build an Embedded Asterisk IP-PBX. Topics IP-PBX and Asterisk Why Embedded? IP PBX Hardware 101 Free Telephony Project and Open Hardware Status

Opportunities for End Users

• Lower end user cost – a $300 (street) 4-port IP-PBX in 2008?

• IP-PBX functionality in the home rather than current ATA.

• Bring telephony to developing countries.• Small, fan-less lets you reach markets like

SOHO that don’t want a PC for their phone system.

Page 28: How to Build an Embedded Asterisk IP-PBX. Topics IP-PBX and Asterisk Why Embedded? IP PBX Hardware 101 Free Telephony Project and Open Hardware Status

Getting Started

• Buy a Blackfin STAMP Card ($226)

• Buy a 2 FXO 2 FXS port Analog Starter Kit ($299)

• Start Hacking

Page 29: How to Build an Embedded Asterisk IP-PBX. Topics IP-PBX and Asterisk Why Embedded? IP PBX Hardware 101 Free Telephony Project and Open Hardware Status

Questions?

For more information

http://rowetel.com/ucasterisk

geda.seul.org

blackfin.uclinux.org