Факс сервер на Asterisk
Это решение отличается от факса по умолчанию во FreePBX, использующего rxfax и txfax. Вместо этого, с помощью HylaFax, вы получите полнофункциональный факс-сервер корпоративного класса.
Вопросы при FaxSetup:
-Прочтите README из IAXmodem для установки.
-В завершении установки, скопируйте бинарник iaxmodem в
Создайте файл
iax.conf
Чтобы Hylafax начал принимать факсы, надо запустить IAXmodem и ttyIAX устройство. Вручную это можно сделать командами:
Теперь когда все работает, настройте маршрутизацию DID в Asterisk.
- CentOS 5.X
- Asterisk должен быть установлен.
- IAXmodem требует SPANDSP
- HylaFax имеет зависимости:
- libtiff-3.5.5 или выше
- ghostscript-5.50 или выше
- ghostscript-fonts-5.50 или выше
- libtiff-devel
- zlib-devel
Вопросы при FaxSetup:
Should an entry be added for the FaxMaster to /etc/aliases )yes(? yes Users to receive fax-related mail )root? ( root HylaFAX configuration parameters are: 1 Init script starts faxq: yes 2 Init script starts hfaxd yes 3 Start old protocol: no 4 Start paging protocol: no Are these ok yes? yesСкачать Iaxmodem
-Прочтите README из IAXmodem для установки.
-В завершении установки, скопируйте бинарник iaxmodem в
/usr/local/sbin
Создайте файл
/etc/iaxmodem/ttyIAX0
device /dev/ttyIAX0 owner uucp:uucp mode 660 port 4570 #уникальный порт для каждого устройства! refresh 300 server 127.0.0.1 peername iaxmodem0 # это IAX экстеншн в Asterisk! secret 12345 # пароль экстеншена cidname Fax1 cidnumber 78123216111 codec alawНастройте IAX экстеншн в Asterisk.
iax.conf
[iaxmodem0] type=friend username=iaxmodem0 context=modembank secret=12345 host=127.0.0.1 qualify=yes disallow=all allow=ulaw; trunk=no requirecalltoken=noТеперь, когда, IAXmodem сконфигурирован, научим Hylafax обращаться к нему. В исходниках IAXmodem есть файл config.ttyIAX. Скопируйте его в /var/spool/hylafax/etc/ изменяя название для каждого модема - config.ttyIAX0, config.ttyIAX1 и т.д.
Чтобы Hylafax начал принимать факсы, надо запустить IAXmodem и ttyIAX устройство. Вручную это можно сделать командами:
/usr/local/sbin/iaxmodem ttyIAX0 faxgetty /dev/ttyIAX0В случае если появиться сообщение об отсутствии libiax.so.0 и libspandsp.so.1 :
ln /usr/local/lib/libiax.so.0.0.0 /lib/libiax.so.0 ln /usr/local/lib/libspandsp.so.1.0.0 /lib/libspandsp.so.1Если все работает, напишите в /etc/inittab
iax1:2345:respawn:/usr/local/sbin/iaxmodem ttyIAX0 iax2:2345:respawn:/usr/local/sbin/iaxmodem ttyIAX1 mo1:2345:respawn:/usr/local/sbin/faxgetty ttyIAX0 mo2:2345:respawn:/usr/local/sbin/faxgetty ttyIAX1
- Первые две строчки запускают два IAXmodem-а.
- Последние две - позволяют получать факсы через эти модемы.
/sbin/init q
перезапустите inittab.Теперь когда все работает, настройте маршрутизацию DID в Asterisk.
exten => 78123216111,1,Dial(IAX2/iaxmodem0/${EXTEN},10,r)где ${EXTEN} переменная $CALLID4, получаемая Hylafax в /var/spool/hylafax/etc/FaxDispatch:
SENDTO=root; FILETYPE=pdf; case "$CALLID4" in 78123216111) SENDTO="smirnov@neotek.ru" ;; esacили привяжемся к девайсу:
## and/or by device SENDTO=root; FILETYPE=pdf; case "$DEVICE" in ttyIAX0) SENDTO=smirnov@neotek.ru;; esac
распечатаем принятый факс на принтере
case "$DEVICE" in ttyIAX0) SENDTO=smirnov@neotek.ru PRINTER=HP1200;; esacДобавьте в конец файла /var/spool/hylafax/bin/faxrcvd
# If $PRINTER not empty, then print $FILE with $PRINTER if [ -n "$PRINTER" ]; then $FAX2PS $FILE | lpr -P$PRINTER fi
Отправка факсов
Тестовая отправка факса командой- sendfax -n -d <faxnumber> <file.txt>:# sendfax -n -d 8123216111 /etc/issue.net
We should see this in the CLI: -- Accepting AUTHENTICATED call from 127.0.0.1: > requested format = alaw, > requested prefs = (), > actual format = alaw, > host prefs = (alaw), > priority = mine -- Executing Answer("IAX2/iaxmodem0", "") in new stack -- Executing Dial("IAX2/iaxmodem0", "SIP/123456/8123216111") in new stack -- Called 123456/8123216111 -- SIP/123456-0818f630 is making progress passing it to IAX2/iaxmode m-3 -- SIP/123456-0818f630 answered IAX2/iaxmodem0 -- parse_srv: SRV mapped to host my-voip-provider.com, port 5060 == Spawn extension (fax-out, 8123216111, 2) exited non-zero on 'IAX2/i axmodem0' -- Executing Hangup("IAX2/iaxmodem0", "") in new stack == Spawn extension (fax-out, h, 1) exited non-zero on 'IAX2/iaxmodem0 ' -- Hungup 'IAX2/iaxmodem0'Используйте команду faxstat -s для проверки:
# faxstat -s HylaFAX scheduler on localhost.localdomain: Running Modem ttyIAX (177): Running and idle Modem ttyIAX1 (166): Running and idle JID Pri S Owner Number Pages Dials TTS Status 35 127 B root 177 0:0 0:12 Blocked by concurrent calс помощью Winprint Hylafax.
Скачайте Winprint Hylafax
Установите Winprint Hylafax на компьютер.
Установите новый принтер:
При выборе порта для принтера - создать новый порт -Winprint Hylafax
Имя порта: по дефолту
Принтер: Apple Laser Writer # рекомендуют
Имя принтера: «Winprint Hylafax»
В свойствах установленного принтера, выбираем вкладку «Порты»
Конфигурируем порт
Чтобы Hylafax разрешил соединение, добавьте IP адрес машины на которой установлен Winprint Hylafax в файл: /var/spool/hylafax/etc/hosts.hfaxd. Поле password можно оставить пустым, Поле user должно быть заполнено.
При выборе печати документа через Apple Laser Write (или что там у Вас будет), появиться диалоговое окно:
введите номер телефона и ОК.
Комментариев нет:
Отправить комментарий