[This post originally appeared on http://zimmerontelephony.wordpress.com on April 13th, 2009.]
Most telephony solutions these days rely on expensive hardware to interface with the PSTN or provide VoIP services. Historically, this has been a necessity, but developments in conventional server hardware and software based telephony platforms over the last decade have effectively nullified the need for dedicated, proprietary and above all, expensive telephony hardware.
Companies like Pika, NMS, Aculab, and Dialogic each have a line of server expansion boards that provide an interface to the PSTN as well as provide voice processing resources (known as digital signal processors, or DSPs). These boards, being complex and proprietary are therefore also very expensive. Decade old, refurbished, legacy models of these boards still run over a thousand dollars in the used hardware market, and this for only a single T1 or E1 interface. Newer boards with multiple T1/E1 interfaces or access to VoIP processing run an average of ten thousand dollars and in many cases more. Until recently, this was the price of admission into the computer telephony marketplace, not to mention the development costs for integrating with this technology.
Another detriment to the hardware telephony model is the lack of any true redundancy. In order to even approach a fail-safe solution with this hardware, you need to invest in an expensive cPCI (Compact Peripheral Component Interconnect) or ATCA (Advanced Telecommunications Computing Architecture) chassis and then even more expensive, high density versions of these boards. This solution is meant to provide hot-swap-ability in the event of failure, and increase potential capacity, but there is a lot of software tolerance that needs to be developed for this to even work, and, in some cases, the hot-swap feature is only available on Linux versions of the telephony drivers and API. Needless to say, scaling a solution from SMB to the enterprise market presents a giant leap in system engineering and software design.
In the last decade, software based telephony engines have been in development using traditional PC and server hardware. CPU technology – in the last five years – has reached the point where software telephony is truly viable, and far more cost effective than traditional telephony hardware. Most telephony board vendors have realized this and have developed their own “Host Media Processing” solutions that operate using their existing API. This in itself is promising, but these companies charge per channel licensing fees that have made HMP less of a cost saving solution and more of a doorway to true redundant and distributed solutions. Needless to say, the money for these companies is still in their hardware, and thus far HMP products have not taken off in the market.
There are, of course, alternatives. Beginning with Asterisk, the open source movement spawned a revolution in the telephony industry. Suddenly, there was a PBX available that could exist on a standard PC without any expensive telephony hardware. Granted, in order to connect to the PSTN there needs to be some form of hardware involved, but this hardware is far cheaper than traditional computer telephony equivalents. This is because all voice processing is handled by Asterisk itself. For a pure VoIP solution, no hardware is necessary other than the main server. On top of cost savings, Asterisk offered a full suite of features including Voicemail and interactive call handling (known as IVR or Auto Attendant). Compared to traditional key systems or other proprietary PBXs that would cost around five thousand dollars for an entry-level system without voicemail or other features, Asterisk offered a tremendous value offering for business technology consultants. Other engines have since followed suit – such as FreeSwitch, CallWeaver, sipXecs, and YATE – each bringing their own flexibility and API to the table. The best part of these engines is that they are free to use under various open source public licenses.
But this begs the question: How can a standard computer really be better than a dedicated board that costs ten times as much?
To answer this, let’s take an easy comparison to illustrate why processing on a traditional telephony board is outmoded. The simplest board to use for this comparison is the NMS CG6565 – recently acquired by Dialogic. This board is actually one of the more cost effective boards offering a relative high density for a moderate cost of twelve thousand dollars –VAR pricing. This board is also diverse, allowing for up to 8 T1/E1 connections in addition to VoIP connectivity. The number of resources for each varies depending on how this board is provisioned; so, for the purposes of this comparison, I’m only going to focus on VoIP processing as this is the most processor intensive example and applies to both this board and a base VoIP only implementation of Asterisk.
The CG6565(C)/64-2L PCI board utilizes a single 867MHz G4 PowerPC coprocessor that operates at 6,384 million instructions per second (MIPS) for its main processing. This processing power is divided into 48 DSPs and each DSP allows for a specific number of channel resources. 1 DSP provides 9 channels worth of voice processing – “voice resources” – or 7 RTP channels using G.729 encoding. Each channel that would be used for handling calls with an IVR would need 1 voice resource and 1 RTP resource. Once you balance out the resources necessary with the available DSPs, you end up with a maximum of 189 channels of G.729 encoding using the SIP standard for VoIP communication – without conferencing. These are pretty impressive figures, but let’s take a look at the Intel Core 2 Extreme X6800 CPU. This processor operates at 27,079 MIPS, which are over five times more instructions than the CG6565(C)64-2L PCI board is capable of, and this is only a moderate desktop CPU. The Most recent multi-core CPUs reach an upwards of 80,000 MIPS or more. As long as the system overhead is kept to a minimum and you have at least half of your processing dedicated to voice applications, a server with this CPU and a moderate amount of memory (2GB) could easily process over 500 channels for a little over a thousand dollars.
But I can fit an entire team of those telephony boards in a server backplane ultimately giving me more capacity:
Yes, you could load up 2, 3, 4, even 10 boards into a backplane chassis and have thousands of channels at your disposal, but what happens when that server crashes, or one of those boards goes out of commission? Unless you’ve written your application to handle the sudden loss of accessibility to a piece of hardware, or have spent thousands of additional dollars adding redundancy to your server, your entire mission critical solution is out of commission. Even if you did create the ultimate redundant server solution, you are effectively throwing expensive hardware at the failing of an archaic system utilizing more expensive hardware.
When something fails – and there is never an “if” in this industry, there is always a “when” – the last thing you need is for it to take out your entire operation. You need to be able to recover quickly, with a minimal handicap, and you don’t want your customers to realize there is a problem. If you use an array of low-cost servers, balancing the load between them, when one node fails it’s not the end of the world. Yank the node and replace it. Rather than running a one act show where the diva gets laryngitis and you have to refund the tickets, its better to manage a chorus line. Someone breaks a leg: oh well, the show must go on. This requires engineering your software so that it facilitates a distributed model, but the benefits are tremendous. You achieve not only a low-cost, low-end solution, but one that easily scales to handle enterprise requirements as well.
In today’s economy, the key to survival is reducing the cost of doing business, and for all call centers, big and small, the largest overhead is the system they rely on to handle calls. The company or consultant who can offer a full suite of features with little or no down time and come in at a tenth of the cost of their competitors is going to win the bid with any center. Any company that’s locked into traditional expensive telephony hardware for their solutions will find themselves filing bankruptcy in the next five years. Telephony board vendors will need to focus on their HMP products, and reduce licensing costs as well as improve their APIs in order to survive into the next decade. The only thing keeping telephony hardware alive is the life-support offered by legacy telephony systems that can’t operate without telephony hardware, and have lost control of their software to the point that adapting it for newer telephony concepts is not a viable option.