freenetis-github/application/vendors/billing/lbilling/perl/lbilling-simulate_call.pl @ 8baed187
8baed187 | Michal Kliment | #!/usr/bin/perl
|
|
#use strict;
|
|||
use DBI;
|
|||
use Getopt::Std;
|
|||
use Data::Dumper;
|
|||
use warnings;
|
|||
if ($#ARGV != 4) {
|
|||
print "Wrong number of parameters", "\n";
|
|||
exit 0;
|
|||
}
|
|||
my $call = {"callee" => $ARGV[2], "caller" => $ARGV[3], "length" => $ARGV[4]};
|
|||
use SOAP::Lite +autodispatch =>
|
|||
uri => "http://sip.nfx.cz/lBilling",
|
|||
proxy => 'https://'.$ARGV[0].':'.$ARGV[1].'@sip.nfx.cz/cgi-bin/admin/lbilling/soap.pl';
|
|||
my $lbilling = lBilling->new();
|
|||
unless ( $lbilling ) {
|
|||
print "Could not create SOAP instance", "\n";
|
|||
exit 0;
|
|||
}
|
|||
my $result;
|
|||
my $i;
|
|||
if ( $result = $lbilling->simulate_call($call) ) {
|
|||
print $result->{"length"}, ";";
|
|||
print $result->{"callee"}, ";";
|
|||
print $result->{"caller"}, ";";
|
|||
print $result->{"callid"}, ";";
|
|||
print $result->{"descr"}, ";","\n";
|
|||
unless ( $result->{"calls"} ) {
|
|||
print "0", "\n";
|
|||
exit 1;
|
|||
}
|
|||
my $count = @{$result->{"calls"}};
|
|||
print $count, "\n";
|
|||
for ($i=0; $i<$count; $i++)
|
|||
{
|
|||
print $result->{"calls"}[$i]->{"provider"}, ";";
|
|||
print $result->{"calls"}[$i]->{"rate_vat"}, ";";
|
|||
print $result->{"calls"}[$i]->{"subscriber"}, ";";
|
|||
print $result->{"calls"}[$i]->{"account"}, ";";
|
|||
print $result->{"calls"}[$i]->{"area"}, ";";
|
|||
print $result->{"calls"}[$i]->{"callee"}, ";";
|
|||
print $result->{"calls"}[$i]->{"status"}, ";";
|
|||
print $result->{"calls"}[$i]->{"emergency"}, ";";
|
|||
print $result->{"calls"}[$i]->{"rate_sum"}, ";";
|
|||
print $result->{"calls"}[$i]->{"currency"}, ";";
|
|||
print $result->{"calls"}[$i]->{"end_date"}, ";";
|
|||
print $result->{"calls"}[$i]->{"callcon"}, ";";
|
|||
print $result->{"calls"}[$i]->{"caller"}, ";";
|
|||
print $result->{"calls"}[$i]->{"type"}, ";";
|
|||
print $result->{"calls"}[$i]->{"start_date"}, ";";
|
|||
print $result->{"calls"}[$i]->{"result"}, "\n";
|
|||
}
|
|||
exit 1;
|
|||
} else {
|
|||
my $error = $lbilling->get_error();
|
|||
my $errcount = @{$lbilling->get_error()};
|
|||
for ($i=0; $i<$errcount; $i++)
|
|||
{
|
|||
print $lbilling->get_error()->[$i], "\n";
|
|||
}
|
|||
exit 0;
|
|||
}
|