Enterprise open source VoIP with Asterisk
A lot of people want to know if it is possible to build an enterprise grade open source VoIP solution and if there are any benefits to it. The answer is that it is not only possible, but there are special features that are exclusive Asterisk which is an open source IP telephony platform. Asterisk not only serves as an IP call signaling server (sometimes referred to as an IP PBX), but it also serves as a tradition TDM/analog PBX and seamlessly bridges the gap between the two worlds.
In Figure A, we have an enterprise class hybrid IP/TDM/analog telephony solution. Note that there is no such thing as a "pure" IP solution because there is no way to avoid analog devices and the analog telephony POTS (Plain Old Telephone Service) world. At some point a company has to support an analog Fax machine or an analog telephone port for some thing. The only question is how many analog phones versus how many IP phones do you use and who gets which phones.
In my "Open Source VoIP" illustration, the solution is made up of several key components. They are:
- IP PBX (Asterisk servers)
- Voicemail and Fax servers
- Ethernet to T1 Bridge
- Channel banks
- Ethernet Switch segments (thick tubes labeled LAN)
- Analog phones
- Analog faxes
- CAT-5 Ethernet wiring (black)
- T1 wiring (red)
- Standard analog phone cabling (green)
- Router/Firewall devices
- IP Phones
- Computers with software IP phones
- PDAs with software IP phones
- Telco cloud
PBX is a very generic term that usually indicates some kind of central box that controls all the telephones. The term IP PBX is a very loose term and usually means there is some kind of call signaling server that sets up and negotiates IP to IP phone or IP to analog POTS (Plain Old Telephone Service) calls. The PBX also manages the phone system in general. In our particular illustration, we have two redundant Asterisk servers that act as the IP PBX solution. The server hardware for Asterisk in this scenario could be a generic "white box" 1U server costing $1000 to $2500 or a name brand server from an IBM, Dell, or HP costing $1500 to $5000. That's the beauty of Asterisk software, is that it can run on commodity x86 Intel or AMD hardware and the cost savings are enormous compared to proprietary PBX systems that cost 10 times more.
IP PBX (Asterisk servers)
Voicemail and Fax servers
Voicemail and Fax server functionality can be rolled in to a single Asterisk server. The beauty of this approach is that a commodity server will have massive storage capacity compared to a proprietary voice mail solution. Voice mails can be emailed. There are smaller Internet based telephone companies that use Asterisk to host production voice mail today. Asterisk has the following voicemail features:
- Visual Indicator for Message Waiting
- Stutter Dial tone for Message Waiting
- Voicemail to email
- Voicemail Groups
- Web Voicemail Interface
Ethernet to T1 Bridge
An Ethernet to T1 Bridge such as the RedFone foneBRIDGE can be used to link multiple servers to 4 T1 devices. Even though a slightly cheaper quad T1 PCI card can be used directly in an Asterisk server, it forces you to commit those T1 resources to that particular server. The foneBRIDGE allows you the flexibility to use those T1 resources on multiple servers and be more robust in a server failure scenario. T1 interfaces connect to the Telephone Company or Channel Banks that can break out to many analog devices. The foneBRIDGE has costs ~$2200 which costs more than a Quad T1 PCI adapter but it isn't locked to any specific server. If more than 4 T1s are desired, additional foneBRIDGE devices can be added. Asterisk's parent company Digium makes PCI T1 and E1 adapters which are natively supported in Asterisk.
Channel banks allow you to break a T1 line in to 24 independent FXS or FXO ports. So if you bought 1 foneBRIDGE that used up a T1 to connect to the Telco and used 3 T1 connections to link up to 3 24-port Channel Banks, you would be able to serve 72 analog telephone or fax devices. Here is a great resource that breaks down some of the Channel Bank solutions and vendors. 24 port Channel Banks range in pricing from $700 to $1500. Considering the cost of Power-Over-Ethernet, powered FXS analog ports are about half the price of a powered IP phone port. If you don't need so many analog ports and you're not interested in building redundant Asterisk servers, you can skip the foneBRIDGE and the big Channel Bank by going with a USB device like the Astribank 8.
An FXS port on a Channel Bank allows you to plug an analog phone in to it and the FXS will supply power to the phone. An FXO port on a Channel Bank allows uplink to a telephone company which is providing you an FXS port in the form of an RJ-11 jack. Either of the following connection scenarios are valid.
- Phone (FXO) - (FXS) Channel bank (FXO) - (FXS) Telco
- Phone (FXO) - (FXS) Telco
Ethernet Switch segments
The thick tubes illustrated in the drawing represent distinct Ethernet segments. This could be a physically separate switch or an isolated VLAN on a switch. The internal LAN segment and the VoIP segment are separated by a router/firewall device. Having the firewall is highly recommended if you don't want your phones and phone system hacked or infected.
The TDMoE (Time Division Multiplexing over Ethernet) LAN segment is for PBX-Voicemail and PBX-Channel Bank communications. In the past, TDM communications between these devices used expensive T1 cards, but this has been vastly improved by sending TDM communications over inexpensive Ethernet.
Analog phones are the regular phones we've been using for a hundred years. They are simple, inexpensive, and well understood. They don't have as many features as an IP phone, but they do a great basic job for many people. An analog phone has an FXO RJ-11 port that connects directly to a power-providing FXS port on a Channel Bank or provided by the Telco on the wall socket.
While server based faxing has revolutionized faxing in the office place, there are times that a simple fax machine is still needed. A fax machine like the analog phone has an FXO RJ-11 port that connects directly to a power-providing FXS port on a Channel Bank or provided by the Telco on the wall socket.
CAT-5 Ethernet wiring
CAT-5, CAT-5e, or CAT-6 cabling are used for 10-Base T, 100-Base T, or even gigabit Ethernet. CAT-5 is the most generic Ethernet cabling.
T1 wiring (red)
T1 wiring is used to connect T1 ports between PBXs, Channel Banks, and the Telco. A T1 carries 24 standard telephone channels which is why a single T1 port can be split in to 24 individual FXS or FXO ports or a combination of FXO/FXS ports. A T1 connected to a Telco can carry 24 simultaneous calls.
Standard analog phone cabling
This is usually just a pair of copper cabling with RJ-11 connectors on both ends. These cables carry enough power to feed a simple analog phone. These cables are used between the Telco, the analog phone, the analog fax, and the Channel Bank.
A router connects multiple Ethernet segments. Having an integrated Firewall or at least a simple router ACL can limit the traffic flow between two Ethernet segments. For security reasons, it's always a good idea to restrict traffic flow to a minimum.
IP phones are actually special purpose dedicated computers that run VoIP software. IP phones cost anywhere from $70 for a very basic unit to $700 units that have large color LCDs for customer applications. IP phones can be powered via Ethernet with the 802.3af POE (Power over Ethernet) standard or Cisco's proprietary POE for Cisco IP phones or a separate AC Adapter. Adding POE to an Ethernet Switch costs an extra ~$50 per port over the cost of a regular Ethernet Switch. Here is a good list of vendors that offer IP phones.
Software based IP phones or "softphones" run on general purpose computers and are very similar in function to dedicated IP Phones. Softphone prices range from free to $50 and here is a good list of softphones.
Computers with software IP phones
PDAs with software IP phones
PDA based softphones are identical to PC based software phones only they run on small PDAs instead of full blown laptops and desktop computers.
The Telco cloud represents any generic telephone company. Companies can connect to a Telco over a simple single-channel pair of copper cabling via the RJ-11 jack on the wall or they can trunk 24 channels over a single T1 line. This is still the most common approach in Telco connectivity.
There is a new breed of telephone companies that operate over the Internet and let you connect directly to them using a cheaper Internet connection. One unique benefit of Asterisk is the fact that it has its own IAX (Inter Asterisk Exchange) protocol which allows the efficient multiplexing of multiple VoIP channels. This allows you to multiplex over 180 VoIP conversations over a single T1 Internet or Frame Relay connection whereas a normal T1 can only carry 23 voice channels.