Bayonne logo

Welcome to GNU Telephony

GNU Telephony is a meta project dedicated to the development and promotion of the use of free software for telephony. GNU Telephony is used to directly support the GNU Common C++ family of libraries and telephony application servers such as GNU Bayonne, which are part of the GNU Project, as well as other packages that we regularly use. We will also support several special projects from this site, including CAPE runtime libraries, Secure Calling and GNU Telephony Open Embedded. An overall project roadmap may also be found on this wiki.

Latest News

GNU SIP Witch is our newly announced VoIP call, provisioning, and feature server of the GNU Project. It offers network-scalable services through SIP. GNU SIP Witch only offers registration services and only performs destination selection and routing. GNU SIP Witch uses SIP to resolve media streaming by endpoints. This means GNU SIP Witch is neither inhibited by restrictive codec patents nor imposes additional media latency in VoIP networks.

New Make-in-place build system introduced for GNU Telephony. What this allows one to do is configure and build all parts of GNU Telephony without the need to do a partial “make install” for dependent libraries or the need to create “fake roots” if one is a guest on a machine without root access.

UCommon 0.4.0 was released on June 29th as a new package licensed using the GNU GPLv3. While we are re-using the ucommon name, this release is not directly related to any prior releases. The latest 0.5.0 release is available for download at [1] (unavailable).

UCommon is meant as a very light-weight 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, such as RTTI and exception handling, and assumes one will mostly be linking applications with other pure C-based libraries rather than using the overhead of the standard C++ library and other similar class frameworks.

How you can participate

We are running a generally open wiki for this project. Once you login, you can edit any page on this site to correct and improve it. For information on editing, see the MediaWiki User's Guide.

Project Status

GNU Bayonne is the telephony server of GNU Telephony and the GNU Project. The production release of GNU Bayonne 1 is 1.2.15. GNU Bayonne supports IVR scripting using hardware from Voicetronix, Dialogic, Aculab, CAPI drivers, and Quicklink drivers under GNU/Linux. GNU Bayonne 1 can integrate Perl and Python applications, and has been commercially deployed in production use for several years.

The stable release is GNU Bayonne 2, the current release series is 1.5.x, and currently supports SIP, H.323, and Voicetronix drivers. GNU Bayonne 2 can be used on 32 and 64 bit GNU/Linux systems, various BSD systems, MacOS X, and Microsoft Windows. Work is in progress on support for Dialogic, Aculab, and Synway hardware. Other drivers will be added as time and community support allows to be developed.

The stable release currently performs script-driven IVR applications written in GNU Bayonne's native scripting language, as well as access, conversion, and playing of audio from remote URL's. The stable release also performs basic switching interconnect functions, including tone detection and DTMF regeneration, that are needed for basic gateway operations. The latest release can also operate as a SIP proxy and register for external SIP devices, which can be used to build phone systems and gateways. The stable release supports integration of external Perl, Python, PHP, C#, and Java applications; the ability to perform XML query operations and voice rendering of BayonneXML documents with a web site; and a build-in webserver offering HTML pages to browsers and standard-compliant XMLRPC services for programmatic control and integration. XMLRPC is also offered as a local Unix domain socket if one does not wish to expose the server to remote access, and may be offered over SIP transport as well soon.

The GNU Telephony Open Embedded project has recently had its first success, in building installable packages of GNU Common C++ and GNU ccRTP for GNU/Linux on ARM. These packages are built for use on iPAQ's, either using GPE or OPIE. I hope to soon port an initial softphone client like SFLphone and/or Twinkle to iPAQ.

How we license our code

In GNU Telephony, we generally license under the GNU GPL version 2 or later. Some of our C++ frameworks and libraries may use the same Runtime Library Exception used for libstdc++ in the GNU Compiler Collection.