David A. Harding
Friday, 13 Apr 2007
About 14 people showed up for the 6 April 2007 Cherry Hill Linux User's Group (CHLUG) meeting. After introductions, I talked about the X Window System. My talk, which I planned for 30 minutes, wasn't complete after 50 minutes and I hurried through the last part so I didn't take too much of the second speaker's time. If you're interested in the topic, please read my speaking notes, my follow-up email to the CHLUG mailing list, and Joe Terranova's blog about (among other things) the meeting.
Ed Lally Presents Asterisk
Ed Lally had the second topic,
Asterisk.
He started by introducing a long list of terms
(VOIP,
PSTN,
POTS,
TDM,
PBX,
IVR,
ACD,
DID,
SIP,
STP,
IAX,
µLaw,
and
aLaw).
With most of these terms defined, Ed compared the
Public Switched Telephone Network (PSTN) with the
Internet
Protocol
(IP): The PSTN is designed to be real-time reliable for transferring
voice; each connection has a dedicated amount of bandwidth and a direct
circuit. The IP network is designed for transferring data reliably over
variable bandwidth connections.
Using the IP network as a phone line, with the real-time reliability users expect, ain't easy. Two features Voice Over IP (VOIP) networks use are a Jitter Buffer to deal with dropped IP packets and intelligent network protocols to compensate for out-of-order packets. VOIP also sets Quality of Service (QoS) flags to tell routers that support QoS flags to minimize latency for VOIP links and not worry about dropped packets (because the Routing Information Protocol (RIP), which VOIP uses, expects dropped packets).
Ed described Asterisk as a ``multimedia platform'' more than just a call router. Asterisk allows you to use commodity hardware to achieve every feature a traditional Private Branch eXchange (PBX) will for, probably, much less money. For example, Ed said Asterisk has more features than a $5,000 to $15,000 proprietary PBX. Another feature of Asterisk is that you use it to transition to VOIP at your own pace: Asterisk supports traditional phone lines as well as it supports VOIP phone lines.
There are a lot of choices for a VOIP provider, but Ed suggests you do your research. He also said, ``Vonage sells lockdown boxes.'' If you buy Vonage VOIP hardware, you may not be able to use all of its features or use those features with another service provider. Another problem with VOIP is fax service: the fax protocols are very sensitive to latent and out-of-order packets.
Continuing his presentation, Ed showed how to configure Asterisk. Every incoming phone call is compared against a table of rules. These rules will do almost anything: play a sound, present a menu, forward the call, send the call to voicemail, send a busy signal, hang-up, and more. Configuring these rules by editing Asterisk's configuration files doesn't look hard for a few phone lines and no complicated features, but a large number of lines or complicated rules would be hard to maintain. Anticipating our needs, Ed introduced us to the FreePBX project. FreePBX provides a graphical web-based interface to the Asterisk configuration.
FreePBX and Trixbox
FreePBX makes some of Asterisk's features more available: voice
mailboxes, follow me (a way for phone calls to be sent to your
current location instead of a phone at a fixed location), conference
calls, paging, call queues, password protected call routes, and more.
Besides Asterisk, all FreePBX requires is a web server, PHP, and MySQL.
An especially nifty feature (that Ed saved for later) is a privacy call
feature: when someone calls you up but blocks their caller ID
information, Asterisk can automatically answer the phone, ask the caller
to say their name, ring your telephone, play the caller's message, and
prompt you to accept or reject the call. Also, you can define external
sources for caller ID data (like a website or your electronic address
book).
Nearing the conclusion of his presentation, Ed talked about Trixbox, a GNU+Linux distribution built around Asterisk and FreePBX that makes getting started easy. He also talked about some of the hardware he used. More information is available in Ed's slides from the talk.