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.
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. 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.
What it all boils down
to• Software (and hardware) that lets you use your computer as a telephone switchboard (PBX)... and so much more!
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!
Why would you want to
do this?• More control• More professional• Save money• Stick it to the man• Because it’s cool/fun/geeky
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
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)
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
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
Which one to use?• My
vote: Asterisk • Tried and true code base • Well supported • Lots of documentation • Large user base/community
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 speciﬁcally for this purpose
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
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 conﬁg ﬁles
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 ﬂexibility/tweakability, you’ll need to hack conﬁg ﬁles• Not harder than your average scripting language (and deﬁnitely easier than hardcore programming, C/C++, etc.)• Lots of documentation and places to get help (as well as pre-built “recipes”)
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...
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...
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
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
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 ﬁrmware updates
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 conﬁguration instructions.• AsteriskGuru http://www.asteriskguru.com/ Asterisk documentation, user forums• Google is your friend
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 afﬁliated with any of these outﬁts, nor do I beneﬁt in any way from referring you to them.