O'Reilly Emerging Telephony

oreilly.comSafari Books Online.Conferences.
advertisement
MySQL Conference and Expo April 14-17, 2008, Santa Clara, CA
AddThis Social Bookmark Button

Listen Print Discuss Subscribe to Telephony Subscribe to Newsletters

Building Your Own Teleconference System with Asterisk and Gizmo

by Brian McConnell
05/02/2006

Editor's Note: In the interest of disseminating this information as widely as possible, the author grants all reprint requests without the need to obtain any further permission as long as the URL of this original article is included. This article is a companion piece to For SARS Press 1, for Bird Flu Press 2... and How to Implement Telecommuting in a Hurry.

Asterisk is a free software package that turns a standard computer into a powerful multi-user telephone and conferencing system. This is a companion piece to For SARS Press 1, for Bird Flu Press 2... about how we can use information technology to protect our communities in the event of an influenza pandemic. An important component of our response will be to create electronic surrogates for public gatherings such as classrooms, lecture halls, and social gatherings.

With these electronic venues in place, even in the event of a community-wide curfew or quarantine, people will still be able to attend class, chat with neighbors, and socialize. This will allow society to continue to function and reduce the potential for panic if people are isolated for extended periods of time.

Schools, universities, businesses, and any organization that organizes social functions should begin preparations now so they are able to respond quickly if public health authorities close public venues or restrict people's movement, both are likely scenarios in a pandemic.

Teleconferencing is a good surrogate for public gatherings. With it, you can host classes, lectures, meetings, and casual chats. Most people have used dial-in "meet me" teleconferencing services where users call a toll-free number, enter an access code, and then are dropped into a party line. Here, I'll describe how to build your own conference bridge using inexpensive off-the-shelf hardware paired with free Internet telephony software.

Although there are many subscription teleconferencing services, such as WebEx and InterCall, I do not recommend relying on them as part of a disaster preparedness plan. They are expensive ($12.00 per hour or more per connected caller). They also do not have adequate surge capacity to handle a sudden spike in demand, which would happen if an entire school district was forced to close for a month (much less if school districts nationwide were forced to shut down). In the event of a real crisis, millions of people may rely on these systems like the ones I describe far more than commercial providers can accommodate in a short period of time.

To prepare, you need to build a conferencing platform that is dedicated to your users and that can operate independently of the public telephone network. With Asterisk and off-the-shelf computer hardware, you can do this quite cheaply. Even for large organizations, such as public universities, the cost of implementing this will be modest, especially compared to the cost of not having this capability ready to go and being shut down entirely.

To build this system, you will need the assistance of someone who is knowledgeable about Linux-based systems and networks. There are many people in your community with this background, and chances are that someone within your organization, or even your students, will be able to follow these instructions. My company, Open Communication Systems, is publishing detailed specifications and downloadable sample configurations so you can quickly build these systems without reinventing them. First, let's go over an equipment and vendor checklist.

Equipment and Vendor Checklist

To build your conferencing platform, you will need the following equipment and services.

  • One or multiple high-performance Linux servers. Asterisk requires a fast CPU and lots of memory to run well. Each box should have a fast CPU (> 3Ghz) with 1GB of RAM and a 100Mb Ethernet interface. Disk space is not as important. Each box will be able to handle about 50 to 100 concurrent callers depending on how it is configured. Figure about $2,000 for each server, or about $200 per month if you lease servers from a collocation facility.
  • Asterisk PBX software. Asterisk is free, but you can buy a more turnkey package for $795 (Asterisk Business Edition). Also check out Asterisk@Home, this is a configuration tool that makes it easy to install and configure Asterisk systems and is a great way to learn the system. It is designed primarily for home users, but it's a good way to get started.
  • High-speed Internet connectivity, at least 10Mbps for each 50 concurrent callers. The best way to do this will be to install equipment or lease servers at a collocation facility, or on your own high-speed LAN if you are a university. For most organizations, the cheapest way to do this will be to use a collocation facility.
  • Free voice over IP (VoIP) client software to distribute to your users. This enables users to call into teleconferences from their computers over broadband Internet connections without using a regular phone line.
  • VoIP telephone service (optional). If you want to allow people to call in from regular telephones, you will need to buy VoIP telephone service from a vendor such as Voxbone or XO Communications. Public telephone network connectivity is expensive and takes four to six weeks to provision. Don't count on it in a disaster situation because providers may be too overwhelmed with existing customers to accept new orders.

Host In-House or Outsource?

The first question you need to ask is whether you want to host the conference bridges in-house or to outsource them to a collocation facility.

Unless you have a fairly heavy-duty network infrastructure, such as a university wide-area network, and have an IT department to support these servers, you will want to install the servers at a collocation facility or rent servers from the same.

If you plan to outsource, there are several top-tier hosting companies, including ServerBeach and Rackspace. They'll rent servers for as little as $100 per month, Internet connectivity included (Server Beach charges as little as $80 per month extra for an unmetered 10Mb connection per server). A note about connectivity charges, be sure to ask your provider for an unmetered connection to avoid being hit with overage charges. The advantage of using these services is that you don't need to touch the hardware. You can just login in as an administrator, install the Asterisk software, edit a few configuration files, and be up and running fairly quickly.

If you are building a really big system, you should think about placing servers close to the end users so that network traffic mostly stays within your campus network or the metropolitan area network. For example, if you're building a system for a 5,000 student university, you should design it so that most of the calls travel within your campus network or the local cable providers network. This will reduce the possibility that a surge in demand will overwhelm an upstream link somewhere. The Internet and its underlying routing system is quite resilient, but you do need to be mindful of where people will be calling from and, if possible, place the conferencing servers on the same local or metropolitan network. (If you are outsourcing the servers, this isn't an option, so you'll just have to hope that local ISPs have enough upstream bandwidth -- they probably do in most cases).

I'll assume that if you're running a university's wide area network that you know what you're doing and only need some tips on configuring Asterisk and the VoIP client software. If you're hosting your conference bridges at an offsite collocation facility, be sure to pick a vendor that has extensive peering agreements and a lot of redundant facilities. If you are building a large cluster of servers, you should spread them across multiple providers so that a failure at one does not take your entire service offline.

Sizing Your System

These are approximate numbers, but will provide a rough estimate of how much hardware you will need for a given number of simultaneous callers. Schools and universities should plan system capacity to accommodate the number of students in classrooms at one time and should probably increase this number somewhat. The most conservative approach will be to build for a 1-to-1 ratio with the number of people in your organization, although you can get by with less if you schedule classes to combine a mix of live calls and offline work such as textbook drills.

Depending on how you configure it, Asterisk can handle about 50 to 100 simultaneous callers per server. Conferencing is a CPU-intensive application, so it is important to follow some configuration guidelines. There are a few tricks you can use to boost performance significantly.

So, if you have 500 students in your high school, you should plan on buying 5 to 10 servers to handle 200 to 500 callers in virtual classes at any time. If you buy the servers outright, this will cost $10,000 to $20,000, although you can also cobble together used hardware to cut costs. If you lease the servers, this will cost about $1,000 to $2,000 per month depending on the collocation provider for a fully built out system. You can see where leasing has obvious benefits; however, many other organizations may be trying to do the same thing at the same time, thus causing supply chain bottlenecks at the collocation facility. If possible, you should plan ahead and buy or start leasing at least some systems now. Internet connectivity will be included with the server rental. At the very least, you can do a guerrilla project to build a one- or two-server prototype using scavenged hardware.

This may sound expensive, but it is a fraction of what conventional conference bridges cost ($100 to $1,000 per caller plus telephone and operating expenses), or the cost of being shut down completely. If funding is an issue, you could levy a special fee to defray the cost of building the system. Using the 500-student high school as an example, you would need to charge about $4 per student/month to cover the direct operating costs (rental) or $40 per student for a one-time purchase.

Another thing you should do is contact local ISPs to see if they are willing to support your project. They may have spare servers that they can set aside for use in an emergency. Don't expect them to give you service for free, but since this is an important public service they may be willing to work with you. Some may be willing to help you build this project in exchange for some sort of acknowledgement or advertisement, others may be willing to stage servers on a contingency basis. Remember that once you build this system you can use it during normal times as well, so you may find it a worthwhile investment, regardless of whether a pandemic ever materializes.

Pages: 1, 2, 3, 4

Next Pagearrow




Search Emerging Telephony

Search

Tagged Articles

Post to del.icio.us

This article has been tagged:

asterisk

Articles that share the tag asterisk:

Asterisk: A Bare-Bones VoIP Example (115 tags)

VoIP and POTS Integration with Asterisk (54 tags)

The PBX Is Dead; Long Live VoIP (28 tags)

Building Your Own Teleconference System with Asterisk and Gizmo (28 tags)

What Is Asterisk (20 tags)

View All

voip

Articles that share the tag voip:

Asterisk: A Bare-Bones VoIP Example (110 tags)

VoIP and POTS Integration with Asterisk (47 tags)

The PBX Is Dead; Long Live VoIP (42 tags)

Building Your Own Teleconference System with Asterisk and Gizmo (28 tags)

Top Ten Questions People Ask About Switching to Internet Telephones (23 tags)

View All

collaboration

Articles that share the tag collaboration:

What Is Web 2.0 (145 tags)

What Is a Wiki (and How to Use One for Your Projects) (33 tags)

Building Your Own Teleconference System with Asterisk and Gizmo (9 tags)

Design by Wiki (6 tags)

The Architecture of Participation (4 tags)

View All

tutorial

Articles that share the tag tutorial:

Rolling with Ruby on Rails (1417 tags)

A Simpler Ajax Path (135 tags)

Ajax on Rails (88 tags)

Rolling with Ruby on Rails, Part 2 (66 tags)

Very Dynamic Web Interfaces (66 tags)

View All

teleconference

Articles that share the tag teleconference:

Building Your Own Teleconference System with Asterisk and Gizmo (8 tags)

View All

Sponsored Resources

  • Inside Lightroom

Related to this Article

Take Control of Your iPhone Take Control of Your iPhone
April 2009
$15.00 USD

Take Control of Your iPhone Take Control of Your iPhone
by Ted Landau
February 2009
$10.00 USD

Advertisement
O'Reilly Media

©2009, O'Reilly Media, Inc.
(707) 827-7000 / (800) 998-9938
All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners.
About O'Reilly
Academic Solutions
Authors
Contacts
Customer Service
Jobs
Newsletters
O'Reilly Labs
Press Room
Privacy Policy
RSS Feeds
Terms of Service
User Groups
Writing for O'Reilly
Content Archive
Business Technology
Computer Technology
Google
Microsoft
Mobile
Network
Operating System
Digital Photography
Programming
Software
Web
Web Design
More O'Reilly Sites
O'Reilly Radar
Ignite
Tools of Change for Publishing
Digital Media
Inside iPhone
O'Reilly FYI
makezine.com
craftzine.com
hackszine.com
perl.com
xml.com

Partner Sites
InsideRIA
java.net
O'Reilly Insights on Forbes.com