# ATSlog version 2.1.1 build 664 www.atslog.com # # VENDOR: Hybrex # MODELS: GD-320 # AUTHOR: Oleg A. Nikolayenko # # TESTLOG: Hybrex GD-320.txt # GD-320 text logfile processing Copyright by Oleg A. Nikolayenko # # Разбираем строки текстового-лог файла для АТС Hybrex GD-320 sub parsecurcalls() { # print("ParceCurCalls\n"); while ($str=) { $stringnumber++; if ($str =~ /^\D*([0-9]+)\s+([0-9]+)\s+\**\#*\s*([[0-9]+|CLI Num: [0-9]+|Incoming]*)\s+([0-9\/]+)\s+([0-9\:\'\"]+)\s+([0-9\:\'\"]+)/){ # print("$1 $2 $3 $4 $5 $6 $7\n"); unitecurcalls(); }else{ #print("$stringnumber\n"); #print("$str\n"); if ($vars{debug} =~ /yes/i){ if ($str !~ /^$/){ print $str; }; }; }; }; }; sub unitecurcalls() { $cell[7] = $7; $cell[6] = $6; $cell[5] = $5; $cell[4] = $4; $cell[3] = $3; $cell[2] = $2; $cell[1] = $1; $cell[4] =~ /(\d{2})\/(\d{2})/; $partCell[4][0]= $1; $partCell[4][1]= $2; $cell[5] =~ /(\d{2})\:(\d{2})\'(\d{2})\"/; $partCell[5][0]= $1; $partCell[5][1]= $2; $partCell[5][2]= $3; ($SECOND, $MINUTE, $HOUR, $DAY, $MONTH, $YEAR) = (localtime())[0, 1, 2, 3, 4, 5]; $YEAR+=1900; $MONTH++; $cell[6] =~ /(\d{2})\:(\d{2})\'(\d{2})\"/; $partCell[6][0]= $1; $partCell[6][1]= $2; $partCell[6][2]= $3; if ($cell[3] =~ /Incoming/i){ $way='1'; $number=0; }elsif ($cell[3] =~ /CLI Num: ([0-9]+)/){ $way='1'; $number=$1; }else{ $way='2'; $Outnumber = $cell[3]; $Outnumber =~ s/\D*//; $number=substr($Outnumber,0,100); } $forwarded=0; $internally=$cell[1]; $co=$cell[2]; $duration=(($partCell[6][0]*60*60)+($partCell[6][1]*60)+$partCell[6][2]); $timeofcall="$YEAR-${partCell[4][0]}-${partCell[4][1]} ${partCell[5][0]}:${partCell[5][1]}:${partCell[5][2]}"; if ($timeofcall ne ""){ # Проверим, имеестя ли хоть одна запись звонков подлежащая # записи в db. $callsCount++; } WriteRecord($timeofcall, $forwarded, $internally, $co, $way, $number, $duration); }; 1;