Links

Links

Asterisk

MODULE ONE - Asterisk Installation

Get the source code from the Subversion repository:
http://svn.digium.com/svn/libpri/
http://svn.digium.com/svn/zaptel/
http://svn.digium.com/svn/asterisk/
http://svn.digium.com/svn/asterisk-addon/

The asterisk has to be compiled on the following order.
1) libpri and/or
2) zaptel
3) asterisk

Once everything is downloaded to the PC, to be more profession copy the tar.gz files to /usr/src and extract using command tar -zxvf .This will extract the files on the specified folder. According to the order specified above change directory and follow these steps

FOR LIBPRI

Asterisk History

Mark Spencer, the creator of Asterisk, has created numerous popular open-source tools including GAIM, the open-source AOL Instant Messaging client that is arguably the most popular IM client for Linux, l2tpd, the L2TP tunneling protocol daemon, and the Cheops Network User Interface, a network service manager. In 1999, Mark had a problem though. He wanted to buy a PBX for his company so they could have voice mail, call other offices without paying for the telephone call, and do all the other things one expects from a PBX system.

Marcos in Asterisk

Macros are a very useful construct designed to avoid repetition in the dialplan. They also help in making changes to the dialplan. To illustrate this point, let’s look at this sample dialplan.

exten => 101,1,Dial(${ABC},10)
exten => 101,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
exten => 101,n(unavail),Voicemail(101@default,u)
exten => 101,n,Hangup()
exten => 101,n(busy),VoiceMail(101@default,b)
exten => 101,n,Hangup()

DUNDi, In easy steps

Perl CPAN and Asterisk

sterisk::AGI - Simple Asterisk Gateway Interface Class
SYNOPSIS ^

use Asterisk::AGI;

$AGI = new Asterisk::AGI;

# pull AGI variables into %input

%input = $AGI->ReadParse();

# say the number 1984

$AGI->say_number(1984);

DESCRIPTION ^

This module should make it easier to write scripts that interact with the asterisk open source pbx via AGI (asterisk gateway interface)
MODULE COMMANDS ^

$AGI->setcallback($funcref)

Set function to execute when call is hungup or function returns error.

Example: $AGI->setcallback(&examplecallback);

PrePaid CallingCard IVR Sample Application

#!/usr/bin/perl
#
# PrePaid CallingCard IVR Application for Asterisk PBX
use Asterisk::AGI;
use DBI;

# Config options
%MYSQL = (
hostname => "localhost",
username => "username",
password => "password",
database => "asteriskdb"
);

$dbh = DBI->connect("dbi:mysql:$MYSQL{database}:$MYSQL{hostname}","$MYSQL{username}","$MYSQL{password}")
|| die("Couldn''''''''t connect to database!n");
#
# We should throw an error down the channel and take care of it gracefully
#

$AGI = new Asterisk::AGI;

my %input = $AGI->ReadParse();

my $target = 0;
my $try = 0;

Asterisk perl agi

Asterisk::AGI perl module documentation

NAME
Asterisk::AGI - Simple Asterisk Gateway Interface Class

SYNOPSIS
use Asterisk::AGI;

$AGI = new Asterisk::AGI;

# pull AGI variables into %input

%input = $AGI->ReadParse();

# say the number 1984

$AGI->say_number(1984);

DESCRIPTION
This module should make it easier to write scripts that interact with the asterisk open source pbx via AGI (aster�isk gateway interface)

CALLBACKS

Asterisk config extensions.conf

extensions.conf - This is your Dialplan
The configuration file "extensions.conf" contains the "dial plan" of Asterisk, the master plan of control or execution flow for all of its operations. It controls how incoming and outgoing calls are handled and routed. This is where you configure the behavior of all connections through your PBX.

Asterisk Dialplan Commands

Here is a list of all the commands that you can use in your Dialplan (extensions.conf). You can obtain your Asterisk''''s list of available applications at the CLI by typing "show applications" and "show application ".

Notes:

* An alphabetical list can be found at the end of this page
* Please only list applications integrated in the Asterisk releases or CVS versions, with notes about version where it is included. Third party add-ons is listed in a separate section.

General commands

* Authenticate: Authenticate a user

How to build a dial plan in Asterisk

The dial plan is built in extensions.conf and included files.
Basic terms
A dial plan consists of a number of extensions. Each extensions consists of a number of priorities. Extensions are grouped in contexts. For each priority, an application is called.
Syntax example:

[context]
exten => id, priority, command

* Context: Is the name of the context. Names are alphanumerical. Reserved is contexts that start with macro- (See macro).
* exten: Keyword, must be followed by either = or =>

Syndicate content