(812) 321-61-11 - Установка, настройка и обслуживание Asterisk - Платы ISDN PRI E1 от 8910 рублей - (812) 321-61-11

Факс сервер на Asterisk

Это решение отличается от факса по умолчанию во FreePBX, использующего rxfax и txfax. Вместо этого, с помощью HylaFax, вы получите полнофункциональный факс-сервер корпоративного класса.

  • CentOS 5.X
  • Asterisk должен быть установлен.
  • IAXmodem требует SPANDSP
  • HylaFax имеет зависимости:
    • libtiff-3.5.5 или выше
    • ghostscript-5.50 или выше
    • ghostscript-fonts-5.50 или выше
    • libtiff-devel
    • zlib-devel

Скачать Hylafax

Вопросы при 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 (или что там у Вас будет), появиться диалоговое окно:

введите номер телефона и ОК.

http://www.freepbx.org/forum/freepbx/users/iaxmodem-not-registering

How To

 
fax.txt · Последние изменения: 24/11/2010 15:45 От olegus     Наверх