Channels ▼
RSS

Tools

Designing a VoIP Media Phone Framework


Performance Results

All performance results were obtained using non-optimized systems and framework. Performance gains can likely be achieved with optimization. Performance results show normalized CPU usage of system with software echo cancellation relative to system with no echo cancellation.

The test configuration included a complete telephony application with a VPF, an ALSA PCM interface, and an ORTP IP interface. The application was compiled with GCC.

In the Endpoint Configuration setup (see Figure 8), the application was configured to use one channel consisting of a PCM endpoint and an IP endpoint. The number of data processing threads was set to one. Voice data was passed bidirectionally and the PESQ was measured at both sides using a Malden DSLA II.

[Click image to view at full size]
Figure 8: Endpoint Test Configuration.

In the PBX Configuration setup (see Figure 9), each channel consisted of two IP endpoints. The number of data processing threads was set according to the processor that the application was running on. Voice data was passed bidirectionally on each channel and the PESQ was measured at both sides using Spirent Abacus.

We use VTune to measure the performance of the application.

[Click image to view at full size]
Figure 9: IP PBX Test Configuration.

Intel EP80579 Integrated Processor 1.2 GHz Results

Endpoint Configuration Results

  • The number of Data Processing Threads was set to 1
  • The Tone Detector in the IP outbound pipeline is enabled
  • Intel VTune Performance Analyzer is used to measure performance

Table 1: Intel EP80579 Integrated Processor Endpoint Results.

Intel Atom Processor 1.6 GHz Results

Endpoint Configuration Results

  • The number of Data Processing Threads is set to 1
  • The Tone Detector in the IP outbound pipeline is enabled
  • Intel Hyper-Threading Technology is enabled
  • Intel VTune Performance Analyzer is used to measure performance

Table 2: Intel Atom Processor Endpoint Results.

Intel Xeon 5570 Processor (2 x 2.93 GHz Intel Core i7) Results

IP PBX Single Threaded

PBX Configuration

  • The number of Data Processing Threads is set to 1
  • The Tone Detector in the IP outbound pipeline is disabled
  • Top is used to measure performance

Table 3: Intel Xeon 5570 Processor IP PBX Single Thread Results (No Tone Detector).

PESQ measurements began to degrade when more endpoints than 250 were added. The limiting factor here was the fact that there was only 1 real-time thread to process voice data, meaning that the application could not take advantage of the multiple CPU cores.

Thus, using a single real-time processing thread means that the limit to how many channels can be supported is limited, compared to using multiple real-time processing threads (as seen in the next section).

IP PBX Multithreaded

PBX Configuration

  • The number of Data Processing Threads is set to 16
  • The Tone Detector in the IP outbound pipeline is disabled
  • Top is used to measure performance

Table 4: Intel Xeon 5570 Processor IP PBX Multithread Results (No Tone Detector).

PBX Configuration

  • The number of Data Processing Threads is set to 16
  • The Tone Detector in the IP outbound pipeline is enabled
  • Top is used to measure performance

Table 5: Intel Xeon 5570 Processor IP PBX Multithread Results (Tone Detector).


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.
 

Video