Menu

Developer Home
RAGI

O'Reilly Article

Read more about RAGI and Emerging Telephony at O'Reilly Net, Hacking Asterisk and Rails with RAGI

Ruby Asterisk Gateway Interface (RAGI)
Ruby Asterisk Gateway Interface (RAGI) is a useful open-source framework for bridging the Ruby on Rails web application server environment and Asterisk, the open-source PBX.

RAGI eases the development of interactive automated telephony applications such as IVR, call routing, automated call center, and extended IP-PBX functionality by leveraging the productivity of the Ruby on Rails framework. RAGI simplifies the process of creating rich telephony and web apps with a single common web application framework, object model and database backend.

RAGI is available under the BSD license.

To obtain RAGI, please visit the RAGI pages on RubyForge, or use
gem install ragi

Learning and Getting Started

Check out the RAGI Step-by-Step Tutorial with corresponding RAGI Tutorial Screencast
Sample audio of the tutorial application: Play

O'Reilly RAGI Presentation (PPT) and audio from developer in Ghanna using RAGI Play

Class Overview

The most important classes in RAGI to an application developer are call_connection, call_handler and call_initiate. These three classes provide everything you need to create interactive phone applications in Asterisk using Ruby.

Detailed API documentation is provided in the source files for each class. Please review the README file in the installation for setup and usage instructions.

Configuration and Getting Started

RAGI is installed using RubyGems. To obtain RAGI, simply type the following at your command prompt:

gem install ragi

In the directory "ragi" you will find the core class files that make up RAGI and a helpful README file. In the directory "sample-apps" you will find a subdirectory for the simon game sample application.

Please see the README file that accompanies the installation for examples on how to use RAGI in the context of a Rails application.

Sample Apps

"The Simon Game" is a simple application included with the RAGI installation. Test your memory by punching the numbers you here on the phone. See how long of a number string you can memorize as it grows longer and longer.

Sample app recording: Play

View source code

Developer Support

For support, please post your questions on the RAGI forums on RubyForge. RAGI was downloaded over 400 times in the 2 months after it was released on SourceForge, so there are bound to be people in the community who can help you with your question. Snapvine also monitors these forums and will try to respond to your questions.

News

12/17/2005 - RAGI has been repackaged as a gem and now lives on RubyForge. RAGI has been updated to better adhere to Ruby and Rails naming conventions. See CHANGELOG for more information.

8/20/2005 - RAGI released as a SourceForge project. RAGI has not been tested much outside of the context of apps developed in the Ruby on Rails framework.

Sponsorship and Involvement

RAGI was originally developed by SNAPVINE, Inc and is released as open source under a BSD license.

We welcome your feedback, suggestions, bug reports and project sponsorship.

To get involved as a direct contributor to the project, please contact us at the RAGI pages on RubyForge.

References

Asterisk - http://www.asterisk.org

Asterisk AGI - http://www.voip-info.org/wiki-Asterisk+AGI

Asterisk extensions.conf - http://www.voip-info.org/tiki-index.php?page=Asterisk%20config%20extensions.conf

Asterisk Dial-Out Call Files - http://www.voip-info.org/tiki-index.php?page=Asterisk+auto-dial+out

Ruby - http://www.ruby-lang.org

Ruby on Rails - http://www.rubyonrails.org

Snapvine, Inc. - http://www.snapvine.com/

©2005 Snapvine, Inc. - Help - www.snapvine.com