Что то типа путевых записок, и размышлений об жизни, ну и о FreeBSD конечно, иногда какие нибудь новости и что то типа переводов.

24.02.2008

ATSlog и Samsung Officeserv 100

Итак имелась значит в моем подчинение такая штука как Samsung Officeserv 100, если кто не в курсе то это офисная АТСка уровня СОХО (то биш для дома и маленького офиса), и вздумалось мне снимать с неё статистику, причём не как всем вменяемым людям в виндах через платную программу, или бесплатную или даже тупо текстовый лог
А задумал я значит применить комплекс ATSlog, а это такая штука снимающая те же текстовые логи перекладываюшая их в Mysql и потом строяшая красивые графики, или выдаюшая таблички, и все это в моем случае крутится на FreeBSD сервере, ну Mysql и апач были запушены, сам ATSlog легко поставлен из портов, но вот поддержка моей АТСки оказалась какой то кривенькой, или может мой конкретный экземпляр выдавал какие то неправильные логи, но пришлось этот комплекс допиливать.
Итак самое интересное, если у вас возникла такая же проблема надо в файлике officeserv-7200.lib подправить регулярное выражение, убрав из него первый член, и соответственно сместить нумерацию переменных на -1, ну соответственно тогда можно этот файл переименовать в officeserv-100.lib для совместимости и тогда добавить в файл modules.lst строку
officeserv-100.lib:OFFICESERV-100
и соответственно OFFICESERV-100 исключив из описания officeserv-7200.lib в том же файле, и тут наступит гармония и блаженство и все заработает, на форуме программки я написал об этом, будем надеяться что если это реально баг то его пофиксят, так как программка показалась интересной и полезной.

П.Сы. похоже пора завести что то типа хостинга выкладывать туда всякое, а то вот задумал файлик приложить а вроде как и никак, можно конечно бесплатным воспользоваться но как то по моему это не серьёзно

3 комментария:

  1. Привет! Я вот столкнулся с такой же проблемой. Но я не силен в регэксах :( Мог бы ты выслать файлик officeserv-100.lib?

    ОтветитьУдалить
  2. Эх похоже сайт и форум atslog умерли жаль, прикладывыю diff то есть что поменять чтоб вышла нужная библиотека.

    > diff officeserv-100.lib officeserv-7200.lib
    4c4
    < # MODELS: OFFICESERV-100
    ---
    > # MODELS: OFFICESERV-7200,OFFICESERV-500,OFFICESERV-100,IDCS-500
    7c7,9
    < # TESTLOG: Samsung OfficeServ 100.txt
    ---
    > # TESTLOG: Samsung OfficeServ 7200.txt
    > # TESTLOG: Samsung OfficeServ 500.txt
    > # TESTLOG: Samsung iDCS 500.txt
    9,10c11,12
    < # Samsung OfficeServ 100 library (c) 2008 Sergey Solonina
    < # Patched for more accurate regexp and OFFICESERV-100 support by Andrey Fesenko, f0andrey@gmail.com
    ---
    > # Samsung OfficeServ 7200 library (c) 2006 Sergey Solonina
    > # Patched for more accurate regexp and OFFICESERV-500 support by Alex Samorukov, samm@os2.kiev.ua
    19c21
    < if ($str =~ /(.{4}) (.{4}) (.{4}) (\d{2})\/(\d{2}) (\d{2})\:(\d{2})\:(\d{2}) (\d{2})\:(\d{2})\:(\d{2}) (.{2}) (.{18})/)
    ---
    > if ($str =~ /(\d) (.{4}) (.{4}) (.{4}) (\d{2})\/(\d{2}) (\d{2})\:(\d{2})\:(\d{2}) (\d{2})\:(\d{2})\:(\d{2}) (.{2}) (.{18})/)
    34,35c36,37
    < $internally=$1;
    < $co=$3;
    ---
    > $internally=$2;
    > $co=$4;
    38,41c40,43
    < $Month=$4;
    < $Day=$5;
    < my $flags=$12;
    < $dialed_number=$13;
    ---
    > $Month=$5;
    > $Day=$6;
    > my $flags=$13;
    > $dialed_number=$14;
    46,49c48,51
    < $CallHour=$6;
    < $CallMinute=$7;
    < $CallSeconds=$8;
    < $duration = (($9*60*60)+($10*60)+$11);
    ---
    > $CallHour=$7;
    > $CallMinute=$8;
    > $CallSeconds=$9;
    > $duration = (($10*60*60)+($11*60)+$12);
    63c65
    < $number=$1;
    ---
    > $number=$1;

    обрабатываемый лог должен выглядеть так

    102 721 04/11 02:08:21 00:01:07 O 8911xxxxxxx 0.00

    ОтветитьУдалить
  3. Спасибо огромное! Все отлично работает!

    ОтветитьУдалить

Здесь можно записать свои мысли о посте :)
Если ваш ответ не появился сразу, не паникуйте, тут работает спамоловка, и вероятно вы угодили в неё, так как были анонимом или в вашем посте ссылка, ну или вас не любит google.
Я проснусь и одобрю комент ;)