URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 68240
[ Назад ]

Исходное сообщение
"freebsd COM-порты и АТС"

Отправлено Intrudr , 15-Авг-06 17:05 
Ситуация: есть офисная АТС, которая сбрасывает в реальном времени статистику звонков на СОМ-порт на машину с FreeBSD4.11, при помощи "cat /dev/cuaa0 >> /var/log/ats.txt". В результате в этом файле откровенный мусор(набор нечитабельных символов). Перед этим, всё снималось на машину под офтопиком при помощи WinTariff, но и при подключении обычным HyperTerminal сливалась нормальная форматированная инфа.
Кто знает, как эти сделать, чтоб фря тоже нормальную инфу снимала?

Содержание

Сообщения в этом обсуждении
"freebsd COM-порты и АТС"
Отправлено Kliver , 15-Авг-06 17:30 
>Ситуация: есть офисная АТС, которая сбрасывает в реальном времени статистику звонков на СОМ-порт на машину с FreeBSD4.11, при помощи "cat /dev/cuaa0 >> /var/log/ats.txt". В результате в этом файле откровенный мусор(набор нечитабельных символов). Перед этим, всё снималось на машину под офтопиком при помощи WinTariff, но и при подключении обычным HyperTerminal сливалась нормальная форматированная инфа.
>Кто знает, как эти сделать, чтоб фря тоже нормальную инфу снимала?
Скорее всего правильно настроить скорость режим работы com-порта



"freebsd COM-порты и АТС"
Отправлено dawnshade , 15-Авг-06 17:53 
>Скорее всего правильно настроить скорость режим работы com-порта


именно 99% что это так


"freebsd COM-порты и АТС"
Отправлено sm00th , 15-Авг-06 18:11 
>>Скорее всего правильно настроить скорость режим работы com-порта
>
>
>именно 99% что это так

Пример 100% работающего скрипта - точно также собираем CDR-ки с АТС Coral.
В работе около года данная контсрукция на perl.
Тока не забудь из портов доставить модуль для perl Device::SerialPort - а то не будет работать.

#!/usr/bin/perl
use Device::SerialPort 0.12;
#use DBI ();

my $LOCKDIR   = "/var/spool/lock";             # path to lock file
my $LOCKFILE  = "serpand.lock";          # file name to lock
my $PORT      = "/dev/cuaa0";            # port to watch
my $FILE      = "/home/coral/coral.txt";

## Serial Settings
my $ob = Device::SerialPort->new ($PORT, 0, "${LOCKDIR}/${LOCKFILE}") || die "Can't open $PortName: $!\n";

if (!$ob) {
    `logger "Can't Open $PORT: $!"`;
    exit(0);
}

$ob->baudrate(9600)    || die "failed setting baudrate";
$ob->parity("none")    || die "failed setting parity";
$ob->databits(8)       || die "failed setting databits";
#$ob->handshake("none") || die "failed setting handshake";
$ob->stopbits(1)        || die "failed settings stopbits";
#$ob->write_settings    || die "no settings";

open(DEV, "<$PORT") || die "Cannot open $PORT: $_";
while(my $msg_orig=<DEV>){
#    print $msg;

    open(FILE,">>$FILE");
    print FILE $msg_orig;
    close(FILE);
}
close(DEV);


"freebsd COM-порты и АТС"
Отправлено Intrudr , 16-Авг-06 01:53 
ОК
Поиграюсь со скоростями для начала, завтра отпишу, к чему привело...

"freebsd COM-порты и АТС"
Отправлено Portoss , 17-Авг-06 08:30 
>ОК
>Поиграюсь со скоростями для начала, завтра отпишу, к чему привело...

наклевывается такая же задача. Данные надо будет снимать с DCS Samsung.
Было бы интересно узнать результаты, плз.



"freebsd COM-порты и АТС"
Отправлено Intrudr , 17-Авг-06 16:55 
>>ОК
>>Поиграюсь со скоростями для начала, завтра отпишу, к чему привело...
>
>наклевывается такая же задача. Данные надо будет снимать с DCS Samsung.
>Было бы интересно узнать результаты, плз.


Полечилось.. Урезал скорость до 4800 и всё стало красиво :)


"freebsd COM-порты и АТС"
Отправлено mmx , 17-Авг-06 10:23 
>ОК
>Поиграюсь со скоростями для начала, завтра отпишу, к чему привело...


1) проверить соединительный кабель как таковой, бывает критична длина на предмет потери, как следствие появление мусора
2) http://atslog.dp.ua   <<< проверенная софтина (лично мной на панасониках), твой самсунг вроде как поддерживается (вопрос только в формате логов =))