#!/usr/bin/perl require '/var/ipfire/general-functions.pl'; require "${General::swroot}/lang.pl"; require "${General::swroot}/header.pl"; &Header::showhttpheaders(); #use warnings; #use CGI::Carp 'fatalsToBrowser'; my %asterisksettings; &Header::getcgihash(\%asterisksettings); &Header::openpage('asterisk', 1, ''); &Header::openbigbox('100%', 'LEFT'); if ($asterisksettings{'ACTION'} eq 'Start') { system("/etc/init.d/asterisk start >/dev/null 2>&1"); sleep 5; } if ($asterisksettings{'ACTION'} eq $Lang::tr{'stop'}) { system("/etc/init.d/asterisk stop >/dev/null 2>&1"); sleep 5; } if ($asterisksettings{'ACTION'} eq $Lang::tr{'reboot'}) { system("/etc/init.d/asterisk restart >/dev/null 2>&1"); sleep 5; } if ($asterisksettings{'ACTION'} eq "$Lang::tr{'reload'} EXT") { system("/etc/init.d/asterisk remod ext >/dev/null 2>&1"); } if ($asterisksettings{'ACTION'} eq "$Lang::tr{'reload'} SIP") { system("/etc/init.d/asterisk remod sip >/dev/null 2>&1"); } if ($asterisksettings{'ACTION'} eq "$Lang::tr{'reload'} IAX") { system("/etc/init.d/asterisk remod iax >/dev/null 2>&1"); } my $pid = ''; my $testcmd = ''; my $exename; my @memory; if (open(FILE, "/var/run/asterisk.pid")){ $pid = ; chomp $pid; close FILE; if (open(FILE, "/proc/${pid}/status")){ while (){ if (/^Name:\W+(.*)/) {$testcmd = $1;} } close FILE; } } if ($testcmd !~ /asterisk/) { $checked{'ENABLE_AST'}{'status_s'}=" $Lang::tr{'not running'}"; $checked{'ENABLE_AST'}{'status_b'}=""; } else { $checked{'ENABLE_AST'}{'status_s'}=" $Lang::tr{'running'}"; $checked{'ENABLE_AST'}{'status_b'}=""; } if ($errormessage) { &Header::openbox('100%', 'LEFT', $tr{'error messages'}); print "$errormessage \n"; &Header::closebox(); } if ($message) { &Header::openbox('100%', 'LEFT', 'Message'); print "$message \n"; &Header::closebox(); } print "
\n"; &Header::openbox('100%', 'LEFT', 'Status:'); print <
Asterisk $checked{'ENABLE_AST'}{'status_s'} $checked{'ENABLE_AST'}{'status_b'}
Dialplan
SIP
IAX
END ; &Header::closebox(); &Header::closebigbox(); &Header::closepage();