[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. |