#!user/bin/perl
#
#use DBD::mysql;
use DBI;
use DBD::mysql;
use Asterisk::AGI;

############################
#To read asterisk variable values.

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

$AGI->verbose("AGI Environment Dump:", 3);
foreach my $i (sort keys %input) {
        $AGI->verbose(" -- $i = $input{$i}", 3);
}


##################
#To get the asterisk dial no whihc is 112 in our case 
my $no=$AGI->get_variable('extension');
$AGI->verbose("my dialed no is :$no");

################################
# To communicate with Data Base

my $a1;   #these are the vaiables whihc are used to get the values from result set as u can see in while loop.
my $a2;

$platform = "mysql";
                $database = "ngi";
                $host = "127.0.0.1";
                $port = "3306";
                $tablename = "tableName";
                $user = "root";
                $pw = "password";
                $dsn = "dbi:mysql:$database:$host:$port";

                $connect = DBI->connect($dsn, $user, $pw)
                        or die "Connecting from Perl to MySQL database failed: $DBI::errstr";

		$query1= "SELECT  regNo FROM $tablename where registerdNo = '$no'";
                $AGI->verbose("Query is:$query1");
                $query_handle1 = $connect->prepare($query1)
                 			       or die "Preparing MySQL query failed: $DBI::errstr";

                $query_handle1->execute() or die "The execution of the MySQL query failed: $DBI::errstr";

                while ($row1 = $query_handle1->fetchrow_hashref())
                {
		         $a1=$row1->{regNo};
                         $AGI->verbose("language slection is :[$a1]");
		}
		$connect->disconnect();

		# settings the destination no which is taken from database and setting it to asterisk vairable  $DestNo...
	      $AGI->set_variable('DestNo',$a1);
