CONTENTS

Why Linux
Why Open Source
Why Voicetronix
Open Source Software
3rd Party Projects


Linux Drivers

Asterisk
Asterisk


Bayonne


VoIP Gateway

 

 

 
 
 
OPEN SOURCE
 

Why use Linux for Computer Telephony Development?

Linux is a perfect operating system for Computer Telephony because:

  1. It is freely available and easily accessible. Just download from the internet your favourite distribution!
  2. It provides a reliable server platform suitable for background processes usually associated with telephony.
  3. It is open source. You can recompile the linux kernel or optimise it to run on a small footprint....useful for embedded applications!
  4. It has excellent support for secure remote administration.
  5. It has amassed extraordinary momentum in the software developer community and enjoys greater hardware vendor support.

For these reasons many enterprise-scale telephony systems and large PBXs run some form of unix based operating system like Linux.

Why Open Source in Computer Telephony?

It is only natural to extend the benefits of open source to computer telephony, especially when the computer is running an open source operating system such as Linux and telephony while being a crucial business and social enabler is typically closed and still under the control of the supplier. Combining open source application software running on Linux based commodity PC/servers gives you total control at a very low cost base.

Open Source effectively increases user adoption by:

  1. Reducing the cost of ownership and making it affordable.
  2. Promoting community development & support.
  3. Eliminating vendor lock-in thus providing control back to the you.
  4. Inherently facilitating customisation and localisation activities, transcending geographical and cultural barriers.

Open source eliminates the barriers to knowledge, thus increasing competition amongst vendors and service providers, promoting innovation and eliminating the opportunity for monopolization. For developers, it enables them to avoid the duplication of effort, allowing them to concentrate on adding value by building on the foundation of others.

Please note: It does expect you to provide some sweat equity and a level of competence.

Like most things: The MORE you put in the GREATER the reward!

Production Cost

By using Open Source software, telephony systems can be built for the price of a telephony card, a PC and a little effort. This can give your company a tremendous cost advantage over traditional business models, that charge largely for their proprietary software.

End-users can use this cost advantage to build and maintain their own low cost, high quality telephony systems.

VARs can use this cost advantage to lower their production costs, enabling higher profits or generating a competitive advantage through lower pricing to the customer.

Consider this cost comparison for a typical 4-port IVR server:

Component
 Closed Source
Open Source
PC
$700
$500
CT Card
$400
$400
Operating System
$400 (Windows)
Free
Application Software
$3000 
Free
Total
$4500
$900

Notes:
  1. Approximate prices in US$.
  2. The PC required can be low end. Linux run very well on much less powerful machines than required by Windows. Use low cost commodity hardware rather than leading edge!
  3. A monitor is generally not required for IVR servers powered by Linux as they can be remotely administered quite easily and securely (ie. using SSH).

Maintenance Costs

With open source software, at best you have a team of developers working with you to upgrade and fix bugs on your telephony system - all for free. This is why open source software potentially can be far more reliable and stable than comparable closed source systems. Open source software has a far lower cost of ownership for this reason. At worst, if there is a bug in open source software any competent developer can find and fix it, as they have the source available to them. In a closed source system, you are at the mercy of the software vendor.

Why should Linux Developers choose Voicetronix?

Voicetronix is one of the few computer telephony hardware vendors that not only provides open source hardware drivers that run on Linux but also offers solutions. It develops and makes available freely its own open source application software that is fully compatible and optimised for its hardware products. Developers wishing to use our hardware and software building blocks as their solutions are not shunted off to a forum but get to communicate with the actual engineers that have developed these product offerings.

Developers wishing to contribute don't have to sign over or waiver their copyrights for a nominal amount unlike some other vendors who wish to commercialise your contributions. Our software is L-GPL and can be used with other open source or proprietary software. Note: Please read carefully the conditions of each license especially when using other open source libraries as it could be incompatible with proprietary software.

Whether you are purchasing our telephony hardware, running our application software or engaging our professional services, rest assured that you are partnering with an organisation that has been pioneering open source telephony since 1999.

Voicetronix Open Source Application Software and Development Tools

Voicetronix over the years has developed a number of open source telephony applications and development tools that fully support our range of telephony hardware. These include:

  1. Logger - a free voice logging application that can help you build commercial grade voice recorders for under US$60/channel!
  2. CT server - an easy to use library for building powerful telephony applications using Perl. You don't have to be a C/C++ programmer to develop feature rich telephony solutions using our software and hardware building blocks.
  3. OpenPBX - a free web driven software application written using CT server that when combined with our hardware can turn commodity PC/servers into feature rich office phone systems.
  4. VPB Driver - our current stable driver for the Voicetronix computer telephony cards. Our VPB driver contains our implementation of our telephony application programmers interface (API) that is made up of a library of C/C++ callable functions.

In addition, there are several other projects that are currently under development and are scheduled to be released in the near future. These include:

  1. Our new hardware driver and API, re-architectured from the ground up to seamlessly support traditional fixed line technologies and VOIP, namely SIP and RTP.
  2. Our next generation OpenPBX application software that fully utilises the new features of our above mentioned driver and API.
These will be ablely supported by some new telephony hardware that has been specifically designed for converged traditional fixed line and VOIP centric environments.

Other third party Open Source Projects

Voicetronix has participated in the following open source projects in the past:

  • Bayonne - the telecommunications application server of the GNU project. Our OpenLine4 cards were used with Bayonne to typically build IVR servers.
  • OpenH323 - a popular open source implementation of the H323 VOIP protocol stack, including a Gateway application (PSTNGW) that in the past has supported Voicetronix hardware, namely the OpenLine4 card.
  • Asterisk - open source PC-PBX or IP-PBX software running Linux supported by our OpenPCI and OpenPRI cards. We don't recommend the use or provide channel driver support for any of our other "outdated" cards.
  • RouterOS - an open source PC based wireless router developed by Mikrotik. The Voicetronix OpenLine4 card has been used to provide analogue line PSTN connectivity - RouterOS V2.9


VPB Driver

The majority of the API implementation was written way back (1997-1999) and has similar functionality to the defacto standard of telephony APIs of that time, namely the Dialogic API. Originally written for Windows NT, it has been ported to Linux, Windows 2000 & XP. There was a FreeBSD version of the driver (thanks largerly to the work of Chris Forkin). The driver has been running under Linux and Windows for over 9 years and is stable. It is licensed under the LGPL license to enable it to be freely included in both open and closed source products.

Our comprehensive open source API library, libvpb, made up of C/C++ callable functions, provides the developer with total design and maintenance control over our telephony hardware.

Further development on the driver has ceased and any work on it is limited to bug fixing... which is rare these years. In the coming months we will be releasing our next generation driver and API.

CT Server

A client/server library for rapid Computer Telephony application development in Perl.  It uses Voicetronix hardware, and runs under Linux.

  • The Perl client talks to the server via TCP/IP.
  • There is one client process per phone line.
  • A single server process (CT server) handles multiple lines.
  • Uses TCP/IP ports 1200,1201,1202,... for ports 1,2,3... of the telephony card.
  • Supports Voicetronix telephony cards for building PC based PBXs, IVR, ACD and call recording systems.
  • Contains source code for our OpenPBX web based PBX application.

A block diagram illustrating the main building blocks of our OpenPBX software application that has been written using CT server is presented below.

CT Server Programming Model

The programming model is based on the ccscript language developed by David Sugar for the IVR server Bayonne. David developed his scripting language to enable elegant implementations of IVR menus. Typically Bayonne applications use ccscript for menus, then shell out to Perl or other programming languages for other tasks such as database lookup and complicated logic.

CT server uses a variation of this approach. Rather than writing a new language, the advantages of the ccscript programming model have been imported into a powerful existing language (Perl) by writing a small library. This allows computer telephony applications to be written entirely in one language. The result is an easy way to write application software. Perl is a very useful language for telephony, as demonstrated by our OpenPBX application that only needed 1000 lines of code to provide the basic PBX functionality. It is possible to write CT applications in a fraction of the time it takes in C/C++. There is a single Perl process for each phone line. To support multiple lines, start multiple Perl processes, one for each line.

 

 
© Copyright 2001-2010 VoiceTronix Pty Ltd