Taking IP PBX to the next level with Network Functions Virtualization

The latest telephone technology isn’t limited to fancier smart phones. Today, telecom companies are also advancing their communications and networking technologies to add a wealth of flexible and advance business calling features. They’re taking advantage of a variety of technologies to allow their customers to tap into new IP telephone services at a small price.

First, let’s take a recent advancement in telephony systems — VoIP (Voice over Internet Protocol). VoIP uses a packet switched network, like the Internet, to pass digitized voice data from one point to another, allowing telecommunications companies to squeeze more conversations into the same amount of bandwidth.

Many companies use a PBX (Public Branch Exchange) telephone networks to minimize cost. Instead of having a single telephone line for every office or department which are only used for a fraction of the time, the company can reduce this to a few lines with the use of PBX while still having a telephone unit in each office. All internal calls are routed internally while calls to the outside take any of the available outside lines.

But older PBX systems are not equipped to handle VoIP calls because they were created and perfected before VoIP technology was introduced whereas the newer systems, called IP PBX (Internet Protocol Private Branch eXchange), support VoIP. As VoIP gains widespread acceptance, companies and manufacturers have been motivated to develop IP PBX systems in order to have the advantages now available with VoIP.

Utilizing VoIP in a PBX system can result in a seamless integration where users can use the same phone to dial outside numbers or call a branch office in another country via VoIP. An advanced PBX system can lessen a company’s phone bill by such a huge margin that most companies who need to replace their older PBX systems have opted to add VoIP support by purchasing and installing an IP PBX system or to use a cloud-based, hosted IP PBX.

In part due to its cost savings, VoIP is becoming the future of PBX systems. But why stop there when you could use NFV (network functions virtualization) to reduce the cost of developing the IP PBX systems. NFV is a network architecture concept that enables the creation of communication services by connecting or chaining multiple network node functions that are all virtualized. IP PBX systems can benefit from virtualization. When deployed in a virtualized CPE device, IP-PBX provides VoIP service to an enterprise network.

At Northforge, we’re working to design and implement a small footprint IP-PBX VM that can run on a single core of an Intel Atom class processor in a fan-less CPE (Customer Premise Equipment) device. The IP-PBX performance target is 60 concurrent calls and needs to run concurrently with two additional VMs (virtual machines) on a virtual switch and hypervisor on the Atom system without degradation of speech quality.

An IP-PBX is typically deployed as a dedicated physical server in an enterprise network, where all resources such as processors, memory, and network access are dedicated. When it is deployed as a virtual machine instance in a virtualized CPE device, its resource use is in competition with that of other virtual machines co-located on the same CPE device. This resource competition with constrained resource availability makes it a challenging task for a virtualized IP-PBX to provide VoIP service with predictable and sustainable performance.

Preliminary prototyping has shown that an IP-PBX as a single VM on an Atom class processor suffers from speech quality issues (broken speech) with 60 concurrent calls.

IP-PBX as VM in a virtualized CPE appliance

We set up a virtualization lab, developed a virtualized open source IP PBX and conducted experiments with the virtualized IP PBX to characterize its resource usage behavior when there are sustained 60 simultaneous call on an Atom-class processor and to determine what performance bottlenecks need to be addressed.

While the work still is in progress, we hope to be able to establish 60 simultaneous call test environment in which 120 registered extensions are used. Our target is to have the IP PBX run with 60% CPU consumption in steady state with 60 concurrent call sessions; along with two additional VMs running on the processor; 1 Gbps ingress and egress traffic including voice traffic; and to maintain PESQ (Perceptual Evaluation of Speech Quality) of 4.0 or better while the system is processing 1 Gbps traffic.

By taking advantage of the newer IP PBX systems, and adding the technology advancements that can be gained from Network Functions Virtualization, Northforge is working to reduce the cost of developing the IP PBX systems for its customers, which in turn, will bring more services at more affordable costs to the end customer, the consumer.