Bayonne-Server
view release on metacpan or search on metacpan
lib/Bayonne/Server.pm view on Meta::CPAN
my $self = {
hostid => undef,
userid => "server",
secret => undef,
@_,
};
$self->{_session} = LWP::UserAgent->new(env_proxy => 1, timeout => 30);
return bless $self, $class;
};
sub xmlreply($$) {
my ($self, $query) = @_;
my $host = $self->{hostid};
my $user = $self->{userid};
my $secret = $self->{secret};
my $session = $self->{_session};
if(index($host, ":") < 1) {
$host .= ":8055";};
my $reply = undef;
lib/Bayonne/Server.pm view on Meta::CPAN
if($secret) {
$request->authorization_basic($user, $secret);};
my $response = $session->request($request);
my $parser = XML::Simple->new();
if($response->is_success()) {
$reply = $parser->XMLin($response->{_content});};
return $reply;
};
sub reload($) {
my($self) = @_;
my $reply = $self->xmlreply("reload.xml");
if($reply) {
return $reply->{results}->{result}->{value};};
return "failure";
}
sub uptime($) {
my($self) = @_;
my $reply = $self->xmlreply("uptime.xml");
if($reply) {
return $reply->{results}->{result}->{value};};
return undef;
}
sub status($) {
my($self) = @_;
my $reply = $self->xmlreply("status.xml");
if($reply) {
return $reply->{results}->{result}->{value};};
return undef;
}
sub traffic($) {
my($self) = @_;
my $reply = $self->xmlreply("traffic.xml");
my $result = undef;
if($reply) {
$result->{timestamp} =
$reply->{results}->{result}->{timestamp}->{value};
$result->{active} =
$reply->{results}->{result}->{activeCalls}->{value};
$result->{completed}->{incoming} =
lib/Bayonne/Server.pm view on Meta::CPAN
$result->{completed}->{outgoing} =
$reply->{results}->{result}->{outgoingComplete}->{value};
$result->{attempted}->{incoming} =
$reply->{results}->{result}->{incomingAttempts}->{value};
$result->{attempted}->{outgoing} =
$reply->{results}->{result}->{outgoingAttempts}->{value};
}
return $result;
}
sub stop($$) {
my($self,$sid) = @_;
my $result = "failure";
$sid = uri_escape($sid);
my $reply = $self->xmlreply("stop.xml?session=$sid");
if($reply) {
$result = $reply->{results}->{result}->{value};};
if($result) {
return $result;};
return "invalid";
}
sub session($$) {
my($self,$sid) = @_;
my $result = "failure";
$sid = uri_escape($sid);
my $reply = $self->xmlreply("status.xml?session=$sid");
if($reply) {
$result = $reply->{results}->{result}->{value};};
if($result eq "success") {
return "active";};
if($result) {
return $result;};
return "invalid";
}
sub start($$$$$) {
my($self, $target, $script, $caller, $display) = @_;
my $query = "start.xml";
if(length($caller) < 1) {
$caller = "unknown";};
if(length($display) < 1) {
$display = $caller;};
$query .= "?target=" . uri_escape($target);
( run in 0.228 second using v1.01-cache-2.11-cpan-a5abf4f5562 )