forked from Mirrors/freeswitch
40 lines
903 B
Perl
40 lines
903 B
Perl
#!/usr/bin/perl
|
|
|
|
use IPC::Run qw( run );
|
|
use ESL;
|
|
|
|
if(!$ARGV[0]) {
|
|
print "$0 [licensecode]\n";
|
|
exit 0;
|
|
}
|
|
|
|
my $code = $ARGV[0];
|
|
|
|
chdir("/data/tmp");
|
|
|
|
my $UNZIP;
|
|
$UNZIP = "/usr/bin/unzip" if !(-x $UNZIP);
|
|
$UNZIP = "/usr/local/bin/unzip" if !(-x $UNZIP);
|
|
|
|
my $in = "$code\n\nY\n";
|
|
my $err;
|
|
my $out;
|
|
|
|
my $activator = run ( ['/usr/bin/validator'],
|
|
'<pty<', \$in, '>pty>', \$output );
|
|
|
|
if($output =~ m/Success/) {
|
|
if(-f "licences.zip") {
|
|
run( [ $UNZIP, '-o', "-d", "/etc/freeswitch", 'licences.zip'], \$in, \$out, \$err );
|
|
run( [ '/usr/bin/pkill', '-HUP', 'freeswitch_licence_server'], \$in, \$out, \$err );
|
|
my $c = new ESL::ESLconnection("localhost", "8021", "ClueCon");
|
|
my $e = $c->sendRecv('api g729_count');
|
|
my $count = $e->getBody();
|
|
print "Success, License count: $count\n";
|
|
exit 0;
|
|
}
|
|
} else {
|
|
print "Failed to activate.";
|
|
exit 1;
|
|
}
|