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 )