Ситуация: есть офисная АТС, которая сбрасывает в реальном времени статистику звонков на СОМ-порт на машину с FreeBSD4.11, при помощи "cat /dev/cuaa0 >> /var/log/ats.txt". В результате в этом файле откровенный мусор(набор нечитабельных символов). Перед этим, всё снималось на машину под офтопиком при помощи WinTariff, но и при подключении обычным HyperTerminal сливалась нормальная форматированная инфа.
Кто знает, как эти сделать, чтоб фря тоже нормальную инфу снимала?
>Ситуация: есть офисная АТС, которая сбрасывает в реальном времени статистику звонков на СОМ-порт на машину с FreeBSD4.11, при помощи "cat /dev/cuaa0 >> /var/log/ats.txt". В результате в этом файле откровенный мусор(набор нечитабельных символов). Перед этим, всё снималось на машину под офтопиком при помощи WinTariff, но и при подключении обычным HyperTerminal сливалась нормальная форматированная инфа.
>Кто знает, как эти сделать, чтоб фря тоже нормальную инфу снимала?
Скорее всего правильно настроить скорость режим работы com-порта
>Скорее всего правильно настроить скорость режим работы com-порта
именно 99% что это так
>>Скорее всего правильно настроить скорость режим работы 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);
ОК
Поиграюсь со скоростями для начала, завтра отпишу, к чему привело...
>ОК
>Поиграюсь со скоростями для начала, завтра отпишу, к чему привело...наклевывается такая же задача. Данные надо будет снимать с DCS Samsung.
Было бы интересно узнать результаты, плз.
>>ОК
>>Поиграюсь со скоростями для начала, завтра отпишу, к чему привело...
>
>наклевывается такая же задача. Данные надо будет снимать с DCS Samsung.
>Было бы интересно узнать результаты, плз.
Полечилось.. Урезал скорость до 4800 и всё стало красиво :)
>ОК
>Поиграюсь со скоростями для начала, завтра отпишу, к чему привело...
1) проверить соединительный кабель как таковой, бывает критична длина на предмет потери, как следствие появление мусора
2) http://atslog.dp.ua <<< проверенная софтина (лично мной на панасониках), твой самсунг вроде как поддерживается (вопрос только в формате логов =))