PBXes were originally developed as a telephony solution for small to large businesses. Part of the idea of the PBX was a goal to share a large number of internal to the company phone numbers among a much smaller number of outside lines. Calls placed within the company’s PBX don’t place a demand on telephone company resources outside the company. Only calls external to the company are routed onto phone company lines.
Early VoIP solutions sometimes had audio quality problems. Much of this was due to channel congestion problems and other similar problems. Congestion happened when too much traffic was on one of the links to a subscriber or ethernet collision retry experienced multiple collisions when transmitting an audio packet from one subscriber to another. The net effect included audio gaps, and bizarre sounds produced by the receiving CODEC. But today VoIP is a solid technology that can be implemented by physical hardware or software.
Lanner Inc (1) manufactures a series of Network Appliances including the FW-8910 Network Appliance which may be configured with a variety of software options including VoIP. Operating systems for the FW-8910 are Windows (2000, 2003, XP), Linux which dictates the software that may run on the appliance. Other Appliances from Lanner support other operating systems including FreeeBSD, NetBSD and others. Lanner’s appliances are intended to offer a platform for a variety of software packages. By providing a platform based on a network appliance model, Lanner offers an alternative to distributed hardware in small to medium sized enterprise systems.
The VoIP PBX software load permits the appliance to function as a full featured telephone system. Additional software can be configured to add security, VPN and traffic monitoring. The FW-8910 is built around the Intel® 3420 chipset and includes two Intel Xeon C5500 series processors. The Intel 3420 chipset supports eight PCI Express x1 ports configurable as x2 and x4, six SATA 3Gb/s ports, twelve USB 2.0 ports for I/O and Intel Matrix Storage Technology. The Xeon C5500 is an eight thread four core processor running at a 2.13 GHz. While this seems like a large amount of processor power, it’s important to recognize that these systems are designed to provision many hundreds, up to thousands, of simultaneous calls. In addition, users and administrators of VoIP systems may choose the number of bits per second that each phone call requires for intelligent conversation. Generally, VoIP provides satisfactory fidelity when using 128k bits per second. An enclosure Where Lanner offers a packaged product in an enclosure Kontron (2) offers a hardware Advanced Mezzanine Card module as a platform for embedded software such as VoIP. Like Lanner, Kontron’s board level product is also based on the Intel Xeon™ Quad-Core processor with the Intel 3420 server-class chipset. The combined chipset includes Hyper-Threading support and Intel Turbo Mode technology.
Trenton Technology, Inc. (3) offers a third form factor: the CompactPCI Plus (PCIMG1.3) also based on two Multi-Core Intel Xeon C5500 Series Processors. Like the other two manufacturers, the JXT6966 incorporates the Intel 3420 Platform Controller Hub. These three alternative hardware platforms all use the Intel Xeon C5500 processor and the companion Hub Controller. The diversity of form factors delivering a system based on the C5500 give systems designers the flexibility to choose how the functions will be delivered to users. Although great flexibility is provided from the hardware front, the question is what kind of VoIP software can be enabled on the respective platforms.
Open Source software can provide unexpected solutions. Asterisk from Digium is one of those solutions. Developed a little more than a decade ago, Asterisk brought many alternatives to computerized telephony. One of those alternatives is a full featured VoIP PBX system. Asterisk is an Open Source phenomenon. In 2008 over 1.5 million downloads of Asterisk were made by all types of users: from individuals looking to create their own phone system with features like voicemail and remote control, to large corporations seeking to provide enterprise-wide telephony. Asterisk was written assuming a Linux environment, but Microsoft (4) Windows is now supported as well. For those Xeon C5500-based hardware platforms that support Linux, targeting Asterisk is an automated task using AsterisNOW. This automates the full installation process if you are trying to create a number of applications including a VoIP PBX. But Asterisk includes many other capabilities: VoIP Gateway, Skype Gateway, IP PBX, Call Center Automatic Call Director, Conference Bridge, IVR Server, Voicemail System, Call Recorder, Fax Server, and Speech Server. Asterisk also enables multi-core hardware platforms through the extensive use of THREADS to structure the code. Threading is key to the effective use of multi-core, multi-CPU and beowul distributed hardware. Asterisk developers have adopted a rigorous standard employing an Asterisk-specific thread library. This technique enhances portability and permits Asterisk to compile for a variety of hardware platforms including the two core Xeon C5500-based products.
Software without tools to target a specific platform doesn’t do much for anyone. Developers have options for the choice of development tools. Intel offers an Eclipse enabled tool chain as does Wind River Systems (5). Green Hills Software(6) also offers a full tool chain that is also Eclipse compatible. Development tools were the subject of another blog, as was porting software to a new environment.
Open Source software Asterisk offers a wide array of options and solutions for telephony products. If you were developing a product using Asterisk, what would you do to differentiate your product over the out-of-the-box Asterisk software?
(1) Lanner Electronics Inc is an Associate Member of the Intel Embedded Alliance
(2) Kontron is a Premier Member of the Intel Embedded Alliance
(3) Trenton Technology, Inc. is an Affiliate Member of the Intel Embedded Alliance
(4) Microsoft is an Associate Member of the Intel Embedded Alliance
(5) Wind River Systems is an Associate Member of the Intel Embedded Alliance
(6) Green Hills Software is an Affiliate Member of the Intel Embedded Allaince
Roving Reporter (Intel Contractor)
Intel(r) Embedded Alliance