1 | изначальная версия редактировать | |
wget -O /tmp/siptraffic/1.xls http://www.siptraffic.com/public/download/ratelist_gold.xls -c -o /tmp/get.res
/var/www/parse.pl
файл /var/www/parse.pl выглядит както так(можно написать свой, минимальный навык програмирования приветсвуется)
Zimbabwe - Mobile Econet [[26377]]: 0.3047 Zimbabwe - Mobile Econet [[26378]]: 0.3047 Zimbabwe - Mobile Netone [[26371]]: 0.1252 Zimbabwe - Mobile Others [[26373]]: 0.2705 Viet Nam - Fixed [[84]]: 0.0498 $pathtooutput_file = "/tmp/siptraffic/1.csv";
#!/usr/bin/perl
#######################################################################
##
#######################################################################
## Define Variables
#######################################################################
## Path Preferences
$path_to_excel_file = "/tmp/siptraffic/1.xls";
## Begin Program
#######################################################################
use Spreadsheet::ParseExcel;
do_main();
## Subroutines
#######################################################################
sub do_main
{
my ($oBook, $iR, $iC, $oWkS, $oWkC);
$oBook = Spreadsheet::ParseExcel::Workbook->Parse($path_to_excel_file);
print "file parsed\n";
open(FILE_OUT, "> $path_to_output_file");
my $oWkS =@{$oBook->{Worksheet}}[1];
my $first_cell=$oWkS->{Cells}[0][0]->Value ;
$first_cell =~ s/^\s*//; $first_cell =~ s/\s*$//;
if( $first_cell eq 'Afghanistan - Fixed'){
for (my $iR = $oWkS->{MinRow}; defined $oWkS->{MaxRow} && $iR <= $oWkS->{MaxRow} ; $iR++)
{
if($oWkS->{Cells}[$iR][2]->Value <0.5){
print $oWkS->{Cells}[$iR][1]->Value ;
}
#print $oWkS->{Cells}[$iR][0]->Value." [[" . $oWkS->{Cells}[$iR][1]->Value . "]]: " . $oWkS->{Cells}[$iR][2]->Value . "\n";
}
}else{
print "format changed\n;";
print $oWkS->{Cells}[0][0]->Value ;
print "-";
print $oWkS->{Cells}[0][1]->Value ;
}
close(FILE_OUT);
}
соответвенно получаете список направлений которые НЕ являются платными или сильно дорогими.
дальше просто ложите их в базу и проверяете перед звонком.
можно повторить еще для пары-тройки агрегаторов.
2 | No.2 Revision редактировать |
wget -O /tmp/siptraffic/1.xls http://www.siptraffic.com/public/download/ratelist_gold.xls -c -o /tmp/get.res
/var/www/parse.pl
файл /var/www/parse.pl выглядит както так(можно написать свой, минимальный навык програмирования приветсвуется)
Zimbabwe - Mobile Econet [[26377]]: 0.3047 Zimbabwe - Mobile Econet [[26378]]: 0.3047 Zimbabwe - Mobile Netone [[26371]]: 0.1252 Zimbabwe - Mobile Others [[26373]]: 0.2705 Viet Nam - Fixed [[84]]: 0.0498 $pathtooutput_file = "/tmp/siptraffic/1.csv";
#!/usr/bin/perl
#######################################################################
##
#######################################################################
## Define Variables
#######################################################################
## Path Preferences
$path_to_excel_file = "/tmp/siptraffic/1.xls";
$max_cost = 0.5;
## Begin Program
#######################################################################
use Spreadsheet::ParseExcel;
do_main();
## Subroutines
#######################################################################
sub do_main
{
my ($oBook, $iR, $iC, $oWkS, $oWkC);
$oBook = Spreadsheet::ParseExcel::Workbook->Parse($path_to_excel_file);
print "file parsed\n";
open(FILE_OUT, "> $path_to_output_file");
my $oWkS =@{$oBook->{Worksheet}}[1];
my $first_cell=$oWkS->{Cells}[0][0]->Value ;
$first_cell =~ s/^\s*//; $first_cell =~ s/\s*$//;
if( $first_cell eq 'Afghanistan - Fixed'){
for (my $iR = $oWkS->{MinRow}; defined $oWkS->{MaxRow} && $iR <= $oWkS->{MaxRow} ; $iR++)
{
if($oWkS->{Cells}[$iR][2]->Value <0.5){
<$max_cost){
print $oWkS->{Cells}[$iR][1]->Value ;
}
#print $oWkS->{Cells}[$iR][0]->Value." [[" . $oWkS->{Cells}[$iR][1]->Value . "]]: " . $oWkS->{Cells}[$iR][2]->Value . "\n";
}
}else{
print "format changed\n;";
print $oWkS->{Cells}[0][0]->Value ;
print "-";
print $oWkS->{Cells}[0][1]->Value ;
}
close(FILE_OUT);
}
соответвенно получаете список направлений которые НЕ являются платными или сильно дорогими.
дальше просто ложите их в базу и проверяете перед звонком.
можно повторить еще для пары-тройки агрегаторов.
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.