Donnerstag, 23. Dezember 2010

Diva media streaming for chan_capi allows reduction of host load

Using the Diva server board the only one processing overhead in the system is the transport of voice data between Asterisn and Diva hardware.

Diva media streaming allows to eliminate this overhead.
Diva media streaming allows to transport data between Diva hardware and the user application by PCI/PCIe BUS Master DMA. Due to mapping of DMA buffers to user mode this eliminates the overhead on copy of data (or remapping of data buffers) between address spaces and between host memory and system memory, strongly reduces the interrupt load.
With other words the overhead is eliminated at all by the fully new design of interface between Diva hardware and the user applications.

Diva streaming was used as the internal transport between Diva drivers, Diva hardware and Diva API. And now it is available under GPL license as part of the chan_capi code.

Very Large conference with chan_capi and Diva hardware

Very large conference is one full duplex conference with 240 ... 900 members.
To implement such large conferences this is necessary to break the conference in the groups and to transmit only the summary group signel between groups (while inside of the group signal is built by any-to-any transmission of signals).

The most critical part if the creation of the groups, binding of certain media processing resources to groups and selection of the communication resources for transmission of signals between groups.

chan_capi implements the algorith to perform all mentioned tasks automatically. All the user has to do is to provide "g" option to capicommand "chat". With this option chan_capi will automatically create groups, distribute the required by groups media media processing tasks between available hardware resources and establish the paths betwee groups in the most efficient way. This allows to achive not only the best usage of the avvailable hardware but to minimize the introduces by transmission of summary signal delay.

New features

Beside of compatibility with Asterisk 1.8 multiple new features are includded in the chan_capi:
+ "capi exec" cli command allows to execute any of ssupported "coimmands". This allows
for example control of media processing by conference operator.
+ "capi show resources" cli command allows to view media processing resources in use
+ Distributions of calls only to interfaces (E.1/T.1/S0/POTS/SS7) which are in active
state and are able to process the calls
+ "capi show ifcstate" cli command allows to control state of interfaces in use
+ AMI events for interface state
+ MeetMe compatible AMI interface (events, commands) for chan_capi conferencing
(capicommand(chat))

Asterisk 1.8 chan_capi support

Newest available relase of chan capi (svn co svn://svn.chan-capi.org/chan-capi/trunk chan-capi-trunk) supports Asterisk 1.8.

Sonntag, 10. Oktober 2010

Diva PCIe Hot Plug test

Yes, it works. All Diva PCIe hardware ssupports PCIe Hot Plug inclusive surprise removal.

All you need is to load appropriate PCIe Hot Plug module (pciehp).

In case hot plug is not working please try to use pciehp_force=1 pciehp module parameter.

More about test, used mainboard will follow.

Dienstag, 13. Juli 2010

Sonntag, 14. Februar 2010

Large Asterisk PBX test using Diva and 480 switched channels

The purpose of the test was to check usability of Asterisk with Diva hardware as solution for big enterprise switching systems (240 an more channels).

Following hardware used:
2 x Diva 8PRI PCIe in the system under test (16 x E.1 resulting in 480 channels)
2 x Diva 4PRI PCI and 2 x Diva 4PRI PCIe in the call generator

The system under test was used as PBX for switching calls between interfaces (between boards):
E.1[1...8] -> E.1[9...16]. Using "group" chan_capi syntax. This eliminates the need to check for free channel if switching the call, chan_capi provides management of channels within a group.

Two tests was used to check the quality of provided solution:
  • Long term load on all 480 channels with control of PESQ (voice quality)
  • High call frequency test on all 480 channels. Variable call length between 100 mSec and 2 Sec
Used Diva release: 9.02 (includes chan_capi)
Used Asterisk version: 1.6.1, 1.6.2, 1.4.29
OS: 64 Bit Debian lenny

Test results:
  • In the first test all Asterisk versions exposed same behavior. The switching done by cross board (direct board to board access) BUS master DMA of Diva hardware does not depends on the host CPU and on the Asterisk version. This is why no quality changes, compared to original signal was detected (with and without echo cancellation).
  • In the second test 1.6.X and 1.4.X versions of Asterisk exposed different behavior: while 1.4.29 was absolutely stable and no problem was detected 1.6.X crashed after several minutes of tests if used for more then 120 channels
Conclusion:

Using Diva 8PRI PCIe, Diva for Linux, chan_capi and Asterisk 1.4.29 this is possible to satisfy all needs of big enterprise marked using even one mid range server: the voice streaming is handled by Diva hardware in the independent from host CPU fashion, use of high density Diva hardware allows to provide 480 channels using only 2 x 4LANE PCIe slots.

Interesting aspect is the power consumption too. Every Diva 8PRI board uses approximately 20 W of power (20W for 240 channels). Combined with use of mid range CPU (1.2 ... 1.8 GHz) and use of power reduction technologies (ondemand power governer using SpeedStep, ...)
this provides significant reduction of power consumption.