Why
Open Source for Computer Telephony?
Voicetronix proudly supports Open Source CT projects, especially for operating
systems such as Linux. These operating systems are perfect
for CT because they are stable, open source and free. These operating
systems are variants of the Unix operating system, which is an excellent
choice for CT due to its stability, remote administration capabilities,
and true multitasking. For these reasons many enterprise-scale CT
systems and large PBXs run Unix. Advantages
of Open Source include Cost and Remote Administration. You are free
to maintain your own CT systems, or use the maintainer of your choice.
Why depend on CT software/hardware vendors to fix bugs when they
choose, and pay expensive support to maintain proprietary, closed source
CT systems? Build your own CT systems, using free
open source software components. It's easy!
Production
Cost
By using Open Source software, a CT system can be built for the price of a
CT card, a PC, and a little effort. This can give your company a
tremendous cost advantage over traditional CT system 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 CT system. 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 |
$350 |
$350 |
| Operating System |
$300 (Windows desktop) |
Free |
| Application Software |
$3000 |
Free |
| Total |
$4350 |
$850 |
Notes:
- Approximate prices in US$.
- The PC required can be low end. Typical free OSs run very well
on much less powerful machines than required by modern closed source
OSs. Use low cost commodity hardware rather than leading edge.
- A monitor is generally not required for IVR servers powered by free
OSs, as they can be remote administered via telnet.
Maintenance
Costs
With Open Source software, you have a team of developers working for you
to upgrade and fix bugs on your CT system - all for free.
This is why Open Source software tends to be far more reliable and stable
than comparable closed source systems. Open source software has
a far lower cost of ownership for this reason. If there is a bug in Open
Source software, any developer can find and fix it. In a closed
source system, you are at the mercy of the software vendor.
Remote
Administration
A Linux CT server connected to the Internet can be easily administered
from anywhere in the world:
- Personnel local to the system need only install the OS, and connect
it to the Internet and a phone line.
- CT suppliers can then install/maintain software using remote tools
like telnet and ftp (or secure variants).
- Systems can be tested by dialing in to the phone lines connected to
the target system.
Voicetronix has used these techniques to develop, install, test, upgrade,
and maintain CT systems all over the world - all without leaving our Australian
offices! How much time and money could your company save by effective
Remote Administration of CT systems?
Why
Voicetronix?
Linux
Developers
Voicetronix is one of the few CT hardware vendors with Open Source
drivers. This is very important if you are developing under an Open
Source operating system such as Linux. One reason is
that Open Source operating systems like Linux are evolving very rapidly
and unfortunately closed source drivers usually only work with a very
narrow range of kernel versions. Another reason is that it guarantees
the driver will always be supported and bugs can be fixed if required.
If you buy CT hardware from a vendor with a closed source driver please
be prepared for the following:
- You must ignore any kernel upgrades until the vendor decides they
are ready to maintain their driver.
- You must put up with all of the bugs in their driver until the vendor
is ready to fix them.
- You must understand that the vendor's main business is in the Windows
world, so support will be slow or non-existent. Be prepared for
them to sideline or even abandon development under your OS without regard
for your needs.
- You must understand that they will probably never support your favorite
Open Source operating system (especially if it has a lower profile than
Linux).
Please note - these are actual experiences that customers of closed source
CT hardware have reported to us and our resellers. Linus Torvalds, leader
of the Linux development effort, has stated that because binary-only drivers
depend so heavily on a given kernel version, and therefore are so prone
to "breaking" when kernel development proceeds, as it is bound to do,
he does not intend to support nor encourage the use of binary-only loadable
drivers. If Linux developers try to maintain compatibility with a given
binary-only driver, it would severely limit the avenues of development
open to Linux. The goal in Linux development is to achieve the highest
performance, the best stability (in terms of bug free code), and the most
advanced technology possible.
Voicetronix Open Source Projects
Voicetronix is participating in the following open
source projects:
- OpenPBX - a free small office
PBX package for Voicetronix hardware.
- VPB Driver - the driver for the
Voicetronix CT Cards.
- Bayonne -
the telecommunications application server of the GNU project.
Example.
- Asterisk - open source PC-PBX or IP-PBX software running Linux supported by our OpenPRI, OpenPCI, OpenSwitch and OpenLine4 cards.
- Logger - a free voice logging application
- build your own voice logger/call recorder!
- CT Server - an easy to use
library for building powerful CT applications using Perl.
In addition, there are several other projects we would like to start.
Please contact us if you are interested in working
with us on any of these projects:
- VPB Driver ports to other operating systems.
- A SIP based VOIP gateway.
OpenPBX
An Alternative Open Source Linux PBX package
A full function, web-enabled small office PBX package.
Turn your PC into a PBX using a Voicetronix card and the OpenPBX software package. Integrate
PBX and other back-office functionality such as email, web and file serving into
a single PC to build a fully functional PBX/IT solution for SOHO environments.
The web based GUI means the PBX can be easily configured,
compared to other PBXes that have clunky, hard to use touch-tone based user interfaces.
For example your web browser can be used to access your voice mail, rather than pressing
buttons on your phone.
On-line Demo
Technical
The OpenPBX is an Open Source Linux PBX written entirely in Perl.
It interfaces to the Voicetronix telephony cards via the
CT Server middle-ware described below. The code is very compact, only
1000 lines of Perl code are required for the basic PBX functionality. This made
development extremely rapid, compared to using traditional approaches like C/C++. It also
means the PBX is very easy to extend and customize, for example add unlimited voice mail boxes,
or a custom IVR menu ("Press 1 for Sales, 2 for Support....") with a small amount of
Perl code.
Download
OpenPBX is part of the
CT Server package described below. Just download
the CT Server package to get started with OpenPBX!
VPB
Driver
In 1999 we released the source code for the VPB driver.
Originally written for Windows NT, it has now been ported to Linux
and Windows 98/2000/XP. It has been running
under Linux for over 7 years and is stable. The VPB driver is licensed under the LGPL license to enable
it to be freely included in both open and closed source products.
We are also interested in working with developers who wish to use our cards with
other operating systems. The driver code is mainly a gcc-compilable
user mode library with a tiny kernel mode component - making it very easy
to port.
We have free hardware available for people willing to work with us to port
our driver to new operating systems such as NetBSD/OpenBSD/FreeBSD and OS X.
Please Contact us with your OS needs.
Download
Logger
This package is a LGPL-licensed voice logger
application, suitable for voice logging and call recording. The application
is designed to use the Voicetronix OpenLog and OpenPri cards, running under Linux.
Typical commercial voice loggers cost around US$1000/channel. Using
this package you can build your own 4 channel logger for the price
of a PC and an OpenLog or OpenPCI card. For high density solutions, using the OpenPri Hi-Z span PCI card will allow you to build a logger solution for under US$60/channel.
Select
Communications were kind enough to partially support this project. This
package contains the (C++/perl/html) source code for the logger. The logger
application has the following features:
- A C++ voice logging server, that is configured via web-based
GUIs.
- Records phone calls (or other audio) to hard disk.
- A web-based configuration GUI.
- A web-based replay GUI (replay via a browser).
- Has the ability to monitor calls being recorded in real
time via a sound blaster on the logging PC.
- Full source code provided.
For more information on Logger please click.
Download
Asterisk
Voicetronix supports the VPB interface that allows developers to use Asterisk with our multi-channel FXO and FXS interface PCI cards. Build:
IP-PBX solutions running SIP or H.323 using supported IP-phones together with our OpenLine4 card, acting as the PSTN gateway.
Traditional PC-PBX solutions offering advanced telephony and call features using our OpenSwitch cards and standard analogue handsets.
The VPB interface for Asterisk consists of chan_vpb.c and associated configuration file. Voicetronix will be handling the patches and bug fixes for the VPB interface.
For more information please visit our downloads page.
CT
Server
A client/server library for rapid Computer Telephony (CT) application
development in Perl. It uses Voicetronix hardware,
and runs under Linux. Example Code
- The Perl client talks to the server via TCP/IP
- There is one client process per phone line
- A single server process (ctserver) handles multiple lines
- Uses TCP/IP ports 1200,1201,1202,... for ports 1,2,3... of the CT card
- Supports Voicetronix PCI cards cards for building PC based PBXs, IVR, ACD and Call recording systems.
- Contains source code for the OpenPBX PC-PBX!
Download
CT Server Programming
Model
The programming model is based on the ccscript
language developed by David Sugar for the IVR server Bayonne.
David has developed this new scripting language that enables elegant implementations
of IVR menus. For other tasks, Bayonne has the ability to shell
out to other languages. Typical Bayonne applications use ccscript
for menus, then shell out to Perl for other tasks such as database lookup,
and complicated logic. The ctserver package 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 CT applications
to be written entirely in one language. The result is an easy way to write
CT applications. Perl is a very useful language for CT, the author
has found it possible to write CT applications in a fraction of the time
it takes in C/C++. This approach could also be extended to other
languages (LISP, Python etc) by writing appropriate client-side libraries.
There is a single Perl process for each phone line. To support multiple
lines, start multiple Perl processes, one for each line.
CT Server - Credits
David Sugar - designed the ccscript programming
model, provided voice files via Bayonne.
Rich Bodo - ideas on TOSI architecture and client/server model.
Dave Bakhash - ideas and interesting discussions on client/server CT models
using LISP.
Download
CT
Programming Examples
There are many ways to program CT applications, including scripting languages
and C/C++. Here are a few sample applications, that demonstrate
CT programming with Voicetronix hardware:
-
Bayonne - "playrec" script allows you to play and record files
by entering the file name as a string DTMF digits.
-
CT Server - "playrec" script written in Perl. Here
is a simple "click to call" web cgi.
-
Voicetronix C/C++ Driver API - play and record wave files from your phone line.
Don't want to build your own CT System?
If you don't feel comfortable with developing your own CT system, but
would still like to use our products and/or Open Source CT - then contact
us and we will help connect you with suitable developers for your application.
|