Автоматический факсоприемник своими руками
Задача: принимать факсы в автоматическом режиме, сохранять в электронном виде на файл-сервере windows.
Решение:
В качестве базы у меня был CentOS 4.4 и старенький системник с факс-модемом Acorp 56K подключенным на ком порт.
Качаем последнюю версию Hylafax (на момент написания статьи последней была версия 4.4.1).
Устанавливаем:
В процессе установки может попросить libtiff, awk, Ghostscript и любой MTA (Sendmail, Postfix). Т.к у меня это все уже было в системе установка прошла без проблем.
Настало время настройки.
# faxsetup //отвечаем на несколько простых вопросов
# faxaddmodem ttyS0 //указываем код страны, телефонный номер, громкость динамика...и т.д.
# /etc/init.d/hylafax start //запускаем демон
В файл /etc/inittab добавляем строчку f1:35:respawn:/usr/sbin/faxgetty /dev/ttyS0
и командуем # telinit q
Теперь компьютер готов к приему факсов. Складываться они будут в каталог /var/spool/hylafax/recvq
.
Остается научить наш факсоприемник выкладывать их на файл-сервер windows.
Вариантов для этого может быть тысяча и один, поэтому я опишу кратко только тот, который использовал сам.
1. Создаем каталог /mnt/faxstore
2. Добавляем в файл /etc/fstab строчку
//192.168.2.3/faxstore$ /mnt/faxstore cifs username=USER%PASSWORD,domain=DOMAIN
предварительно создав пользователя и подставив ваши данные вместо USER, PASSWORD и DOMAIN.
3. Заменяем содержимое файла /var/spool/hylafax/bin/faxrcvd
следующим:
#!/bin/bash
CURDIR=/mnt/faxstore/`date +%F`
FILE=/mnt/faxstore/`date +%F`/`date +%H-%M-%S`.tif
if [ ! -e $CURDIR ]; then
mkdir $CURDIR
fi
if [ -e $1 ]; then
cp $1 $FILE
fi
При получении нового факса на сетевом диске будет создан каталог с текущей датой (если его еще не существует), в который будет скопирован поступивший факс с именем файла в виде текущего времени.
Все!
Заметку эту я писал пару месяцев точно (все никак не доходили руки). За это время уже была куплена плата Cronyx и добавлены два модема Zyxel OMNI 56K. Все работает изумительно.
В следующей "серии" я напишу как дать пользователям возможность отправлять факсы.