# ATSlog version 2.1.1 build 664 www.atslog.com # # VENDOR: Samsung # MODELS: NX-820 # AUTHOR: Mistic # # TESTLOG: Samsung NX-820(variant 1).txt # TESTLOG: Samsung NX-820(variant 2).txt # # NX-820 text logfile processing Copyright by Mistic # # Разбираем строки текстового-лог файла для АТС Samsung NX-820 sub parsecurcalls() { while ($str=) { $stringnumber++; if ($str =~ /^.*?(\d+)\s+(\d+)\s+(\d+)\:(\d+)\s+(\d+)\:(\d+)\:\d+\s+(\d+)\:(\d+)\:(\d+)\s+(\S+).*$/) { unitecurcalls(); }else { #print("$stringnumber\n"); print $str if ($vars{debug} =~ /yes/i and $str !~ /^$/) }; }; }; sub unitecurcalls() { $internally=$1; $co=$2; $Month=$3; $Day=$4; $Year = (localtime())[5]; $Year += 1900; $CallHour=$5; $CallMinute=$6; $duration = (($7*60*60)+($8*60)+$9); $timeofcall = "$Year-$Month-$Day $CallHour\:$CallMinute\:00"; SWITCH: { $10 =~ /xTRANSFER/i and $forwarded=3, last SWITCH; $10 =~ /TRANSFER/i and $forwarded=1, last SWITCH; $10 =~ /xINCOMING/i and $forwarded=2, last SWITCH; $forwarded=0; } if ($10 =~ /[x]*TRANSFER/i or $10 =~ /[x]*INCOMING/i) { $way='1'; $number=0; # Not Specified }else{ $way='2'; $Outnumber = $10; $Outnumber =~ s/\D+//; $number=substr($Outnumber,0,100); } if ($timeofcall ne "") { # Для проверки наличия хоть одной запись звонков подлежащей # записи в db. $callsCount++; } #print("Ok: $stringnumber $timeofcall $forwarded $internally $co $way $number $duration\n"); WriteRecord($timeofcall, $forwarded, $internally, $co, $way, $number, $duration); } 1;