CONTENTS

Why Linux
Why Open Source
Why Voicetronix

Open Source Software

VTlogger
Your office call recorder

OpenPBX
Your office phone system

3rd Party Projects


Linux Drivers


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.
  2. It provides a reliable server platform suitable for things that must not fail.
  3. It is open source. You can customise, fix, or optimise it to suit your own requirements.
  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 and 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.

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 LGPL 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.

Our latest offerings include:

  1. Libctpp - our new telephony hardware driver and API implementation, completely rearchitected from the ground up to seamlessly support traditional fixed line technologies and VoIP.
  2. VTlogger - a free call recording application built on our new driver/API, enabling you to build commercial grade voice recorders for under US$60/channel.

In the past we developed and supported the following:

  1. VPB Driver - our earliest driver for our computer telephony cards. Predominantly designed for our analogue line and station interface telephony cards, it was our first attempt at implementing a comprehensive telephony application programmer interface (API) made up of a library containing C/C++ callable functions.
  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 turned commodity PC servers into feature rich office phone systems.

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. A generic dialing engine, that can be deployed as stand alone, controlling agents' handsets directly, or integrated transparently with existing PBX and CRM systems. It can be configured to run as an auto, power, predictive or preview dialer.
  2. The replacement of our original OpenPBX application with a new improved IP-PBX version supporting our latest driver and API implementation. It will facilitate the connection and switching of calls across primary rate lines, POTS lines, SIP trunking services and SIP handsets.

These will be ably 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 third party 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 supported the Voicetronix OpenLine4 card.
  • RouterOS - an open source PC based wireless router developed by Mikrotik. The Voicetronix OpenLine4 card has been used to provide analogue line PSTN connectivity for RouterOS v2.9


VPB Driver

The majority of the original VPB driver implementation was designed way back in 1997 to provide similar functionality to the previous defacto standard of telephony APIs of that time, 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 16 years and is both solid and stable. It is licensed under the LGPL license to enable it to be freely included in both open and closed source products.

A comprehensive open source library, it provided developers with total control over our telephony hardware for any application, and a large variety of successful projects were built on its foundations.

Further development on this driver has ceased and current work on it is limited to maintenance for OS changes and bug fixes, the latter of which is far more seldom than the former these days. We recommend that customers use libctpp, our next generation telephony driver and API for any new telephony projects.

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-2014 VoiceTronix Pty Ltd