3. What the heck is VoIP?
• Voice over IP (VoIP) is a family of technologies,
methodologies, communication protocols, and
transmission techniques for the delivery of
voice communications and multimedia sessions
over Internet Protocol (IP) networks, such as
the Internet. Other terms frequently
encountered and often used synonymously
with VoIP are IP telephony, Internet telephony,
voice over broadband (VoBB), broadband
telephony, and broadband phone.
4. What the heck is VoIP?
• Internet telephony refers to communications services—Voice, fax, SMS,
and/or voice-messaging applications—that are transported via the
Internet, rather than the public switched telephone network (PSTN). The
steps involved in originating a VoIP telephone call are signaling and media
channel setup, digitization of the analog voice signal, encoding,
packetization, and transmission as Internet Protocol (IP) packets over a
packet-switched network. On the receiving side, similar steps (usually in
the reverse order) such as reception of the IP packets, decoding of the
packets and digital-to-analog conversion reproduce the original voice
stream.[1] Even though IP Telephony and VoIP are terms that are used
interchangeably, they are actually different; IP telephony has to do with
digital telephony systems that use IP protocols for voice communication
while VoIP is actually a subset of IP Telephony.VoIP is a technology used
by IP telephony as a means of transporting phone calls.[2]
5. What it all
boils down to
• Software (and hardware) that lets you use
your computer as a telephone switchboard
(PBX)... and so much more!
6. What can I do with it?
• Multiple Extensions • Conferencing
• Multiple “Channels” • Videoconferencing
• “Follow Me” • Home Automation/
Control
• Google Voice-type stuff
• Podcasting!
• Voicemail
• Gated Entry/Checkpoint
• Call Center
• ...and more!
7. Why would you want
to do this?
• More control
• More professional
• Save money
• Stick it to the man
• Because it’s cool/fun/geeky
12. Terminology
• SIP - Session Initiation Protocol
• IETF protocol to handle VoiP and other text and multimedia services
• aka RFC 3261
• SIP Provider
• Company that provides inbound and/or outbound calling via SIP
• PBX - Private Branch Exchange
• Box that sits at your business
• One end connects to a line coming in from your phone company
• All of your internal phones connect to it
• IVR - Interactive Voice Response
• “Press 1 for sales, press 2 for support, ...”
• AKA Auto Attendant, Digital Receptionist
13. Terminology
• PSTN - Public Switched Telephone Network
• aka POTS - Plain Old Telephone Service
• DID - Direct Inward Dialing
• Service that gives you a phone number that you can route to your PBX
• DISA - Direct Inward System Access
• Allows an external caller to use internal-only features/dial out as if you were
connected to the internal system
• Kind of like a “VPN for telephones”
• Trunking
• A transmission channel between SIP provider and you
• One or more - Sharing & managing multiple SIP providers
• Dialplan
• The “rules” for how to handle calls (both inbound and outbound)
14. Terminology
• ATA
• Analog Telephone Adapter
• Lets you connect an old school phone to your VoiP service
• IP Phone
• Phone that has Internet and SIP connectivity “baked in”
• Ethernet (or WiFi) instead of phone wire
• Softphone
• Computer or smartphone/tablet software that functions
as an IP phone
15. Two main Linux VoiP
software solutions
• Asterisk
• The “gold standard”
• Older code (but still supported)
• Still the recommended choice (IMHO)
• FreeSwitch
• The “new kid on the block”
• Started by former Asterisk devs
• Completely reimagined from scratch
• Still relatively immature
16. Which one to use?
• My vote: Asterisk
• Tried and true code base
• Well supported
• Lots of documentation
• Large user base/community
18. Where do I get it?
• It’s in most distros’ package managers
• But might not be the latest and greatest (or
even complete)
• Many distros don’t include the web GUI’s
• Or you could download and install a
“distribution”
• Especially appropriate if you’re building a
machine specifically for this purpose
19. Asterisk “Distributions”
• Asterisk + Web GUI + extra “stuff” in a “one-
click” install CD (like Mythbuntu, Knoppix, etc.)
• Some of the more popular ones
• AsteriskNOW
• Trixbox
• FreePBX
• I’m sure there are plenty of others
20. My vote: FreePBX
• Current version is using Asterisk 1.8 LTS
• Uses a lean and mean (and secure) CentOS
as its base OS
• Really good web GUI
• “Hooks” for customizing via editing
config files
21. Here There Be Dragons
• GUIs will get you 99% of the way there
• For 99% of use cases that’s all you’ll need
• But if you want ultimate flexibility/tweakability, you’ll
need to hack config files
• Not harder than your average scripting language
(and definitely easier than hardcore programming,
C/C++, etc.)
• Lots of documentation and places to get help (as
well as pre-built “recipes”)
22. What You Need
• PC capable of running Linux
• Doesn’t have to be particularly powerful (great use for older
PCs)
• Virtual Machines may (or may not) work
• Depends on your host computer
• Fine for testing and light production work
• Your Asterisk or Linux distro of choice
• One or more phones
• Technically you can even get by with 0 phones, but that’s not
very fun...
25. Softphones for
computers
• Windows
• MicroSIP:
http://microsip.org.ua/downloads/
• Mac:
• Telephone (in Mac App Store)
• Linux:
• Twinkle (look in your distro’s repository)
26. Softphones for
smartphones/tablets
• iOS, Android, BlackBerry
• LinPhone (In iOS and Android app stores)
• NOT in BlackBerry App World. You’ll have to
download it direct from their website:
http://www.linphone.org/eng/download/
packages/blackberry.html)
• Windows Phone 7? HP webOS? Symbian?
• Sorry, you’re out of luck...
27. All of these are free*
by the way
*as in beer AND as in speech too!
28. But we all like to play
with teh shiny*, don’t
we?
*by this we mean hardware.
Sadly, NOT free...
31. OBi 100
• Cheap
• Requires an analog telephone (it’s an ATA)
• Best bet if you...
• ...want to experiment with “real” hardware
• ...are looking for a low-cost solution
• ...already have a bunch of fairly nice (analog/
POTS) phones that you want to recycle
32.
33. Handsets by
Polycom, Cisco, etc.
• The fancy IP Phones that the “big boys” use
• Some are fairly inexpensive, but the price
goes up fast
• Lots of fancy features (on the higher end
units)
• Recommended for new business
installations
34.
35. Panasonic KX-TGP551T04
(plus, optionally, one or more
KX-TPA50B04’s)
• A fully featured IP phone at an excellent price
• You get a corded phone AND a cordless phone
too - what a deal!
• Supports multiple lines (but all lines ring all phones)
• Works great with Asterisk/FreePBX, despite what
the literature says
• They haven’t disabled this (yet...)
• You can disable automatic firmware updates
36.
37. Telephony interface
boards
• Connect to traditional types of trunk
lines/systems (T1/E1, etc.)
• Good for legacy installs
42. Advantages/
Disadvantages
• Advantages: • Disadvantages:
• Tried and true • Not as cheap as other
technology methods
• Relatively inexpensive • Can be flaky
• Fairly easy to obtain • Multiple (non-
interoperable)
standards
44. Advantages/
Disadvantages
• Advantages: • Disadvantages:
• Works anywhere • Hard to find
where there’s WiFi -
portable • Price disparity + not
sure what you’re
• Compact; no mess of getting
extra cables, boxes,
etc. to deal with • Requires WiFi
46. Advantages/
Disadvantages
• Advantages: • Disadvantages:
• In most cases, uses • You’re at the mercy of
already-existing cordless phone
equipment technology
• Inexpensive • Range may not be as
great
• MacGyver would
approve. • Some Ethernet is still
involved
48. Install
• Just pop the CD in and go
• Completely automated install
• Make sure the box is hooked up to the
network
• Needs Internet connectivity (net install)
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62. Install
• Give it a static IP
• Forward ports 5060, 5070, 5080
• Or use UPnP and/or NAT-PMP
• Set up QoS
• Once it’s installed browse to
http://IP_ADDRESS/ in your web browser
67. For More Info
• http://DonaldBurr.com/
• Slides, notes, links to all websites/
products mentioned, notes on various
configuration tweaks I had to make, etc.
68. For More Info
• Asterisk
http://www.asterisk.org/
Main Asterisk site, documentation, forums, etc.
• VoIP-Info
http://www.voip-info.org/
Good general VoIP information site. Also includes Asterisk/
FreePBX configuration instructions.
• AsteriskGuru
http://www.asteriskguru.com/
Asterisk documentation, user forums
• Google is your friend
69. VoIP Providers
• IPKall
http://ipkall.com/
Free Washington State area dial-in only (DID) numbers,
ideal for testing
• CallCentric
http://callcentric.com/
Reasonably priced dial-in (DID) and dial-out plans, for
both individuals and businesses. Both local (all across the
USA) and toll-free (1-800/877/866) numbers are available.
• Disclaimer: I am not affiliated with any of these outfits,
nor do I benefit in any way from referring you to them.