Upgrade 3CX to v18 and get it hosted free!

OpenPBX.org Work in Progress

Author image

The following is an overview of work in progress on CallWeaver. However, the list is still incomplete.

Configuration lexer and parser

The configuration loader CallWeaver inherited from Asterisk perform neither lexical nor syntax analysis on the configuration data it reads. It does rudimentary character searches for leftmost and rightmost delimiters and assumes that anything in between is proper configuration data which it then loads and uses without any further checking. This is a reliability and security risk. The CallWeaver team is, therefore, working on a new configuration system which will ensure the correctness and integrity of configuration data by using a formal grammar which will be enforced by a proper lexer and parser.

The new configuration system will be introduced in three steps:

  • Master configuration (targeted for RC3 release)
  • Dialplan configuration
  • Loadable modules configuration

Conferencing support for variable frame length codecs

At present, CallWeaver conferences only support codecs with a frame length of 20ms. While most codecs use 20ms frame length, some low bandwidth codecs use longer frame lengths, e.g. 30ms. Work is underway to allow conferencing to support codecs with frame lengths longer than 20ms (targeted for RC3 release).

T38 gateway

The SpanDSP library used in CallWeaver provides T38 passthrough, termination and gateway services. While CallWeaver already integrates T38 passthrough and termination services, development is underway to integrate T38 gateway service as well. For more information, see CallWeaver T.38 gateway.

Hashtable storage

The internal storage system CallWeaver inherited from Asterisk is entirely based on linked lists. This has severe implications for reliability, performance and scalability. Objects stored in a linked list can only be retrieved by the linear search which is very slow and inefficient. Moreover, various operations require the entire list to be locked until an operation is completed. While the list is locked, all other concurrently executing tasks cannot continue which leads to wasted CPU cycles and thus reduced performance and limited scalability. In some cases resulting locking issues even lead to crashes. The CallWeaver team is, therefore, working on a new internal storage system based on hashtable storage. This will vastly improve reliability, performance and scalability.

Testing on more OS platforms

CallWeaver is focused on cross-platform compatibility. So far CallWeaver has been tested on Linux (v2.6), FreeBSD (v6.1/6.2/7), NetBSD and MacOSX/Darwin on x86, x86-64 and PPC architectures. Further platform testing is underway. Solaris support is targeted for the RC3 release.

More info

OpenPBX.org wiki on VoIP-Info.org | CallWeaver home page |


Legal Disclaimer
“Asterisk” and “Digium” are trademarks of Digium Inc., they are used on this page for reference only, not to indicate endorsement.
All other trademarks mentioned on this page are the property of their respective owners, they are used strictly for reference only.

Related Posts:

Get 3CX - Absolutely Free!
Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.