Dave Wilson wrote:

I basically want asterisk to request an uri on our intranet, which will pass
call details to our application and consequently  store call details in a MS
SQL Server database. Of course, if there are tools available for directly
interacting with the database via odbc, then that would be excellent,
however we still want to be able to trigger http requests for various other
features.

It's not terribly efficient (starts up a Perl interpreter for every incoming call), but you can do this with AGI, something like:


extensions.conf
---------------

[default]
s,1,AGI(log-call.pl)


log-call.pl
-----------
#!/usr/bin/perl
use DBI;
use Asterisk::AGI;
my $agi = new Asterisk::AGI;
my $dbh = DBI->connect('DBI:mssql:database:hostname', 'user', 'pass') or die %DBI::errstr;


my $clid = $agi->get_variable('CALLERID');
my $dnid = $agi->get_variable('DNID');
my $add_date = time();

$sql = "INSERT INTO call (call_from, call_to, add_date) values ('$myclid', '$mydnid', FROM_UNIXTIME($add_date));";


$sth = $dbh->prepare($sql) or die $sth->errstr(); $sth->execute() or die $sth->errstr(); $dbh->disconnect();


Sort of thing. Obviously you could use LWP or similar in Perl to do HTTP GETs, or just write a bash script which used wget to do an HTTP GET, which would be much more efficient.


--
Alastair Maw <[EMAIL PROTECTED]>
MX Telecom - Systems Analyst
http://www.mxtelecom.com

_______________________________________________
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to