mirror of
https://github.com/munin-monitoring/contrib.git
synced 2025-07-21 18:41:03 +00:00
organize asterisk plugins
untar asterisk-fax and move asterisk-multigraph-munin-plugin
This commit is contained in:
parent
05ce4b8d87
commit
c33bbb90e5
53 changed files with 6292 additions and 0 deletions
65
plugins/asterisk/asterisk_14_fax_ffa/TEMPLATE
Executable file
65
plugins/asterisk/asterisk_14_fax_ffa/TEMPLATE
Executable file
|
@ -0,0 +1,65 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
my $ret = undef;
|
||||
if ( ! eval "require Asterisk::AMI;" ) {
|
||||
$ret = "Asterisk::AMI not found";
|
||||
};
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Cancelled Faxes (T.38 and G.711)\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of Cancelled Faxes\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "t38_cancelled.draw AREA\n";
|
||||
print "t38_cancelled.label Cancelled T.38 Faxes\n";
|
||||
print "g711_cancelled.draw AREA\n";
|
||||
print "g711_cancelled.label Cancelled G.711 Faxes\n";
|
||||
exit ( 0 );
|
||||
};
|
||||
|
||||
#my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
#my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
#my $username = $ENV{ 'username' };
|
||||
#my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $username = 'manager';
|
||||
my $host = '192.168.1.70';
|
||||
my $port = '5038';
|
||||
my $secret = 'insecure';
|
||||
my $timeout = '5';
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
print "t38_cancelled.value $faxstats{'Digium T.38'}{'Canceled'}\n";
|
||||
print "g711_cancelled.value $faxstats{'Digium G.711'}{'Canceled'}\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
130
plugins/asterisk/asterisk_14_fax_ffa/asterisk_fax_cancelled
Executable file
130
plugins/asterisk/asterisk_14_fax_ffa/asterisk_fax_cancelled
Executable file
|
@ -0,0 +1,130 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.4.* and Digiums Fax For Asterisk (FFA) modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Cancelled Faxes\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of Cancelled Faxes\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "cancelled.draw AREA\n";
|
||||
print "cancelled.label Cancelled Faxes\n";
|
||||
exit 0;
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
my $cancelled = $faxstats{'Digium G.711'}{'Canceled'};
|
||||
print "cancelled.value $cancelled\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
129
plugins/asterisk/asterisk_14_fax_ffa/asterisk_fax_current_sessions
Executable file
129
plugins/asterisk/asterisk_14_fax_ffa/asterisk_fax_current_sessions
Executable file
|
@ -0,0 +1,129 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.4.* and Digiums Fax For Asterisk (FFA) modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Current Sessions\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Current Sessions\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "sessions.draw AREA\n";
|
||||
print "sessions.label Current Sessions\n";
|
||||
exit 0;
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
my $sessions = $faxstats{'FAX Statistics'}{'Current Sessions'};
|
||||
print "sessions.value $sessions\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
134
plugins/asterisk/asterisk_14_fax_ffa/asterisk_fax_failed_completed
Executable file
134
plugins/asterisk/asterisk_14_fax_ffa/asterisk_fax_failed_completed
Executable file
|
@ -0,0 +1,134 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.4.* and Digiums Fax For Asterisk (FFA) modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Failed and Completed Faxes\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Failed and Completed Faxes\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "failed.draw AREA\n";
|
||||
print "failed.label Failed faxes\n";
|
||||
print "completed.draw AREA\n";
|
||||
print "completed.label Completed faxes\n";
|
||||
exit 0;
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
my $failed = $faxstats{'FAX Statistics'}{'Failed FAXes'};
|
||||
my $completed = $faxstats{'FAX Statistics'}{'Completed FAXes'};
|
||||
print "failed.value $failed\n";
|
||||
print "completed.value $completed\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
130
plugins/asterisk/asterisk_14_fax_ffa/asterisk_fax_iofail
Executable file
130
plugins/asterisk/asterisk_14_fax_ffa/asterisk_fax_iofail
Executable file
|
@ -0,0 +1,130 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.4.* and Digiums Fax For Asterisk (FFA) modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - IO Fail\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of IO Failures\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "iofail.draw AREA\n";
|
||||
print "iofail.label IO Failures\n";
|
||||
exit 0;
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
my $iofail = $faxstats{'Digium G.711'}{'IO Fail'};
|
||||
print "iofail.value $iofail\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
130
plugins/asterisk/asterisk_14_fax_ffa/asterisk_fax_iopartial
Executable file
130
plugins/asterisk/asterisk_14_fax_ffa/asterisk_fax_iopartial
Executable file
|
@ -0,0 +1,130 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.4.* and Digiums Fax For Asterisk (FFA) modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - IO Partial\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of IO Partials\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "iopartial.draw AREA\n";
|
||||
print "iopartial.label IO Partial\n";
|
||||
exit 0;
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
my $iopartial = $faxstats{'Digium G.711'}{'IO Partial'};
|
||||
print "iopartial.value $iopartial\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
130
plugins/asterisk/asterisk_14_fax_ffa/asterisk_fax_licensed_channels
Executable file
130
plugins/asterisk/asterisk_14_fax_ffa/asterisk_fax_licensed_channels
Executable file
|
@ -0,0 +1,130 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.4.* and Digiums Fax For Asterisk (FFA) modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Licensed Channels\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Licensed Channels\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "channels.draw AREA\n";
|
||||
print "channels.label Licensed Channels\n";
|
||||
exit 0;
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
my $channels = $faxstats{'Digium G.711'}{'Licensed Channels'};
|
||||
print "channels.value $channels\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
129
plugins/asterisk/asterisk_14_fax_ffa/asterisk_fax_max_concurrent
Executable file
129
plugins/asterisk/asterisk_14_fax_ffa/asterisk_fax_max_concurrent
Executable file
|
@ -0,0 +1,129 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.4.* and Digiums Fax For Asterisk (FFA) modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Max Concurrent Sessions\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Max Concurrent Sessions\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "maxsessions.draw AREA\n";
|
||||
print "maxsessions.label Sessions\n";
|
||||
exit 0;
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
my $maxsessions = $faxstats{'Digium G.711'}{'Max Concurrent'};
|
||||
print "maxsessions.value $maxsessions\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
130
plugins/asterisk/asterisk_14_fax_ffa/asterisk_fax_negotiations_failed
Executable file
130
plugins/asterisk/asterisk_14_fax_ffa/asterisk_fax_negotiations_failed
Executable file
|
@ -0,0 +1,130 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.4.* and Digiums Fax For Asterisk (FFA) modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Negotiations Failed\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of Negotiations Failed\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "failed.draw AREA\n";
|
||||
print "failed.label Negotiations Failed\n";
|
||||
exit 0;
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
my $failed = $faxstats{'Digium G.711'}{'Negotiation Failed'};
|
||||
print "failed.value $failed\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
130
plugins/asterisk/asterisk_14_fax_ffa/asterisk_fax_nofax
Executable file
130
plugins/asterisk/asterisk_14_fax_ffa/asterisk_fax_nofax
Executable file
|
@ -0,0 +1,130 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.4.* and Digiums Fax For Asterisk (FFA) modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - No Fax\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of No Faxes\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "nofax.draw AREA\n";
|
||||
print "nofax.label Number of No Faxes\n";
|
||||
exit 0;
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
my $nofax = $faxstats{'Digium G.711'}{'No FAX'};
|
||||
print "nofax.value $nofax\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
131
plugins/asterisk/asterisk_14_fax_ffa/asterisk_fax_partial
Executable file
131
plugins/asterisk/asterisk_14_fax_ffa/asterisk_fax_partial
Executable file
|
@ -0,0 +1,131 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.4.* and Digiums Fax For Asterisk (FFA) modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Partial Faxes\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of Partial Faxes\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "partial.draw AREA\n";
|
||||
print "partial.label Partial Faxes\n";
|
||||
exit 0;
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
my $partial = $faxstats{'Digium G.711'}{'Partial'};
|
||||
print "partial.value $partial\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
131
plugins/asterisk/asterisk_14_fax_ffa/asterisk_fax_protocol_error
Executable file
131
plugins/asterisk/asterisk_14_fax_ffa/asterisk_fax_protocol_error
Executable file
|
@ -0,0 +1,131 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.4.* and Digiums Fax For Asterisk (FFA) modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Protocol Error\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of Protocol Errors\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "proterror.draw AREA\n";
|
||||
print "proterror.label Protocol Errors\n";
|
||||
exit 0;
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
my $proterror = $faxstats{'Digium G.711'}{'Protocol Error'};
|
||||
print "proterror.value $proterror\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
129
plugins/asterisk/asterisk_14_fax_ffa/asterisk_fax_success
Executable file
129
plugins/asterisk/asterisk_14_fax_ffa/asterisk_fax_success
Executable file
|
@ -0,0 +1,129 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.4.* and Digiums Fax For Asterisk (FFA) modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Successful Tx\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Successful Tx's\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "success.draw AREA\n";
|
||||
print "success.label successful tx\n";
|
||||
exit 0;
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
my $success = $faxstats{'Digium G.711'}{'Success'};
|
||||
print "success.value $success\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
130
plugins/asterisk/asterisk_14_fax_ffa/asterisk_fax_switched2t38
Executable file
130
plugins/asterisk/asterisk_14_fax_ffa/asterisk_fax_switched2t38
Executable file
|
@ -0,0 +1,130 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.4.* and Digiums Fax For Asterisk (FFA) modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Switched to T.38\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of Switches to T.38\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "switched.draw AREA\n";
|
||||
print "switched.label Switches to T.38\n";
|
||||
exit 0;
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
my $switched = $faxstats{'Digium G.711'}{'Switched to T.38'};
|
||||
print "switched.value $switched\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
130
plugins/asterisk/asterisk_14_fax_ffa/asterisk_fax_train_failure
Executable file
130
plugins/asterisk/asterisk_14_fax_ffa/asterisk_fax_train_failure
Executable file
|
@ -0,0 +1,130 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.4.* and Digiums Fax For Asterisk (FFA) modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Train Failure\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of Train Failures\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "failure.draw AREA\n";
|
||||
print "failure.label Train Failures\n";
|
||||
exit 0;
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
my $failure = $faxstats{'Digium G.711'}{'Train Failure'};
|
||||
print "failure.value $failure\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
134
plugins/asterisk/asterisk_14_fax_ffa/asterisk_fax_txrx_attempts
Executable file
134
plugins/asterisk/asterisk_14_fax_ffa/asterisk_fax_txrx_attempts
Executable file
|
@ -0,0 +1,134 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.4.* and Digiums Fax For Asterisk (FFA) modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Tx/Rx Attempts\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of Tx and Rx Attempts\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "transmit.draw AREA\n";
|
||||
print "transmit.label Tx Attempts\n";
|
||||
print "receive.draw AREA\n";
|
||||
print "receive.label Rx Attempts\n";
|
||||
exit 0;
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
my $txstats = $faxstats{'FAX Statistics'}{'Transmit Attempts'};
|
||||
my $rxstats = $faxstats{'FAX Statistics'}{'Receive Attempts'};
|
||||
print "transmit.value $txstats\n";
|
||||
print "receive.value $rxstats\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
41
plugins/asterisk/asterisk_14_fax_ffa/can-install.pl
Executable file
41
plugins/asterisk/asterisk_14_fax_ffa/can-install.pl
Executable file
|
@ -0,0 +1,41 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
#
|
||||
# can-install.pl - Can we install this set of Munin plugins?
|
||||
#
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
|
||||
# Step(1) - Is Asterisk installed?
|
||||
my $system;
|
||||
my $asterisk = `$system which asterisk`;
|
||||
chomp( $asterisk );
|
||||
print "no - Cannot find program 'asterisk' \n" if !$asterisk;
|
||||
exit( 0 ) if !$asterisk;
|
||||
|
||||
# Step(2) - Are we running the correct version of Asterisk?
|
||||
my $command = 'core show version';
|
||||
my $string = `$asterisk -rx \"$command\"`;
|
||||
my @string = split( / /, "$string" );
|
||||
my $version = $string[ 1 ];
|
||||
my @vals = split( '\.', "$version" );
|
||||
my $short_version = $vals[ 0 ] . '.' . $vals[ 1 ];
|
||||
print "no - Running wrong version of Asterisk. Need 1.4\n" if $short_version ne '1.4';
|
||||
exit( 0 ) if $short_version ne '1.4';
|
||||
|
||||
# Are the Digium FFA modules installed?
|
||||
my $command = 'module show like res_fax_digium.so';
|
||||
my $string = `$asterisk -rx \"$command\"`;
|
||||
my @string = split( /\n/, "$string" );
|
||||
my @vals = split( / /, $string[ 2 ] );
|
||||
my $module = $vals[ 0 ];
|
||||
print "no - Digium FFA module not installed" if ! $module;
|
||||
exit( 0 ) if ! $module;
|
||||
|
||||
# Step(4) - Is Asterisk::AMI installed?
|
||||
eval "use Asterisk::AMI";
|
||||
print "PERL module Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
print "yes\n";
|
49
plugins/asterisk/asterisk_14_fax_ffa/fax_show_stats.txt
Normal file
49
plugins/asterisk/asterisk_14_fax_ffa/fax_show_stats.txt
Normal file
|
@ -0,0 +1,49 @@
|
|||
|
||||
########################################################################
|
||||
# For Asterisk 1.4 and FFA
|
||||
|
||||
faxstats{FAX Statistics}{Transmit Attempts} = 0
|
||||
faxstats{FAX Statistics}{Receive Attempts} = 0
|
||||
faxstats{FAX Statistics}{Current Sessions} = 0
|
||||
faxstats{FAX Statistics}{Failed FAXes} = 0
|
||||
faxstats{FAX Statistics}{Completed FAXes} = 0
|
||||
faxstats{Digium G.711}{IO Partial} = 0
|
||||
faxstats{Digium G.711}{Switched to T.38} = 0
|
||||
faxstats{Digium G.711}{Negotiation Failed} = 0
|
||||
faxstats{Digium G.711}{Partial} = 0
|
||||
faxstats{Digium G.711}{No FAX} = 0
|
||||
faxstats{Digium G.711}{Protocol Error} = 0
|
||||
faxstats{Digium G.711}{Canceled} = 0
|
||||
faxstats{Digium G.711}{Train Failure} = 0
|
||||
faxstats{Digium G.711}{Licensed Channels} = 1
|
||||
faxstats{Digium G.711}{Max Concurrent} = 0
|
||||
faxstats{Digium G.711}{IO Fail} = 0
|
||||
faxstats{Digium G.711}{Success} = 0
|
||||
|
||||
pbx-75*CLI> fax show stats
|
||||
|
||||
FAX Statistics:
|
||||
---------------
|
||||
|
||||
Current Sessions : 0
|
||||
Transmit Attempts : 0
|
||||
Receive Attempts : 0
|
||||
Completed FAXes : 0
|
||||
Failed FAXes : 0
|
||||
|
||||
Digium G.711
|
||||
Licensed Channels : 1
|
||||
Max Concurrent : 0
|
||||
Success : 0
|
||||
Switched to T.38 : 0
|
||||
Canceled : 0
|
||||
No FAX : 0
|
||||
Partial : 0
|
||||
Negotiation Failed : 0
|
||||
Train Failure : 0
|
||||
Protocol Error : 0
|
||||
IO Partial : 0
|
||||
IO Fail : 0
|
||||
|
||||
|
||||
|
42
plugins/asterisk/asterisk_14_fax_ffa/fax_test
Executable file
42
plugins/asterisk/asterisk_14_fax_ffa/fax_test
Executable file
|
@ -0,0 +1,42 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
do './get_fax_stats.pl';
|
||||
|
||||
my $ret = undef;
|
||||
if ( ! eval "require Asterisk::AMI;" ) {
|
||||
$ret = "Asterisk::AMI not found";
|
||||
};
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk active fax channels\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel channels\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "channels.draw AREA\n";
|
||||
print "channels.label channels\n";
|
||||
exit 0;
|
||||
};
|
||||
|
||||
#my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
#my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
#my $username = $ENV{ 'username' };
|
||||
#my $secret = $ENV{ 'secret' };
|
||||
|
||||
our $username = 'manager';
|
||||
our $host = '127.0.0.1';
|
||||
our $port = '5038';
|
||||
our $secret = 'insecure';
|
||||
our $timeout = '5';
|
||||
|
||||
my %faxstats = get_fax_stats();
|
||||
|
||||
my $channels = $faxstats{'Digium G.711'}{'Licensed Channels'};
|
||||
print "channels.value $channels\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
35
plugins/asterisk/asterisk_14_fax_ffa/get_fax_stats.pl
Executable file
35
plugins/asterisk/asterisk_14_fax_ffa/get_fax_stats.pl
Executable file
|
@ -0,0 +1,35 @@
|
|||
|
||||
|
||||
|
||||
sub get_fax_stats {
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$amiparams{ timeout } });
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my @array = @$arrayref;
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section);
|
||||
foreach my $line ( @array ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
#$faxstats{ "$key" } = $value if ( $value ne $null );
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
return( %faxstats );
|
||||
|
||||
};
|
||||
|
132
plugins/asterisk/asterisk_16_fax_ffa/asterisk_fax_cancelled
Executable file
132
plugins/asterisk/asterisk_16_fax_ffa/asterisk_fax_cancelled
Executable file
|
@ -0,0 +1,132 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.6.* and Digiums Fax For Asterisk (FFA) modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Cancelled Faxes (T.38 and G.711)\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of Cancelled Faxes\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "t38_cancelled.draw AREA\n";
|
||||
print "t38_cancelled.label Cancelled T.38 Faxes\n";
|
||||
print "g711_cancelled.draw AREA\n";
|
||||
print "g711_cancelled.label Cancelled G.711 Faxes\n";
|
||||
exit ( 0 );
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
print "t38_cancelled.value $faxstats{'Digium T.38'}{'Canceled'}\n";
|
||||
print "g711_cancelled.value $faxstats{'Digium G.711'}{'Canceled'}\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
130
plugins/asterisk/asterisk_16_fax_ffa/asterisk_fax_channels
Executable file
130
plugins/asterisk/asterisk_16_fax_ffa/asterisk_fax_channels
Executable file
|
@ -0,0 +1,130 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.6.* and Digiums Fax For Asterisk (FFA) modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Licensed Channels\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel channels\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "channels.draw AREA\n";
|
||||
print "channels.label channels\n";
|
||||
exit 0;
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section);
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
my $channels = $faxstats{'T.38'}{'Licensed Channels'};
|
||||
print "channels.value $channels\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
129
plugins/asterisk/asterisk_16_fax_ffa/asterisk_fax_current_sessions
Executable file
129
plugins/asterisk/asterisk_16_fax_ffa/asterisk_fax_current_sessions
Executable file
|
@ -0,0 +1,129 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.6.* and Digiums Fax For Asterisk (FFA) modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Current Sessions\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Current Sessions\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "sessions.draw AREA\n";
|
||||
print "sessions.label Current Sessions\n";
|
||||
exit 0;
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
my $sessions = $faxstats{'FAX Statistics'}{'Current Sessions'};
|
||||
print "sessions.value $sessions\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
134
plugins/asterisk/asterisk_16_fax_ffa/asterisk_fax_failed_completed
Executable file
134
plugins/asterisk/asterisk_16_fax_ffa/asterisk_fax_failed_completed
Executable file
|
@ -0,0 +1,134 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.6.* and Digiums Fax For Asterisk (FFA) modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Failed and Completed Faxes\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Failed and Completed Faxes\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "failed.draw AREA\n";
|
||||
print "failed.label Failed faxes\n";
|
||||
print "completed.draw AREA\n";
|
||||
print "completed.label Completed faxes\n";
|
||||
exit 0;
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
my $failed = $faxstats{'FAX Statistics'}{'Failed FAXes'};
|
||||
my $completed = $faxstats{'FAX Statistics'}{'Completed FAXes'};
|
||||
print "failed.value $failed\n";
|
||||
print "completed.value $completed\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
132
plugins/asterisk/asterisk_16_fax_ffa/asterisk_fax_iofail
Executable file
132
plugins/asterisk/asterisk_16_fax_ffa/asterisk_fax_iofail
Executable file
|
@ -0,0 +1,132 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.6.* and Digiums Fax For Asterisk (FFA) modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - IO Failures (T.38 and G.711)\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of IO Failures\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "t38_iofail.draw AREA\n";
|
||||
print "t38_iofail.label T.38 IO Failures\n";
|
||||
print "g711_iofail.draw AREA\n";
|
||||
print "g711_iofail.label G.711 IO Failures\n";
|
||||
exit ( 0 );
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
print "t38_iofail.value $faxstats{'Digium T.38'}{'IO Fail'}\n";
|
||||
print "g711_iofail.value $faxstats{'Digium G.711'}{'IO Fail'}\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
132
plugins/asterisk/asterisk_16_fax_ffa/asterisk_fax_iopartial
Executable file
132
plugins/asterisk/asterisk_16_fax_ffa/asterisk_fax_iopartial
Executable file
|
@ -0,0 +1,132 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.6.* and Digiums Fax For Asterisk (FFA) modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - IO Partial (T.38 and G.711)\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of Number of IO Partials\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "t38_iopartial.draw AREA\n";
|
||||
print "t38_iopartial.label Partial T.38 Faxes\n";
|
||||
print "g711_iopartial.draw AREA\n";
|
||||
print "g711_iopartial.label Partial G.711 Faxes\n";
|
||||
exit ( 0 );
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
print "t38_iopartial.value $faxstats{'Digium T.38'}{'IO Partial'}\n";
|
||||
print "g711_iopartial.value $faxstats{'Digium G.711'}{'IO Partial'}\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
132
plugins/asterisk/asterisk_16_fax_ffa/asterisk_fax_licensed_channels
Executable file
132
plugins/asterisk/asterisk_16_fax_ffa/asterisk_fax_licensed_channels
Executable file
|
@ -0,0 +1,132 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.6.* and Digiums Fax For Asterisk (FFA) modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Licensed Channels (T.38 and G.711)\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of Licensed Channels\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "t38_channels.draw AREA\n";
|
||||
print "t38_channels.label T.38 Licensed Channels\n";
|
||||
print "g711_channels.draw AREA\n";
|
||||
print "g711_channels.label G.711 Licensed Channels\n";
|
||||
exit ( 0 );
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
print "t38_channels.value $faxstats{'Digium T.38'}{'Licensed Channels'}\n";
|
||||
print "g711_channels.value $faxstats{'Digium G.711'}{'Licensed Channels'}\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
132
plugins/asterisk/asterisk_16_fax_ffa/asterisk_fax_max_concurrent
Executable file
132
plugins/asterisk/asterisk_16_fax_ffa/asterisk_fax_max_concurrent
Executable file
|
@ -0,0 +1,132 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.6.* and Digiums Fax For Asterisk (FFA) modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Max Concurrent Sessions (T.38 and G.711)\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of Max Concurrent Sessions\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "t38_maxsessions.draw AREA\n";
|
||||
print "t38_maxsessions.label Max Concurrent T.38 Sessions\n";
|
||||
print "g711_maxsessions.draw AREA\n";
|
||||
print "g711_maxsessions.label Max Concurrent G.711 Sessions\n";
|
||||
exit ( 0 );
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
print "t38_maxsessions.value $faxstats{'Digium T.38'}{'Max Concurrent'}\n";
|
||||
print "g711_maxsessions.value $faxstats{'Digium G.711'}{'Max Concurrent'}\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
132
plugins/asterisk/asterisk_16_fax_ffa/asterisk_fax_negotiations_failed
Executable file
132
plugins/asterisk/asterisk_16_fax_ffa/asterisk_fax_negotiations_failed
Executable file
|
@ -0,0 +1,132 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.6.* and Digiums Fax For Asterisk (FFA) modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Negotiations Failed (T.38 and G.711)\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of Negotiations Failed\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "t38_failed.draw AREA\n";
|
||||
print "t38_failed.label T.38 Negotiations Failed\n";
|
||||
print "g711_failed.draw AREA\n";
|
||||
print "g711_failed.label G.711 Negotiations Failed\n";
|
||||
exit ( 0 );
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
print "t38_failed.value $faxstats{'Digium T.38'}{'Negotiation Failed'}\n";
|
||||
print "g711_failed.value $faxstats{'Digium G.711'}{'Negotiation Failed'}\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
132
plugins/asterisk/asterisk_16_fax_ffa/asterisk_fax_nofax
Executable file
132
plugins/asterisk/asterisk_16_fax_ffa/asterisk_fax_nofax
Executable file
|
@ -0,0 +1,132 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.6.* and Digiums Fax For Asterisk (FFA) modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - No Faxes (T.38 and G.711)\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of No Faxes\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "t38_nofax.draw AREA\n";
|
||||
print "t38_nofax.label No T.38 Faxes\n";
|
||||
print "g711_nofax.draw AREA\n";
|
||||
print "g711_nofax.label No G.711 Faxes\n";
|
||||
exit ( 0 );
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
print "t38_nofax.value $faxstats{'Digium T.38'}{'No FAX'}\n";
|
||||
print "g711_nofax.value $faxstats{'Digium G.711'}{'No FAX'}\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
132
plugins/asterisk/asterisk_16_fax_ffa/asterisk_fax_partial
Executable file
132
plugins/asterisk/asterisk_16_fax_ffa/asterisk_fax_partial
Executable file
|
@ -0,0 +1,132 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.6.* and Digiums Fax For Asterisk (FFA) modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Partial Faxes (T.38 and G.711)\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of Partial Faxes\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "t38_partial.draw AREA\n";
|
||||
print "t38_partial.label Partial T.38 Faxes\n";
|
||||
print "g711_partial.draw AREA\n";
|
||||
print "g711_partial.label Partial G.711 Faxes\n";
|
||||
exit ( 0 );
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
print "t38_partial.value $faxstats{'Digium T.38'}{'Partial'}\n";
|
||||
print "g711_partial.value $faxstats{'Digium G.711'}{'Partial'}\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
132
plugins/asterisk/asterisk_16_fax_ffa/asterisk_fax_protocol_error
Executable file
132
plugins/asterisk/asterisk_16_fax_ffa/asterisk_fax_protocol_error
Executable file
|
@ -0,0 +1,132 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.6.* and Digiums Fax For Asterisk (FFA) modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Protocol Errors (T.38 and G.711)\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of Protocol Errors\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "t38_proterror.draw AREA\n";
|
||||
print "t38_proterror.label T.38 Protocol Errors\n";
|
||||
print "g711_proterror.draw AREA\n";
|
||||
print "g711_proterror.label G.711 Protocol Errors\n";
|
||||
exit ( 0 );
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
print "t38_proterror.value $faxstats{'Digium T.38'}{'Protocol Error'}\n";
|
||||
print "g711_proterror.value $faxstats{'Digium G.711'}{'Protocol Error'}\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
132
plugins/asterisk/asterisk_16_fax_ffa/asterisk_fax_success
Executable file
132
plugins/asterisk/asterisk_16_fax_ffa/asterisk_fax_success
Executable file
|
@ -0,0 +1,132 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.6.* and Digiums Fax For Asterisk (FFA) modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Successful Faxes (T.38 and G.711)\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of Successful Faxes\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "t38_success.draw AREA\n";
|
||||
print "t38_success.label Successful T.38 Faxes\n";
|
||||
print "g711_success.draw AREA\n";
|
||||
print "g711_success.label Successful G.711 Faxes\n";
|
||||
exit ( 0 );
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
print "t38_success.value $faxstats{'Digium T.38'}{'Success'}\n";
|
||||
print "g711_success.value $faxstats{'Digium G.711'}{'Success'}\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
130
plugins/asterisk/asterisk_16_fax_ffa/asterisk_fax_switched2t38
Executable file
130
plugins/asterisk/asterisk_16_fax_ffa/asterisk_fax_switched2t38
Executable file
|
@ -0,0 +1,130 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.6.* and Digiums Fax For Asterisk (FFA) modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Switched to T.38\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of Switches to T.38\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "switched.draw AREA\n";
|
||||
print "switched.label Switched to T.38\n";
|
||||
exit 0;
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
my $switched = $faxstats{'Digium G.711'}{'Switched to T.38'};
|
||||
print "switched.value $switched\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
140
plugins/asterisk/asterisk_16_fax_ffa/asterisk_fax_train_failure
Executable file
140
plugins/asterisk/asterisk_16_fax_ffa/asterisk_fax_train_failure
Executable file
|
@ -0,0 +1,140 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.6.* and Digiums Fax For Asterisk (FFA) modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Train Failures (T.38 and G.711)\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of Train Failures\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "t38_failure.draw AREA\n";
|
||||
print "t38_failure.label T.38 Train Failures\n";
|
||||
print "g711_failure.draw AREA\n";
|
||||
print "g711_failure.label G.711 Train Failures\n";
|
||||
exit ( 0 );
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
foreach my $section ( keys %faxstats ) {
|
||||
for my $key ( keys %{ $faxstats{ $section } } ) {
|
||||
print "faxstats{$section}{$key} = $faxstats{$section}{$key}\n";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
|
||||
print "t38_failure.value $faxstats{'Digium T.38'}{'Train Failure'}\n";
|
||||
print "g711_failure.value $faxstats{'Digium G.711'}{'Train Failure'}\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
134
plugins/asterisk/asterisk_16_fax_ffa/asterisk_fax_txrx_attempts
Executable file
134
plugins/asterisk/asterisk_16_fax_ffa/asterisk_fax_txrx_attempts
Executable file
|
@ -0,0 +1,134 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.6.* and Digiums Fax For Asterisk (FFA) modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Tx/Rx Attempts\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of Tx and Rx Attempts\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "transmit.draw AREA\n";
|
||||
print "transmit.label Tx Attempts\n";
|
||||
print "receive.draw AREA\n";
|
||||
print "receive.label Rx Attempts\n";
|
||||
exit 0;
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
my $txstats = $faxstats{'FAX Statistics'}{'Transmit Attempts'};
|
||||
my $rxstats = $faxstats{'FAX Statistics'}{'Receive Attempts'};
|
||||
print "transmit.value $txstats\n";
|
||||
print "receive.value $rxstats\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
132
plugins/asterisk/asterisk_18_fax_spandsp/asterisk_fax_call_dropped
Executable file
132
plugins/asterisk/asterisk_18_fax_spandsp/asterisk_fax_call_dropped
Executable file
|
@ -0,0 +1,132 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.8.* and the SpanDSP fax modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Dropped Calls (T.38 and G.711)\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of Dropped Calls\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "t38_dropped.draw AREA\n";
|
||||
print "t38_dropped.label T.38 Dropped Calls\n";
|
||||
print "g711_dropped.draw AREA\n";
|
||||
print "g711_dropped.label G.711 Dropped Calls\n";
|
||||
exit ( 0 );
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
print "t38_dropped.value $faxstats{'Spandsp T.38'}{'Call Dropped'}\n";
|
||||
print "g711_dropped.value $faxstats{'Spandsp G.711'}{'Call Dropped'}\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
129
plugins/asterisk/asterisk_18_fax_spandsp/asterisk_fax_current_sessions
Executable file
129
plugins/asterisk/asterisk_18_fax_spandsp/asterisk_fax_current_sessions
Executable file
|
@ -0,0 +1,129 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.8.* and the SpanDSP fax modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Current Sessions\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Current Sessions\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "sessions.draw AREA\n";
|
||||
print "sessions.label Current Sessions\n";
|
||||
exit 0;
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
my $sessions = $faxstats{'FAX Statistics'}{'Current Sessions'};
|
||||
print "sessions.value $sessions\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
134
plugins/asterisk/asterisk_18_fax_spandsp/asterisk_fax_failed_completed
Executable file
134
plugins/asterisk/asterisk_18_fax_spandsp/asterisk_fax_failed_completed
Executable file
|
@ -0,0 +1,134 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.8.* and the SpanDSP fax modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Failed and Completed Faxes\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Failed and Completed Faxes\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "failed.draw AREA\n";
|
||||
print "failed.label Failed faxes\n";
|
||||
print "completed.draw AREA\n";
|
||||
print "completed.label Completed faxes\n";
|
||||
exit 0;
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
my $failed = $faxstats{'FAX Statistics'}{'Failed FAXes'};
|
||||
my $completed = $faxstats{'FAX Statistics'}{'Completed FAXes'};
|
||||
print "failed.value $failed\n";
|
||||
print "completed.value $completed\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
132
plugins/asterisk/asterisk_18_fax_spandsp/asterisk_fax_file_error
Executable file
132
plugins/asterisk/asterisk_18_fax_spandsp/asterisk_fax_file_error
Executable file
|
@ -0,0 +1,132 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.8.* and the SpanDSP fax modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - File Errors (T.38 and G.711)\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of File Errors\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "t38_file_error.draw AREA\n";
|
||||
print "t38_file_error.label T.38 File Errors\n";
|
||||
print "g711_file_error.draw AREA\n";
|
||||
print "g711_file_error.label G.711 File Errors\n";
|
||||
exit ( 0 );
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
print "t38_file_error.value $faxstats{'Spandsp T.38'}{'File Error'}\n";
|
||||
print "g711_file_error.value $faxstats{'Spandsp G.711'}{'File Error'}\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
132
plugins/asterisk/asterisk_18_fax_spandsp/asterisk_fax_memory_error
Executable file
132
plugins/asterisk/asterisk_18_fax_spandsp/asterisk_fax_memory_error
Executable file
|
@ -0,0 +1,132 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.8.* and the SpanDSP fax modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Memory Errors (T.38 and G.711)\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of Memory Errors\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "t38_errors.draw AREA\n";
|
||||
print "t38_errors.label T.38 Memory Errors\n";
|
||||
print "g711_errors.draw AREA\n";
|
||||
print "g711_errors.label G.711 Memory Errors\n";
|
||||
exit ( 0 );
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
print "t38_errors.value $faxstats{'Spandsp T.38'}{'Memory Error'}\n";
|
||||
print "g711_errors.value $faxstats{'Spandsp G.711'}{'Memory Error'}\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
133
plugins/asterisk/asterisk_18_fax_spandsp/asterisk_fax_negotiations_failed
Executable file
133
plugins/asterisk/asterisk_18_fax_spandsp/asterisk_fax_negotiations_failed
Executable file
|
@ -0,0 +1,133 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.8.* and the SpanDSP fax modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Negotiations Failed (T.38 and G.711)\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of Negotiations Failed\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "t38_failed.draw AREA\n";
|
||||
print "t38_failed.label T.38 Negotiations Failed\n";
|
||||
print "g711_failed.draw AREA\n";
|
||||
print "g711_failed.label G.711 Negotiations Failed\n";
|
||||
exit ( 0 );
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
# Some idiot who wrote the SpanDSP code spelled "Negotiation" wrong.
|
||||
print "t38_failed.value $faxstats{'Spandsp T.38'}{'Negotation Failed'}\n";
|
||||
print "g711_failed.value $faxstats{'Spandsp G.711'}{'Negotation Failed'}\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
132
plugins/asterisk/asterisk_18_fax_spandsp/asterisk_fax_nofax
Executable file
132
plugins/asterisk/asterisk_18_fax_spandsp/asterisk_fax_nofax
Executable file
|
@ -0,0 +1,132 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.8.* and the SpanDSP fax modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - No Faxes (T.38 and G.711)\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of No Faxes\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "t38_nofax.draw AREA\n";
|
||||
print "t38_nofax.label No T.38 Faxes\n";
|
||||
print "g711_nofax.draw AREA\n";
|
||||
print "g711_nofax.label No G.711 Faxes\n";
|
||||
exit ( 0 );
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
print "t38_nofax.value $faxstats{'Spandsp T.38'}{'No FAX'}\n";
|
||||
print "g711_nofax.value $faxstats{'Spandsp G.711'}{'No FAX'}\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
132
plugins/asterisk/asterisk_18_fax_spandsp/asterisk_fax_protocol_error
Executable file
132
plugins/asterisk/asterisk_18_fax_spandsp/asterisk_fax_protocol_error
Executable file
|
@ -0,0 +1,132 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.8.* and the SpanDSP fax modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Protocol Errors (T.38 and G.711)\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of Protocol Errors\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "t38_proterror.draw AREA\n";
|
||||
print "t38_proterror.label T.38 Protocol Errors\n";
|
||||
print "g711_proterror.draw AREA\n";
|
||||
print "g711_proterror.label G.711 Protocol Errors\n";
|
||||
exit ( 0 );
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
print "t38_proterror.value $faxstats{'Spandsp T.38'}{'Protocol Error'}\n";
|
||||
print "g711_proterror.value $faxstats{'Spandsp G.711'}{'Protocol Error'}\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
132
plugins/asterisk/asterisk_18_fax_spandsp/asterisk_fax_retries_exceeded
Executable file
132
plugins/asterisk/asterisk_18_fax_spandsp/asterisk_fax_retries_exceeded
Executable file
|
@ -0,0 +1,132 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.8.* and the SpanDSP fax modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Retries Exceeded (T.38 and G.711)\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Retries Exceeded\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "t38_retries.draw AREA\n";
|
||||
print "t38_retries.label T.38 Retries Exceeded\n";
|
||||
print "g711_retries.draw AREA\n";
|
||||
print "g711_retries.label G.711 Retries Exceeded\n";
|
||||
exit ( 0 );
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
print "t38_retries.value $faxstats{'Spandsp T.38'}{'Retries Exceeded'}\n";
|
||||
print "g711_retries.value $faxstats{'Spandsp G.711'}{'Retries Exceeded'}\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
138
plugins/asterisk/asterisk_18_fax_spandsp/asterisk_fax_rxtx_protocol_error
Executable file
138
plugins/asterisk/asterisk_18_fax_spandsp/asterisk_fax_rxtx_protocol_error
Executable file
|
@ -0,0 +1,138 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.8.* and the SpanDSP fax modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Rx and Tx Protocol Errors (T.38 and G.711)\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of Protocol Errors\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "t38_rx_proterror.draw AREA\n";
|
||||
print "t38_rx_proterror.label T.38 Rx Protocol Errors\n";
|
||||
print "t38_tx_proterror.draw AREA\n";
|
||||
print "t38_tx_proterror.label T.38 Tx Protocol Errors\n";
|
||||
print "g711_rx_proterror.draw AREA\n";
|
||||
print "g711_rx_proterror.label G.711 Rx Protocol Errors\n";
|
||||
print "g711_tx_proterror.draw AREA\n";
|
||||
print "g711_tx_proterror.label G.711 Tx Protocol Errors\n";
|
||||
exit ( 0 );
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
print "t38_rx_proterror.value $faxstats{'Spandsp T.38'}{'RX Protocol Error'}\n";
|
||||
print "t38_tx_proterror.value $faxstats{'Spandsp T.38'}{'TX Protocol Error'}\n";
|
||||
print "g711_rx_proterror.value $faxstats{'Spandsp G.711'}{'RX Protocol Error'}\n";
|
||||
print "g711_tx_proterror.value $faxstats{'Spandsp G.711'}{'TX Protocol Error'}\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
132
plugins/asterisk/asterisk_18_fax_spandsp/asterisk_fax_success
Executable file
132
plugins/asterisk/asterisk_18_fax_spandsp/asterisk_fax_success
Executable file
|
@ -0,0 +1,132 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.8.* and the SpanDSP fax modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Successful Faxes (T.38 and G.711)\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of Successful Faxes\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "t38_success.draw AREA\n";
|
||||
print "t38_success.label Successful T.38 Faxes\n";
|
||||
print "g711_success.draw AREA\n";
|
||||
print "g711_success.label Successful G.711 Faxes\n";
|
||||
exit ( 0 );
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
print "t38_success.value $faxstats{'Spandsp T.38'}{'Success'}\n";
|
||||
print "g711_success.value $faxstats{'Spandsp G.711'}{'Success'}\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
130
plugins/asterisk/asterisk_18_fax_spandsp/asterisk_fax_switched2t38
Executable file
130
plugins/asterisk/asterisk_18_fax_spandsp/asterisk_fax_switched2t38
Executable file
|
@ -0,0 +1,130 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.8.* and the SpanDSP fax modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Switched to T.38\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of Switches to T.38\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "switched.draw AREA\n";
|
||||
print "switched.label Switched to T.38\n";
|
||||
exit 0;
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
my $switched = $faxstats{'Spandsp G.711'}{'Switched to T.38'};
|
||||
print "switched.value $switched\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
132
plugins/asterisk/asterisk_18_fax_spandsp/asterisk_fax_train_failure
Executable file
132
plugins/asterisk/asterisk_18_fax_spandsp/asterisk_fax_train_failure
Executable file
|
@ -0,0 +1,132 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.8.* and the SpanDSP fax modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Train Failures (T.38 and G.711)\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of Train Failures\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "t38_failure.draw AREA\n";
|
||||
print "t38_failure.label T.38 Train Failures\n";
|
||||
print "g711_failure.draw AREA\n";
|
||||
print "g711_failure.label G.711 Train Failures\n";
|
||||
exit ( 0 );
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
print "t38_failure.value $faxstats{'Spandsp T.38'}{'Train Failure'}\n";
|
||||
print "g711_failure.value $faxstats{'Spandsp G.711'}{'Train Failure'}\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
134
plugins/asterisk/asterisk_18_fax_spandsp/asterisk_fax_txrx_attempts
Executable file
134
plugins/asterisk/asterisk_18_fax_spandsp/asterisk_fax_txrx_attempts
Executable file
|
@ -0,0 +1,134 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.8.* and the SpanDSP fax modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Tx/Rx Attempts\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of Tx and Rx Attempts\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "transmit.draw AREA\n";
|
||||
print "transmit.label Tx Attempts\n";
|
||||
print "receive.draw AREA\n";
|
||||
print "receive.label Rx Attempts\n";
|
||||
exit 0;
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
my $txstats = $faxstats{'FAX Statistics'}{'Transmit Attempts'};
|
||||
my $rxstats = $faxstats{'FAX Statistics'}{'Receive Attempts'};
|
||||
print "transmit.value $txstats\n";
|
||||
print "receive.value $rxstats\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
132
plugins/asterisk/asterisk_18_fax_spandsp/asterisk_fax_unknown_error
Executable file
132
plugins/asterisk/asterisk_18_fax_spandsp/asterisk_fax_unknown_error
Executable file
|
@ -0,0 +1,132 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
=head1 NAME
|
||||
|
||||
asterisk_fax_* - Plugin to monitor Asterisk fax parameters.
|
||||
|
||||
=head1 SUPPORTED VERSION
|
||||
|
||||
This plugin supports Asterisk 1.8.* and the SpanDSP fax modules.
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
The following configuration parameters are used by this plugin
|
||||
|
||||
[asterisk*]
|
||||
env.host - hostname to connect to. Defaults to localhost.
|
||||
env.port - port number to connect to. Defaults to 5038.
|
||||
env.username - username used for authentication. No default value.
|
||||
env.secret - secret used for authentication. No default value.
|
||||
env.timeout - AMI timeout value in seconds. Defaults to 5.
|
||||
|
||||
The "username" and "secret" parameters are mandatory, and have no
|
||||
defaults.
|
||||
|
||||
=head1 DEFAULT CONFIGURATION
|
||||
|
||||
[asterisk*]
|
||||
env.username manager
|
||||
env.secret insecure
|
||||
env.host 127.0.0.1
|
||||
env.port 5038
|
||||
env.timeout 5
|
||||
|
||||
=head1 REQUIRED PERL MODULES
|
||||
|
||||
This plugin requires the Asterisk::AMI module and its dependencies.
|
||||
Its dependencies can be found here:
|
||||
http://deps.cpantesters.org/?module=Asterisk::AMI;perl=latest
|
||||
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Copyright (C) 2011 Frank DiGennaro <fsd@voipbusiness.us>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
Gnu GPLv2
|
||||
|
||||
=begin comment
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 dated June, 1991.
|
||||
|
||||
This program is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
|
||||
USA.
|
||||
|
||||
If you improve this script please send your version to my email
|
||||
address with the copyright notice upgrade with your name.
|
||||
|
||||
=end comment
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=contrib
|
||||
|
||||
=cut
|
||||
|
||||
use Carp;
|
||||
use strict;
|
||||
use Asterisk::AMI;
|
||||
|
||||
eval "use Asterisk::AMI";
|
||||
print "Asterisk::AMI not found. Exiting...\n" if $@;
|
||||
exit( 0 ) if $@;
|
||||
|
||||
if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) {
|
||||
print "graph_title Asterisk Fax - Unknown Errors (T.38 and G.711)\n";
|
||||
print "graph_args --base 1000 -l 0\n";
|
||||
print "graph_vlabel Number of Unknown Errors\n";
|
||||
print "graph_category asterisk\n";
|
||||
print "t38_errors.draw AREA\n";
|
||||
print "t38_errors.label T.38 Unknown Errors\n";
|
||||
print "g711_errors.draw AREA\n";
|
||||
print "g711_errors.label G.711 Unknown Errors\n";
|
||||
exit ( 0 );
|
||||
};
|
||||
|
||||
my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1";
|
||||
my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038";
|
||||
my $timeout = exists $ENV{ 'timeout' } ? $ENV{ 'timeout' } : "5";
|
||||
my $username = $ENV{ 'username' };
|
||||
my $secret = $ENV{ 'secret' };
|
||||
|
||||
my $astman = Asterisk::AMI->new(PeerAddr => "$host",
|
||||
PeerPort => "$port",
|
||||
Username => "$username",
|
||||
Secret => "$secret"
|
||||
);
|
||||
|
||||
croak "Unable to connect to asterisk" unless ( $astman );
|
||||
my $actionid = $astman->send_action({ Action => 'Command',
|
||||
Command => 'fax show stats',
|
||||
$timeout});
|
||||
my $response = $astman->get_response( $actionid );
|
||||
my $arrayref = $response->{CMD};
|
||||
my $null = qq{};
|
||||
my ( %faxstats, $section );
|
||||
foreach my $line ( @$arrayref ) {
|
||||
next if ( ( ! $line ) || ( $line =~ /-----------/ ) );
|
||||
my ( $key, $value ) = split( ':', $line );
|
||||
$section = $key if ( $value eq $null );
|
||||
$key =~ s/\s+$//g;
|
||||
$value =~ s/^\s+//g;
|
||||
$faxstats{ "$section" }{ "$key" } = $value if ( $value ne $null );
|
||||
};
|
||||
$astman->disconnect;
|
||||
|
||||
print "t38_errors.value $faxstats{'Spandsp T.38'}{'Unknown Error'}\n";
|
||||
print "g711_errors.value $faxstats{'Spandsp G.711'}{'Unknown Error'}\n";
|
||||
|
||||
exit( 0 );
|
||||
|
||||
|
||||
|
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue