[Astpp-commit] SF.net SVN: astpp: [2164] trunk/astpp-device-monitor.pl
Brought to you by:
darrenkw
|
From: <dar...@us...> - 2007-11-18 03:13:50
|
Revision: 2164
http://astpp.svn.sourceforge.net/astpp/?rev=2164&view=rev
Author: darrenkw
Date: 2007-11-17 19:13:48 -0800 (Sat, 17 Nov 2007)
Log Message:
-----------
Greatly enhanced the device monitor to log more and allow call hangup abilities.
Modified Paths:
--------------
trunk/astpp-device-monitor.pl
Modified: trunk/astpp-device-monitor.pl
===================================================================
--- trunk/astpp-device-monitor.pl 2007-11-18 03:13:07 UTC (rev 2163)
+++ trunk/astpp-device-monitor.pl 2007-11-18 03:13:48 UTC (rev 2164)
@@ -18,6 +18,7 @@
use Locale::Country;
use Locale::gettext_pp qw(:locale_h);
use Data::Dumper;
+use ASTPP;
use strict;
use lib './lib', '../lib';
@@ -27,16 +28,19 @@
print STDERR "Interface language is set to: $ENV{'LANGUAGE'}\n";
bindtextdomain( "ASTPP", "/var/locale" );
textdomain("ASTPP");
-use vars qw(@output $shucks $params $astpp_db $cdr_db $config
+use vars qw($ASTPP @output $shucks $params $astpp_db $cdr_db $config
$uniqueid $run_type);
@output = ( "STDOUT", "LOGFILE" );
$shucks = 0;
+$ASTPP = ASTPP->new;
+$ASTPP->set_verbosity(4); #Tell ASTPP debugging how verbose we want to be.
sub initialize() {
$SIG{INT} = \&catch_zap;
$config = &load_config();
$astpp_db = &connect_db( $config, @output );
$config = &load_config_db($astpp_db,$config);
+ $ASTPP->set_astpp_db($astpp_db);
}
################# Program Starts HERE #################################
@@ -44,7 +48,7 @@
use POE;
use POE::Component::Client::Asterisk::Manager;
-print STDERR gettext("Connecting to Asterisk");
+$ASTPP->debug( debug=> gettext("Connecting to Asterisk"));
POE::Component::Client::Asterisk::Manager->new(
Alias => 'monitor',
RemoteHost => $config->{astman_host},
@@ -54,7 +58,7 @@
CallBacks => {
input => ':all',
dial => { 'Event' => 'Newexten', # This is triggered when an extension starts a call.
- 'Application' => 'Dial'
+# 'Application' => 'Dial'
},
hangup => { 'Event' => 'Hangup',
},
@@ -88,10 +92,17 @@
if ( !$astpp_db ) {
$astpp_db = &connect_db( $config, @output );
}
- print STDERR "Peer: $peer REGISTERED" if $config->{debug} == 1;
- $astpp_db->do("INSERT INTO extensions_status (tech,extension,status) VALUES ("
+
+ $ASTPP->debug( debug=> "Peer: $peer REGISTERED");
+ my $tmp = "INSERT INTO extensions_status (tech,extension,status,Event,Privilege,PeerStatus,Peer) VALUES ("
. $astpp_db->quote(@extension[0]) . ","
- . $astpp_db->quote(@extension[1]) . ",'Registered')");
+ . $astpp_db->quote(@extension[1]) . ",'Registered',"
+ . $astpp_db->quote($_[ARG0]->{Event}) . ","
+ . $astpp_db->quote($_[ARG0]->{Privilege}) . ","
+ . $astpp_db->quote($_[ARG0]->{PeerStatus}) . ","
+ . $astpp_db->quote($_[ARG0]->{Peer}) . ")";
+ $ASTPP->debug( debug=> "SQL: $tmp");
+ $astpp_db->do($tmp);
}
sub manager_record_unregister() {
@@ -100,10 +111,12 @@
if ( !$astpp_db ) {
$astpp_db = &connect_db( $config, @output );
}
- print STDERR "Peer: $peer UNREGISTERED" if $config->{debug} == 1;
- $astpp_db->do("INSERT INTO extensions_status (tech,extension,status) VALUES ("
+ $ASTPP->debug( debug=> "Peer: $peer UNREGISTERED");
+ my $tmp = "INSERT INTO extensions_status (tech,extension,status) VALUES ("
. $astpp_db->quote(@extension[0]) . ","
- . $astpp_db->quote(@extension[1]) . ",'UnRegistered')");
+ . $astpp_db->quote(@extension[1]) . ",'UnRegistered')";
+ $ASTPP->debug( debug=> "SQL: $tmp");
+ $astpp_db->do($tmp);
}
sub manager_record_answer() {
@@ -113,11 +126,13 @@
if ( !$astpp_db ) {
$astpp_db = &connect_db( $config, @output );
}
- print STDERR "Peer: @extension1[0] Answer" if $config->{debug} == 1;
- $astpp_db->do("INSERT INTO extensions_status (tech,extension,status,number) VALUES ("
+ $ASTPP->debug( debug=> "Peer: @extension1[0] Answer");
+ my $tmp = "INSERT INTO extensions_status (tech,extension,status,number) VALUES ("
. $astpp_db->quote(@extension[0]) . ","
. $astpp_db->quote(@extension1[0]) . ",'Answer',"
- . $astpp_db->quote($_[ARG0]->{Extension}) . ")");
+ . $astpp_db->quote($_[ARG0]->{Extension}) . ")";
+ $ASTPP->debug( debug=> "SQL: $tmp");
+ $astpp_db->do($tmp);
}
sub manager_record_dial() {
@@ -127,11 +142,21 @@
if ( !$astpp_db ) {
$astpp_db = &connect_db( $config, @output );
}
- print STDERR "Peer: @extension1[0] PLACING CALL" if $config->{debug} == 1;
- $astpp_db->do("INSERT INTO extensions_status (tech,extension,status,number) VALUES ("
+ $ASTPP->debug( debug=> "Peer: @extension1[0] PLACING CALL");
+ my $tmp = "INSERT INTO extensions_status (tech,extension,status,number,Channel,Privilege,Context,AstExtension,Application,Uniqueid,AppData,Priority) VALUES ("
. $astpp_db->quote(@extension[0]) . ","
. $astpp_db->quote(@extension1[0]) . ",'Dial',"
- . $astpp_db->quote($_[ARG0]->{Extension}) . ")");
+ . $astpp_db->quote($_[ARG0]->{Extension}) . ","
+ . $astpp_db->quote($_[ARG0]->{Channel}) . ","
+ . $astpp_db->quote($_[ARG0]->{Privilege}) . ","
+ . $astpp_db->quote($_[ARG0]->{Context}) . ","
+ . $astpp_db->quote($_[ARG0]->{Extension}) . ","
+ . $astpp_db->quote($_[ARG0]->{Application}) . ","
+ . $astpp_db->quote($_[ARG0]->{Uniqueid}) . ","
+ . $astpp_db->quote($_[ARG0]->{AppData}) . ","
+ . $astpp_db->quote($_[ARG0]->{Priority}) . ")";
+ $ASTPP->debug( debug=> "SQL: $tmp");
+ $astpp_db->do($tmp);
}
sub manager_record_hangup() {
@@ -142,10 +167,12 @@
if ( !$astpp_db ) {
$astpp_db = &connect_db( $config, @output );
}
- print STDERR "Peer: @extension2[0] HUNGUP" if $config->{debug} == 1;
- $astpp_db->do("INSERT INTO extensions_status (tech,extension,status) VALUES ("
+ $ASTPP->debug( debug=> "Peer: @extension2[0] HUNGUP");
+ my $tmp = "INSERT INTO extensions_status (tech,extension,status) VALUES ("
. $astpp_db->quote(@extension[0]) . ","
- . $astpp_db->quote(@extension2[0]) . ",'Hungup')");
+ . $astpp_db->quote(@extension2[0]) . ",'Hungup')";
+ $ASTPP->debug( debug=> "SQL: $tmp");
+ $astpp_db->do($tmp);
}
$poe_kernel->run();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|