![]() ![]() |
|||||||||||||||||||||||||||||||||||||||||||||||
|
ContentsWhy Open SourceWhy Voicetronix Open Source Projects CT Programming Examples Why Open Source for Computer Telephony?Voicetronix proudly supports Open Source CT projects, especially for operating systems such as Linux and FreeBSD. 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 CostUsing 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:
Notes:
Maintenance CostsWith 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 AdministrationA Linux CT server connected to the internet can be easily administered from anywhere in the world:
How much time and money could your company save by effective Remote Administration of CT systems? Why Voicetronix?Linux/FreeBSD DevelopersVoicetronix 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 or FreeBSD. 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:
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. Windows DevelopersVoicetronix products come with free high quality support, and are competitively priced.Voicetronix Open Source ProjectsVoiceTronix is participating in the following open source projects:
VPB DriverIn 1999 we released the source code for the VPB driver. Originally written for Windows NT, it has now been ported to Linux, FreeBSD, and Windows 98/2000, and also supports our OpenLine and OpenLog product families. It has been running under Linux for over two years and is stable with no known bugs. The FreeBSD version has been running for 12 months and has no known bugs.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. Contact us with your OS needs. LoggerThis package is a LGPL-licensed voice logger application, suitable for voice logging and call recording. The application is designed to use the Voicetronix OpenLog cards, and currently runs under Linux. Typical commercial voice loggers cost around US$1000/channel. Using this package you can build your own 8-channel logger for the price of a PC and a OpenLog8i card.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:
OpenH323 PSTNGWA 4/8/12/16 port Voice Over IP (VOIP) gateway running H323, using GSM speech compression. This software enables a VOIP gateway to built for the price of a PC and a OpenLine card. The project uses the OpenH323 PSTNGW software package.Illustration (thanks to Rodney Machado for the illustration). New! A pstngw-patch package has been developed by Voicetronix to make building the gateway software easier. It is no longer necessary to use OpenH323 CVS to check out the software. See ReadMe.txt in the pstngw-patch package for more information. CT ServerA client/server library for rapid Computer Telephony (CT) application development in Perl. It uses Voicetronix hardware, and runs under Linux. Example Code
Programming ModelThe 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. Future Work
CreditsDavid 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. CT Programming ExamplesThere 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.
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. |