Asterisk addon rate-engine

Rate engine for Asterisk

Adds a new application:

Do cost based routing of a call and set call time limit



Does Least Cost Routing of a call, and sets an absolute timeout on call length based on customers credit worthiness.
If a route is found, a dialstring suitable for use with the Dial application is created in the variable ${DESTINATIONnn}, to be used as
where 'nn' is a number from 1 and up, with the route in ${DESTINATION1} being the lowest-cost route found, the route in ${DESTINATION2} being the next lowest rate found and so on. An AbsoluteTimeout limit may also be set for the call.

Return codes

If there exists a priority n + 101, and no route could be found, then the channel will be set up to continue at that priority level.
Otherwise, Always returns 0.


Work has started to port this to Asterisk 1.2. It seems the original developer has lost interest, so I, Roy Sigurd Karlsbakk, have taken up the work. There'll be new versions of the code launched on my website irregularly as new bugs are introduced or perhaps fixed...

From the README:

This is a module for The Asterisk Open Source PBX. It is currently licensed under the GPL.

To build and install, you must already have Asterisk and MySQL devel packages installed on your system. The sample configuration file can be installed by executing "make samples". You will need to set up the database schema manually — a sample schema that is suitable for use with MySQL has been included.

You must also have PCRE — a Perl Regular Expression package for C installed. On RedHat this is accomplished by installing the pcre and pcre-devel RPMs.

The module will install itself as both an application that will do Least Cost Routing, and a CDR logger that will log a call with cost calculated based on the actual route used.

Fixes and additions to the code are welcomed, but we do require that such contributed code be disclaimed, as we will be providing this module under a dual license. For a disclaimer form, see the file "DISCLAIMER" in this directory. The disclaimer must be either faxed to +47 55987201 or mailed to:

Troll Phone Networks AS
Kokstaddalen 4

Either of these will be fine, but a dislaimer form must be on file before we can accept any patches or enhancements.

Yes, this code uses alloca(). Yes, on some systems the man page for alloca(3) says "Its use is discouraged." Deal with it.

See also

Go back to Asterisk

Created by: oej, Last modification: Sun 11 of Jun, 2006 (01:27 UTC) by mfedyk
Please update this page with new information, just login and click on the "Edit" or "Discussion" tab. Get a free login here: Register Thanks! - Find us on Google+