Differenze

Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.

Link a questa pagina di confronto

Entrambe le parti precedenti la revisioneRevisione precedente
Prossima revisione
Revisione precedente
registrazione_chiamate [2009/02/03 11:52] marcoregistrazione_chiamate [2014/07/03 14:57] (versione attuale) – modifica esterna 127.0.0.1
Linea 69: Linea 69:
  
 ==== Script per telefoni Cisco ==== ==== Script per telefoni Cisco ====
-Queste sono le righe da configurare+Queste sono le righe da configurare in PhoneService.pl
  
    ####### Costanti Database     ####### Costanti Database 
Linea 77: Linea 77:
    my $password = "123456";    my $password = "123456";
    ###################    ###################
 +
 +Una volta configurato aggiungente il file PhoneService.pl nella cartella apache/htdocs di indigoPerl
 +
 +Configurate il servizio sul CallManager e aggiungetelo ai telefoni interessati
  
 ==== Script per pulizia Database/Cartelle ==== ==== Script per pulizia Database/Cartelle ====
  
-Modificare le seguenti righe:+Modificare le seguenti righe di ClearDB.pl:
  
    #######Costanti File     #######Costanti File 
Linea 99: Linea 103:
    my $tableDef = "recfromservice";    my $tableDef = "recfromservice";
      
 +Copiate il file ClearDB.pl in c:\
 +Aggiungete in operazioni pianificate "//perl.exe c:\ClearDB.pl//" e impostatelo per ripeterlo ogni 5 minuti 
  
 ===== Sorgente Script Perl ===== ===== Sorgente Script Perl =====
  
-==== Servizio per telefoni Cisco ====+==== Servizio per telefoni Cisco (PhoneService.pl) ====
  
    #!/usr/bin/perl    #!/usr/bin/perl
Linea 109: Linea 115:
    # Created by: Ergon2000, www.ergon2000.it    # Created by: Ergon2000, www.ergon2000.it
    # Date: 03/02/2009    # Date: 03/02/2009
 +   # Name: PhoneService.pl
    ##############################    ##############################
    #Questo script riceve una richiesta http da un telefono cisco, ne legge l'ip e si connette alla pagina xml StreamingStatisticsX generata dal telefon    #Questo script riceve una richiesta http da un telefono cisco, ne legge l'ip e si connette alla pagina xml StreamingStatisticsX generata dal telefon
Linea 175: Linea 182:
    print $mytext->Content;    print $mytext->Content;
  
-==== Servizio temporizzato per pulire database e cartella ====+==== Servizio temporizzato per pulire database e cartella (ClearDB.pl) ====
  
    #!/usr/bin/perl    #!/usr/bin/perl
-    
    ###################################################################################    ###################################################################################
-    
    # Created by: Marco Longo, marchrist85@gmail.com    # Created by: Marco Longo, marchrist85@gmail.com
-    
    # Created by: Ergon2000, www.ergon2000.it    # Created by: Ergon2000, www.ergon2000.it
-    
    # Date: 03/02/2009    # Date: 03/02/2009
-   +   # Name: clearDB.pl
    ##############################    ##############################
        
-       
    use DBI;    use DBI;
-    
    use strict;    use strict;
-    
    use File::Copy;    use File::Copy;
-    
    use File::Path;    use File::Path;
-    
    use File::Remove 'remove';    use File::Remove 'remove';
-    
-    
        
    #######Costanti File     #######Costanti File 
-    
    my $origpath = '/Programmi/Apache Software Foundation/Tomcat 5.5/webapps/';    my $origpath = '/Programmi/Apache Software Foundation/Tomcat 5.5/webapps/';
-    
    my $destpath = '/Programmi/Apache Software Foundation/Tomcat 5.5/webapps/tmp/';    my $destpath = '/Programmi/Apache Software Foundation/Tomcat 5.5/webapps/tmp/';
-    +      
-   #$origpath =~ s/ /\\ /g; +
-    +
-   #$destpath =~ s/ /\\ /g; +
-    +
-   +
    ####### Costanti Database     ####### Costanti Database 
-    
    my $database = "oreka";    my $database = "oreka";
-    
    my $hostname = "10.255.0.19";    my $hostname = "10.255.0.19";
-    
    my $user = "root";    my $user = "root";
-    
    my $password = "123456";    my $password = "123456";
-    
    my $tablePS = "recservice";    my $tablePS = "recservice";
-    
    my $tableOrekaTape = "rectape";    my $tableOrekaTape = "rectape";
-    
    my $tableOrekaSeg = "recsegment";    my $tableOrekaSeg = "recsegment";
-    
    my $tableDef = "recfromservice";    my $tableDef = "recfromservice";
-    
    ###################    ###################
-    
        
    my @row;    my @row;
-    
    my @rowdbrec;    my @rowdbrec;
-    +       
-    +
-   +
    ######################################## Lavoro sul DB ######    ######################################## Lavoro sul DB ######
        
    my $dbh = DBI->connect("DBI:mysql:dbname=oreka;host=$hostname",$user,$password,{'RaiseError' => 1}) or die "Can't connect to database: $DBI::errstr!";    my $dbh = DBI->connect("DBI:mysql:dbname=oreka;host=$hostname",$user,$password,{'RaiseError' => 1}) or die "Can't connect to database: $DBI::errstr!";
-    
    my $sth = $dbh->prepare("SELECT * FROM $tablePS") or die "Can't prepare SQL statement: $DBI::errstr\n";    my $sth = $dbh->prepare("SELECT * FROM $tablePS") or die "Can't prepare SQL statement: $DBI::errstr\n";
-    
    $sth -> execute() or die "Can't execute SQL statement: $DBI::errstr\n";    $sth -> execute() or die "Can't execute SQL statement: $DBI::errstr\n";
-    
        
    #$query_handle->bind_columns(undef, \$id, \$timestamp, \$recport);    #$query_handle->bind_columns(undef, \$id, \$timestamp, \$recport);
-    
-    
    while(@row = $sth->fetchrow_array()) {    while(@row = $sth->fetchrow_array()) {
 +       my $dbrec = $dbh->prepare("SELECT * FROM $tableOrekaTape WHERE (recPortName = \"@row[2]\" OR recPortName = \"@row[3]\") AND timestamp <= \"$row[1]\" AND expirYTimeStamp >= \"$row[1]\" ");
        
- my $dbrec = $dbh->prepare("SELECT * FROM $tableOrekaTape WHERE (recPortName = \"@row[2]\" OR recPortName = \"@row[3]\"AND timestamp <= \"$row[1]\" AND expirYTimeStamp >= \"$row[1]\" ");+   #my $dbrec = $dbh->prepare("SELECT * FROM $tableOrekaTape WHERE recPortName = \"10.255.0.19,24588\" AND timestamp <= \"2009-01-09 15:52:15\" AND expirYTimeStamp >= \"2009-01-09 15:52:15\" ");
        
-   my $dbrec = $dbh->prepare("SELECT * FROM $tableOrekaTape WHERE recPortName = \"10.255.0.19,24588\" AND timestamp <= \"2009-01-09 15:52:15\" AND expirYTimeStamp >= \"2009-01-09 15:52:15\" ");+   $dbrec -> execute();
        
-    $dbrec -> execute(); +   @rowdbrec = $dbrec ->fetchrow_array;
-    +
-    @rowdbrec = $dbrec ->fetchrow_array;+
        
     $dbh->do("INSERT INTO $tableDef (id, timestamp, direction, duration, localEntryPoint, localParty, remoteParty, filename, recPortName, expiryTimestamp, service_id, recPort_id)VALUES (\"@rowdbrec[0]\",\"@rowdbrec[1]\",\"@rowdbrec[2]\",\"@rowdbrec[3]\",\"@rowdbrec[4]\",\"@rowdbrec[5]\",\"@rowdbrec[6]\",\"@rowdbrec[7]\",\"@rowdbrec[8]\",\"@rowdbrec[9]\",\"@rowdbrec[10]\",\"0\")");     $dbh->do("INSERT INTO $tableDef (id, timestamp, direction, duration, localEntryPoint, localParty, remoteParty, filename, recPortName, expiryTimestamp, service_id, recPort_id)VALUES (\"@rowdbrec[0]\",\"@rowdbrec[1]\",\"@rowdbrec[2]\",\"@rowdbrec[3]\",\"@rowdbrec[4]\",\"@rowdbrec[5]\",\"@rowdbrec[6]\",\"@rowdbrec[7]\",\"@rowdbrec[8]\",\"@rowdbrec[9]\",\"@rowdbrec[10]\",\"0\")");
-    
        
    ###############Lavoro su i file    ###############Lavoro su i file
Linea 279: Linea 248:
     if (move($origpath.@rowdbrec[7],$destpath.@rowdbrec[7]))     if (move($origpath.@rowdbrec[7],$destpath.@rowdbrec[7]))
   {   {
-   
     #se il file esiste e viene spostato     #se il file esiste e viene spostato
-     
     $dbh->do("DELETE FROM $tablePS WHERE ID = \"$row[0]\"") or die "impossibile eseguire query: $DBI::errstr!";     $dbh->do("DELETE FROM $tablePS WHERE ID = \"$row[0]\"") or die "impossibile eseguire query: $DBI::errstr!";
     print (@rowdbrec[0]);     print (@rowdbrec[0]);
     #$dbh->do("DELETE FROM $tableOrekaTape WHERE id = \"$@rowdbrec[0]\"") or die "impossibile eseguire query: $DBI::errstr!";     #$dbh->do("DELETE FROM $tableOrekaTape WHERE id = \"$@rowdbrec[0]\"") or die "impossibile eseguire query: $DBI::errstr!";
-     
     }     }
     else     else
     {     {
-    #se il file non esiste+  #se il file non esiste
     print ("file inesistente");     print ("file inesistente");
     }     }
Linea 301: Linea 267:
       if $DBI::err;       if $DBI::err;
              
-    
    my $sec; my $min;my $hour;my $mday;my $month; my $year; my $wday;my $yday; my$isdst;    my $sec; my $min;my $hour;my $mday;my $month; my $year; my $wday;my $yday; my$isdst;
-    +     ($sec,$min,$hour,$mday,$month,$year,$wday,$yday,$isdst)=localtime(time);
-   ($sec,$min,$hour,$mday,$month,$year,$wday,$yday,$isdst)=localtime(time); +
-   +
    my $timestamp = ($year+1900) ."-". ($month+1) ."-". $mday ." ". $hour .":". ($min -5).":". $sec;     my $timestamp = ($year+1900) ."-". ($month+1) ."-". $mday ." ". $hour .":". ($min -5).":". $sec; 
-    
        
    ########################Cancellazione File inutili    ########################Cancellazione File inutili
        
    $sth = $dbh->prepare("SELECT filename FROM $tableOrekaTape WHERE id NOT IN (SELECT id FROM $tableDef) AND timestamp < \"$timestamp\"") or die "Can't prepare SQL statement: $DBI::errstr\n";    $sth = $dbh->prepare("SELECT filename FROM $tableOrekaTape WHERE id NOT IN (SELECT id FROM $tableDef) AND timestamp < \"$timestamp\"") or die "Can't prepare SQL statement: $DBI::errstr\n";
-    
    $sth -> execute() or die "Can't execute SQL statement: $DBI::errstr\n";    $sth -> execute() or die "Can't execute SQL statement: $DBI::errstr\n";
-    
    while(@row = $sth->fetchrow_array()) {    while(@row = $sth->fetchrow_array()) {
-    
    remove($origpath.@row[0] );    remove($origpath.@row[0] );
        
-    
    ################################    ################################
        
        
    #####################Pulisco Database    #####################Pulisco Database
-    +      $dbh->do("DELETE FROM $tableOrekaTape WHERE id NOT IN (SELECT id FROM $tableDef) AND timestamp < \"$timestamp\"") or die "impossibile eseguire query: $DBI::errstr!"; 
-   $dbh->do("DELETE FROM $tableOrekaTape WHERE id NOT IN (SELECT id FROM $tableDef) AND timestamp < \"$timestamp\"") or die "impossibile eseguire query: $DBI::errstr!"; +      $dbh->do("DELETE FROM $tableOrekaSeg WHERE rectape_id NOT IN (SELECT id FROM $tableOrekaTape) AND timestamp < \"$timestamp\"") or die "impossibile eseguire query: $DBI::errstr!";
-    +
-   $dbh->do("DELETE FROM $tableOrekaSeg WHERE rectape_id NOT IN (SELECT id FROM $tableOrekaTape) AND timestamp < \"$timestamp\"") or die "impossibile eseguire query: $DBI::errstr!"; +
-   +
    ################################    ################################
-    
        
    $dbh ->disconnect or warn "Error disconnecting: $DBI::errstr\n";    $dbh ->disconnect or warn "Error disconnecting: $DBI::errstr\n";
-    
    ######################################## Fine Lavoro sul DB ######    ######################################## Fine Lavoro sul DB ######
-    +     
-   +
    exit;    exit;