Описание программного обеспечние colitd.
  Программа предназначена для выгрузки данных о звонках со станции АТС Linea-UT фирмы Italtel. Более подробное описание приводится в файле ПО для АТС UT.
  

Состав:
  Collector.pm
  colit.pl
  colit.sh
  colitd
  commandfile
  convert.pl
  archive.pl

Файлы конфигурации:
  m200.cfg
  m200log.cfg


Установка:
0. Необходимое программное обеспечение.
  Для работы скрипта необходимо установить:
	    0.1 Perl5, 
		0.2 Device::SerialPort - модуль из CPAN (http://search.cpan.org/~cook/Device-SerialPort-1.04/SerialPort.pm) 
												(http://www.opennet.ru/base/dev/perl_cpan_inst.txt.html)
        0.3 CKermit - утилита для скачивания файлов по протоколу Kermit. Установить в /usr/bin/kermit, либо изменить путь до утилиты в файле commandfile.(http://www.columbia.edu/kermit/ck80.html)

1. Скопировать в директорию /usr/local/bin/colit файлы:
  Collector.pm
  colit.pl
  colit.sh
  commandfile
  convert.pl
  archive.pl

2. Скопировать в директорию /etc/init.d файлы:
  colitd

3. Создать в директории /usr/local/bin/colit файлы m200.cfg и m200log.cfg и заполнить их:
  3.1 Конфигурация логирования m200log.cfg
  пример:
  file m200d_log {
	file=/usr/local/bin/colit;
	perm=0600;
	rotate=monthly;
	compression=gzip;
	compressionlevel=9;
  };

  file m200d_log {  		   - обязательная часть
	file=/usr/local/bin/colit; - путь для ведения лога
	perm=0600;				   - права на лог файл
	rotate=monthly;			   - периодичность архивирования лог-файла. Значения: daily, weekly, monthly
	compression=gzip;		   - способ архивирования. Поддерживается gzip, tar
	compressionlevel=9;		   - степень сжатия, см. man gzip
  };						   - обязательная часть


  3.2 Основная конфигурация  m200.cfg
  пример:
  utstation KEDROVKA {			- обязательная часть, имя станции
	device="/dev/ttyS0";        - порт атс
	station=KEDROVKA;           - имя станции(должно совпадать с именем выше)
	module=0;                   - номер модуля, используется для режимов login, indoad, redoad - как номер модуля по умолчанию
	schedule="15 * * *";        - расписание для обязательной выгрузки(может быть несколько пунктов schedule)
	exchanges=0-0;              - номера модулей для выгрузки
	speed=4800;                 - скорость обзения с портом
	morning=08:00:00:25;        - начало дневного времени и процент загруженности буфера - порог выгрузки днем  (чч:мм:сс:%)
	evening=17:00:00:50;        - начало ночного времени и процент загруженности буфера - порог выгрузки ночью (чч:мм:сс:%)
  };

  file {                                        - обязательная часть
    name="/u/phone/bill/bill";					- неизвестно
    perm=0600;                                  - права на файлы со звонками
    rotate=daily;                               - периодичность архивирования файла со звонками. Значения: daily, weekly, monthly
    compression=gzip;                           - способ архивирования. Поддерживается gzip, tar
    compression_level=9;                        - степень сжатия, см. man gzip
	text="/usr/local/bin/colit/text";           - путь хранения текстовых файлов со звонками
	aregexp="^7/384527";                        - правила для замены А-номера
	bregexp="^7/384527;^9/38452;^08/8;^008/8";  - правила для замены B-номера
  };                                            - обязательная часть

  bserver {                                     - обязательная часть
    ip=10.6.3.50;                               - IP-адрес сервера биллинга
    port=5557;                                  - порт сервера биллинга
    spool="/usr/local/bin/colit/spool";         - путь хранения бинарных фалов со звонками
    bad="/u/phone/bad";                         - путь хранения ошибочных фалов со звонками
  };




4. Запуск сервиса:
  service colitd start
   остановка:
  service colitd stop
   перезапуск:
  service colitd restart
   просмотр статуса:
  service colitd status

5. Прочее

Для остановки скрипта, достаточно создать и написать в файле stop.lock в директории, где установлены скрипты строку "stop".
Для запуска немедленной выгрузки при запущенном скрипте, достаточно создать и написать в файле stop.lock в директории, где установлены скрипты строку "task".

Версия 1.0

Вот вариант коллектора, который после загрузки файла помещает его в spool.
каждый час файлы из этой директории обрабатываются в текстовый формат, исходный файл не удаляется.
По расписанию архивируются файлы в папке с логами и бинарные файлы здесь:
file {
    name="/u/phone/bill/bill";

в директории root должен быть скрипт alarm.sh и sendsms.sh а так же файлы on.wav и off.wav



