Visit our Asterisk Image Gallery here.

Back in the 1960s there was a rallying cry that defined a
lot about that decade, that cry was “Power To
the People!!!

If the Internet is nothing else, it has been an
exceptionally disruptive force in terms of taking control away from old,
established companies and institutions and pushing the power, authority and
control right down into the laps of the customers. Don’t like your Acme brand
computer? There are hundreds of others. Tired of Windows? Well, how about MacOSX, or Linux? Don’t like the Op-Ed pages in your local
paper? Start a blog.

The last everyday bastion of instutional
control — the telephone itself — has finally come clearly into the
cross-hairs of the Internet innovators.

Techies have been experimenting with placing calls over the
Internet since the early 1990s, pioneers like Jeff Pulver
and discount “minutes” companies like Net2Phone were trail-blazers in developing
technology and using the Internet as a transport mechanism to connect
traditional phones, but it wasn’t until Vonage found the right pricing and distribution formula
a couple of years ago that the market for broadband phones exploded.

VoIP, the Voice over
Internet Protocol, is probably the hottest thing to take hold on
the Internet since, well..since
the Web Browser. First there was Free
World Dial-up
(started by Jeff Pulver), then
there was Vonage, and then Packet8,
and every Cable company … and now even Verizon and the rest of the
not-so-much-babies-anymore Bell’s like SBC/ATT and Verizon are offering
broadband phone services in an attempt to get into this game before all their
customers fly the coop.

Even though VoIP/Broadband phones
may seem like the the hot new thing, an even more
profound technology is about to take broadband phones and telephony to a whole
new level bring voice, data and fax integration to small offices and even home
users.

The Tool

Having a broadband phone line is one thing, but there are
ways to go well beyond a simple VoIP phone — in fact
if you are in business (or even have a home office) there are ways to radically
change how your company works using Asterisk.

What it is…

Asterisk is a software based telephony switch that brings
the power of a telco switching complex into a
commodity PC. It does it in such a way that almost anyone can set one up (and
if it’s beyond your skills, there are a lot of qualified consultants around
too) and among the amazingly long list of features it provides are:

  • Detailed Calling Records
  • Call Forward on Busy
  • Call Forward on No Answer
  • Call Forward Variable
  • Call Monitoring and/or
    Recording
  • Call Parking
  • Call Queuing
  • Call Retrieval
  • Call Routing both in-bound
    and out-bound (for picking a lowest cost service, for example)
  • Call Transfer
  • Call Waiting
  • Caller ID
  • Caller ID Blocking
  • Caller ID on Call Waiting
  • Calling Cards
  • Conference Bridging
  • Dial by Name
  • Distinctive Ring
  • E911
  • Fax Transmit and Receive
    integration (via a 3rd Party OSS Package)
  • Interactive Voice Response
    (IVR)
  • Local and Remote Call
    Agents
  • Music On Hold and/or
    Transfers
  • Predictive Dialer
  • Open Settlement Protocol
    (OSP) for integrating with other phone switches
  • Overhead Paging
  • Remote Call Pickup
  • Remote Office Support
  • Roaming Extensions
  • Route by Caller ID
  • SMS Messaging
  • Streaming Media Access
  • Text-to-Speech (via the
    Festival text-to-speech system)
  • Three-way Calling
  • Trunking
    (the ability to bundle phone lines together)
  • VoIP
    Gateways
  • Voicemail

…and this is the short list.

Asterisk has the ability to build a complete switching
system out of a PC (a typical hardware configuration is listed below) that can
integrate traditional phone lines (also knows as “POTS lines” short
for “Plain Old Telephone Service”), VoIP
services, Broadband phone, faxes and much, much more.

Putting Asterisk to the Test

Before we get too far along, let’s define a few terms:

VoIP -The Voice of Internet
Protocol which allows voice streams to by sent over the Internet

SIP – The Session Initiation Protocol; a protocol for
starting services (like a VoIP session) between two
end-points on a network. SIP is the starting point for VoIP
calls but can used to start up almost any kind of computer-to-computer
communications

Trunks – outside connections to the Telephone
Network, either by a regular (POTS) phone line, a VoIP
adaptor or a more sophisticated connection like a T1 connection that has been
provisioned for voice channels.

Extensions – your phones in your office or home.

FXO – Foreign Exchange Office.
From the telephone switches perspective, a telephone network that is foreign to
the local switch (i.e., the Asterisk system); in this case that’s your
connection to the outside phone network.

FXS – Foreign Exchange Stations.Dial-able phones that are managed by Asterisk.

Routing – The mechanism that determines how an
incoming call is routed to whomever is supposed to receive it..
For example, a call could be sent directly to an extension and if no one answer it could be sent to voice-mail. Or, if no one answers
it could be routed to a queue where the caller wait
until someone is available to answer to call.

Dial Plan – A set of rules that describe how calls
placed from an extension are handled. For example, a dial plan may say that
“any 4 digit number dialed starting with ‘6’ is an internal call, just
send it to the right extension.” The same dialing plan may have a rule
that says “all non 800/888/877 number calls dialed should go through the
cheap broadband connection and not through the expensive POTS lines.”

What You Need

Asterisk can run in surprisingly light (by current
standards) hardware. You’ll need:

  • Minimum of a PIII @ 500 MHZ
    x86 machine with a hard drive (80GB will be fine), 1GB of memory, CD-ROM,
    and a network interface
  • An Asterisk Developers Kit
    from Digium
    which includes a TDM400P 4-port card. The basic kit includes on FXO and
    one FXS daughter cards which can handle one FXS (e.g. your desk phone) and
    one FXO or external trunk (e.g. your POTS line)..
    If you want to be able to, for example use your POTS line for your local
    calls and a broadband phone for your long distance, you will want to add
    one more FXO daughter card to your order.
  • A copy of the Asterisk@HOME
    CD-ROM ISO image that has been burned to a CD-ROM

Installing the software

I found the easiest way to get started is with the Asterisk@Home CD-ROM image. This will delete any existing
system — so I used a machine that I dedicated to this purpose, or a test
machine that has nothing of value on it. Alternatively, you can install
Asterisk and its companion applications by hand, but that is a much, much more
involved process which is covered in great detail on the Asterisk web site.

Configuring the System

Once the system finishes installing and building (about 30 mins) the system is ready to be configured. All of the
default passwords on the system and the basic “quick-start”
installation instructions can be found on the Asterisk@HomeWiki.

The actual system configuration consists of connecting the
phone lines and your extensions into the Asterisk hardware, telling the system
which lines/extensions are which and lastly telling Asterisk how you want to
provision the lines.

Setting up the physical hardware is easy: On the Digium card the FXS modules are green — you plug your
phones (extensions) into these. The red modules are the connections to service
providers (hence the term “foreign exchange office”); plug your POTS
line or broadband phone connection into these. Next, Asterisk has to be told
about the extensions and the outside connections.

Configuring the actual lines is done very easily through a
browser-based software package included in the install called FreePBX. FreePBX allows you to control almost all aspects of the
Asterisk configuration. In order to set up the system all you need to do is
identify your extensions (the FXS connections) and the Trunk links (the FXO
connections) and tell Asterisk how it should route in-bound calls and what
“dialing plan” should be used on any of the external connections.

There are a number of screen-shots in the gallery that show
they main FreePBX interfaces you need to set up in
order to get Asterisk running. With the exception of your extensions and the
connections to the phone network, everything else is set up with reasonable
defaults. Oh, of course you will want to create voice-mailboxes and passwords,
but that too is covered by a web page in FreePBX.

The Right Tool for the Right Job

This is one of those DIY projects that is at once very scary
(building your own phone switch a bit on an little off the wall concept for
most people) and incredibly liberating in that you can take control of your
company’s telecom system and really save yourself potentially hundreds of
thousands of dollars per year.

At one level you’re taking a relatively low-powered PC, and
simply putting about $300 worth of hardware in it and running some Open Source
software, and at another level you’re threatening the profits of your local
telephone monopoly all in one fell swoop.

There is a lot more that comes with the Asterisk@HOME
package; this is only the barest of beginnings. The Asterisk web site has a
large volume of information about how to set up very sophisticated systems that
allow you to mix and match all sorts of different systems from POTS lines and
T1s to SIP based Internet dial-up systems and even how to connect multiple
Asterisk system together to create entire private phone exchanges over the
Internet.

If your company is looking for more ways to control your
expenses, this is clearly the right tool for the right job! Asterisk provides a
level of control over your telecommunications capabilities and costs that used
to cost around $50,000 just for the bare-bones switch. With the features
available in Asterisk, and the networking capabilities available to even the
smallest of businesses, this tool really levels the playing field for small and
medium sized businesses.