About VoiceRD framework

From VoiceRDWiki

Jump to: navigation, search

Introduction

This is the Free Open Source version of VoiceRD. There are also non-free versions of VoiceRD available for puchase (see http://www.voicerd.com). This open source solution is primarily a managment interface for Asterisk. It uses LDAP to store the dialplan and other configuration settings for Asterisk. It also uses the Asterisk Realtime Architecture(ARA) which is still under development and will hopefully soon be included in a future release of Asterisk. The VoiceRD Management Console is similar to the structure of the Asterisk Managemnet Portal(AMP) but attempts to be scalable to handle an Enterprise Level installation of Asterisk, so, more than a few hundred users. In the next few sections, I will give an overview of the framework of this piece of software, how all the parts tie together, and provide some insight into why this solution scales to handle massive VOIP networks.

A note about configuration with LDAP

A bare bones Asterisk installation can be configured by editing several text files; obviously, this can quickly become a nuisance for anything more than a handful of users. These text-files are loaded on restart of Asterisk and some of the files can be loaded by issuing a "reload" command in Asterisk. Asterisk also has an internal database, AstDB, which makes it a bit more dynamic, it can be modified within Asterisk(CLI interface) or by connecting to it over a socket. By using the ARA with LDAP, VoiceRD stores all the complicated configuration settings in LDAP with all the advantages that implies, including hierarchical fine grained access control, lightning fast reads, as well as easy integration with user data from other directories(i.e., Identity Management). The LDAPget() application is also used for items that would normally be stored in the asterisk database. For now, make sure you get the LDAPget() from this page as it has been extended to do LDAPput() etc, as well as the perl and php AGI modules.

The Dialplan

Although several configuration files are stored in asterisk, the dialplan is probably the most important one; this is where the routing of the calls happen and various applications are called. The applications are either built-in Asterisk applications, or custom Asterisk Gateway Interface(AGI) applications on the asterisk server. With ARA, each line in the dialplan is stored in LDAP. There are two ways of doing this, dynamically(objects in LDAP are called Just In Time(JIT) for execution of the dialplan(i.e., when a call is made)) or statically; the static part of the dialplan is called when asterisk starts up or on a reload of the configuration file. A base configuration of the dialplan needs to be in place for asterisk as the VoiceRD managent interface just adds on to this base. The base consists of a logical framework for the dialplan as well as some macros and calls to the AGI applications; by modifying this base a server can be configured to do pretty much anything, except maybe fetching your beer, while still allowing the admin to manage user accounts and overall maintenance from the VoiceRD management interface.

Personal tools