Bayonne is the telephony server of the GNU project. It offers a script-driven threaded multi-line state event telephony service on GNU/Linux, xBSD, and Microsoft Windows for building voice response systems, and uses telephony plugins for runtime driver configuration. It also features "TGI" for making Perl applications "telephony aware". It may be used to build telephony-based system administration, home automation, automated attendant, v-commerce, and voice messaging systems.
Common C++ RTP is an experimental threadsafe RTP stack for use with Common C++. It uses a service thread to both schedule outgoing packets and organize arriving packets. Queued lists of packets are maintained both for sending and receiving, and packet payloads can be mixed such as for passing RTP telephony events. Recent builds of GNU ccRTP are also available for building handheld softphone clients using Open Embedded.
ccaudio2 is a simple, highly portable, stand-alone, C++-based framework for manipulation of audio data. Its goal is to be a C++ framework that is as useful as "audiofile" or "sndfile" is for C programming, and to cover various generic and useful manipulations of audio data as well as audio file access. A stand-alone audio processing command line tool is also provided to demonstrate library functionality. ccaudio2 compiles under Mac OS X, POSIX systems, and Win32 systems.
GNU ccScript offers a class extensible threaded embedded scripting engine for use with the Common C++ GNU package. This engine is also used in Bayonne (the GNU telephony server), and in TOSI (FreeBSD and GNU/Linux PBX integration servers). This engine differs from traditional scripting systems in that it is used to script near real-time state-event systems through deterministic callback step execution rather than the linear and non-deterministic fashion of embedded script libraries such as tcl, and libguile.
Common C++ is a highly portable C++ class library meant primarily for the development of portable threaded applications. Support is provided both for POSIX platforms and native builds under Win32. The goal is to provide a truly common C++ framework for writing portable threaded applications that do not require a huge amount of runtime overhead to support, and hence can make C++ and threads suitable even for the development of trivial servers and applications.
GNU SIP Witch is a secure peer-to-peer VoIP server. Calls can be made even behind NAT firewalls, and without requiring service providers. SIP Witch can be used on the desktop to create bottom-up secure calling networks and as a free software alternative to Skype. It can also be used as a stand-alone SIP-based office telephone server, or to create secure VoIP networks for an existing IP-PBX such as Asterisk, FreeSWITCH, or Yate.
UCommon is a lightweight C++ library to facilitate using C++ design patterns even for very deeply embedded applications, such as for systems using uClibc along with POSIX threading support. For this reason, UCommon disables language features that consume memory or introduce runtime overhead. UCommon introduces some design patterns from Objective-C, such as reference counted objects, memory pools, and smart pointers. UCommon introduces some new concepts for handling of thread locking and synchronization.