# ATSlog version 2.1.1 build 664 www.atslog.com # # VENDOR: Siemens # MODELS: Hicom 350H # AUTHOR: Denis CyxoB # # TESTLOG: Siemens Hicom-350H.txt # Разбираем строки текстового-лог файла для АТС Siemens Hicom 350H # parsecurcalls(); sub parsecurcalls() { while ($str=) { $stringnumber++; if ($str =~ /^\$(\d{2})\/(\d{2})\/(\d{2})(\d{2}):(\d{2}):(\d{2})(\d{2}):(\d{2}):(\d{2})(\d{3})[\d|\s]{2}([\d|\s]{1,20})(\d{4})[\d|\w|\s]{3}[\d|\w|\s]{10}$/){ unitecurcalls(); }else{ #print("$stringnumber\n"); #print("$str\n"); if ($vars{debug} =~ /yes/i){ if ($str !~ /^$/){ print $str; }; }; }; }; }; sub unitecurcalls() { $cell[12] = $12; $cell[11] = $11; $cell[10] = $10; $cell[9] = $9; $cell[8] = $8; $cell[7] = $7; $cell[6] = $6; $cell[5] = $5; $cell[4] = $4; $cell[3] = $3; $cell[2] = $2; $cell[1] = $1; $forwarded=0; $way=1; $internally=$cell[12]; $co=$cell[10]; $duration=(($cell[7]*60*60)+($cell[8]*60)+$cell[9]); $Year = $cell[3]; $Year+=2000; $number=$cell[11]; $timeofcall="$Year-${cell[2]}-${cell[1]} ${cell[4]}:${cell[5]}:${cell[6]}"; if ($timeofcall ne ""){ # Проверим, имеестя ли хоть одна запись звонков подлежащая # записи в db. $callsCount++; } # print("$stringnumber $timeofcall $forwarded $internally $co $way $number $duration\n"); WriteRecord($timeofcall, $forwarded, $internally, $co, $way, $number, $duration); }; 1;