--- /dev/null
+package APKPM::VOICE;
+
+use base qw(Gearman::Driver::Worker);
+use Moose;
+use Time::HiRes;
+use Data::Dump qw(dump);
+
+with 'APKPM::Config';
+with 'APKPM::Gearman::Client';
+with 'APKPM::Gearman';
+
+use lib '/opt/managment_tools/lib';
+use H1::VOICE;
+
+sub prefix { 'VOICE_' }
+
+sub info : Job : MinProcesses(1) : MaxProcesses(5) : Encode(e_json) {
+ my ( $self, $job, $workload ) = @_;
+ warn "# workload = ", dump $workload;
+
+ return { error => "invalid workload", workload => $workload } if $workload !~ m/^385/;
+
+ my $broj = $workload;
+
+ my $voice=H1::VOICE->new($self->config('srukey'),$self->config('saukey'),$self->config('sshid'));
+
+ my $sau = $self->config('sau');
+
+ $voice->connectSRU( $sau->[0] );
+ my %sru = $voice->searchSRU($broj);
+ warn "# SRU ",dump( %sru );
+
+ $voice->connectSAU( $sau->[ $sru{serverid} ] );
+ my %sau = $voice->searchSAU($sru{alias});
+
+ return { broj => $workload, sru => \%sru, sau => \%sau };
+}
+
+1;
--- /dev/null
+#!/usr/bin/perl
+use strict;
+use warnings;
+
+use Test::More tests => 3;
+use Data::Dump qw(dump);
+
+use lib 'lib';
+
+use_ok 'APKPM::VOICE';
+
+ok my $o = APKPM::VOICE->new, 'new';
+
+ok my $r = $o->info( 'job', '38547431277' ), 'info';
+diag dump($r);