S8710 перестают накапливатся CDR

Модератор: Administrator

Ответить
anchor
Постоянный участник форума
Сообщения: 299
Зарегистрирован: Вс 08 окт 2006, 16:44
Откуда: Киев
Контактная информация:

S8710 перестают накапливатся CDR

Сообщение anchor »

Добрый день.
Имеется S8710. Настроена отсылка CDR на некий IP:PORT.
На удаленном UNIX-хосте указанный порт слушает простой скрипт и все что прилетает сбрасывает в текстовый файл.

При этом stat cdr pri - UP.
В один прекрасный момент файл на UNIX-машине перестает расти пока не сделаешь bu/rel cdr pri. И так может проработать еще несколько недель.

Подскажите как можно пофиксить.
olle
Постоянный участник форума
Сообщения: 168
Зарегистрирован: Сб 26 дек 2009, 21:49

Сообщение olle »

а пакетики по сетке посмотреть снифером - летают или нет в этот момент? на тот самый ип-порт. Локализовать
anchor
Постоянный участник форума
Сообщения: 299
Зарегистрирован: Вс 08 окт 2006, 16:44
Откуда: Киев
Контактная информация:

Сообщение anchor »

olle писал(а):а пакетики по сетке посмотреть снифером - летают или нет в этот момент? на тот самый ип-порт. Локализовать
Пока нет физического доступа к каталистам с CLAN и серверу. На сервере пока нет также и tcpdump. Над этим работаю.

А пока для информации. Порт слушает простой перловый скрипт, который перенаправляет все что получает на порту в файл. Я не знаток perl, идею использования такой схемы украл на одном из форумов. Вот и собрал скриптик.

Код: Выделить всё

#!/usr/bin/perl
#
# netcat-dated.pl port output-mask

use IO::Socket;
$port = $ARGV[1];
$filename = $ARGV[0];
$server = IO::Socket::INET->new( Proto     => 'tcp',
LocalPort => $port,
Listen    => SOMAXCONN,
Reuse     => 1) or die "Can not setup server on port $port";

        ($year,$mon,$mday) = (localtime)[5,4,3];
        $ofile = sprintf("%s_%i_%02i_%02i.cdr", $filename, $year+1900, $mon+1, $mday);

print "Listening on $port, output to $ofile\n";
while ($client = $server->accept()) {
        $client->autoflush(1);
        $rec=0;
        while (<$client>) {
                ($year,$mon,$mday) = (localtime)[5,4,3];
                $ofile = sprintf("%s_%i_%02i_%02i.cdr", $filename, $year+1900, $mon+1, $mday);
                open (OUT, ">>$ofile") or die "Can not open $ofile for out!\n";
                print (OUT $_);
                $rec++;
                close (OUT);
        }
        close $client;
}
0;
Возможно порекомендуете как-то поправить срипт?

Код: Выделить всё

display ip-services                                             Page   3 of   4

                              SESSION LAYER TIMERS
  Service     Reliable  Packet Resp   Session Connect  SPDU  Connectivity
   Type       Protocol     Timer       Message Cntr    Cntr     Timer

 CDR1            n         30                3          3         60
evdol
Участник форума
Сообщения: 52
Зарегистрирован: Чт 27 май 2010, 14:55

Сообщение evdol »

В моменты когда перестает NC дописывать в файл данные как ведет себя АТС
статус отчета
Link State
CDR Buffer % Full

как ведут себя эти два параметра
anchor
Постоянный участник форума
Сообщения: 299
Зарегистрирован: Вс 08 окт 2006, 16:44
Откуда: Киев
Контактная информация:

Сообщение anchor »

evdol писал(а):В моменты когда перестает NC дописывать в файл данные как ведет себя АТС
статус отчета
Link State
CDR Buffer % Full

как ведут себя эти два параметра

LinkState UP
CDRBuffer сказать не могу, у меня CM 3.1.4, а появился он позже
evdol
Участник форума
Сообщения: 52
Зарегистрирован: Чт 27 май 2010, 14:55

Сообщение evdol »

У меня была анногичная проблема но на
WIN машинке проблема была вызвана тем что в DNS этот ПК небыл прописан что вызывало ряд ошибок и т.д.

и без перезапуска CDR линк положить было нельзя
с Линуксом ничего не подскажу
попробуй сделать CDR2 и натравить на него NC без скрипта
Ответить