the RubyForge project page

the official Ruby home page

an IEEE article outlining TSAPI


Welcome to the RubyPhone Project!


This project arose out of the need to implement CTI (Computer Telephony Integration) in a Ruby development environment. An older, yet proven, CTI standard is TSAPI. TSAPI (pronounced Tee-Sappy) stands for Telephony Services Application Programming Interface. This API was developed at AT&T, which was inherited by Lucent Technologies and in turn Avaya. TSAPI was also eventually co-maintained by Novell to offer a computer-based alternative to Microsoft's TAPI.

Researching on the Internet I found plenty of TSAPI libraries built in C, C++, and Java (called JTAPI), and even a TSAPI library built in Pascal. But nothing built in Ruby. So I started my quest to bring in powerful CTI functionality into the simple, elegant Ruby OO scripting language.

Since I am a relative Ruby nuby I had trouble building a Ruby/C extension for TSAPI. And I hadn't used SWIG before so the task of wrapping dozens of C header files with thousands of lines of code seemed initially daunting. Taking an easier way out I wrapped the TSAPI library in Ruby/DL and Ruby/Win32API calls. This leaves RubyPhone exclusively as a Win32-based library, but if anyone is willing to pick up the ball and pitch in a Linux-based library isn't out of the question.

If you are curious about this project and would like to learn more about it, feel free to check out the project page listed in the left-hand frame. There are also several other links of interest that pertain to the project.