Прием факсов в системе FreePBX

Настроим в диалплане правила отправки факса на почтовый адрес:
/etc/asterisk/extensions_custom.conf

[fax-so]
exten => s,1,answer()
exten => s,n,Goto(in_fax,1)
exten => in_fax,1,StopPlayTones
exten => in_fax,n,Set(EMAILADDR=sf@nagg.ru)
exten => in_fax,n,Set(FAX_RX_FROM=fax@vester.ru)
exten => in_fax,n,Set(FAXFILE=/var/spool/hylafax/recvq/fax000000001.tif)
exten => in_fax,n,set(__call-from=${CALLERID(number)})
exten => in_fax,n,set(CALLERID(number)=${UNIQUEID})
exten => in_fax,n,Dial(IAX2/iaxmodem/${UNIQUEID})
exten => in_fax,n,wait(5)
exten => in_fax,n,Hangup
exten => h,1,system(/usr/bin/mutt -s "New Fax message from id:${URIENCODE(${CALLERID(number)})} ${URIENCODE(${CALLERID(name)})}" -a ${FAXFILE} ${EMAILADDR} < /dev/null)
exten => h,n,system(/var/lib/asterisk/bin/fax-clear.sh)

Содержание скрипта /var/lib/asterisk/bin/fax-clear.sh

#!/bin/bash
# Выборка первой строки из файла seqf ######################
#NCOUNT="awk 'NR==1 {print $1}' /var/spool/hylafax/recvq/seqf"
#
rm -f /var/spool/hylafax/recvq/*.tif
echo '0' > /var/spool/hylafax/recvq/seqf

Создаем во FreePBX собственный маршрут назначения в описанный диалплан:


https://127.0.0.1/admin/config.php?type=tool&display=customdests

Custom Destinations → Добавить спец. Назначение →
Спецназначение: fax-so,s,1
Описание: fax-so

Теперь настроим связку iaxmodem – freepbx (требуется установленный iaxmodem):

Во FreePBX:
/etc/asterisk/iax_custom.conf

[iaxmodem]
type=friend
;username=iaxmodem0
host=dynamic
port=4570
auth=md5
secret=12345
context=from-internal
allow=all
;jitterbuffer=no
;trunk=no
;requirecalltoken=no

https://127.0.0.1/admin/config.php?type=tool&display=iaxsettings (Asterisk IAX Settings)

Ставим только:
кодеки — ulaw, alaw
кодек приоритет — host
полоса пропускания — unset
video support – no
jitter buffer – no
bind port – 4569

А также добавляем в «Other IAX Settings»

calltokenoptional=127.0.0.1/255.255.255.255
maxcallnumbers=16382

IAXMODEM:
/etc/iaxmodem/ttyIAX0

device          /dev/ttyIAX0
owner           uucp:uucp
mode            775
port            4570
refresh         50
server          127.0.0.1
peername        iaxmodem
secret          12345
cidname         Virtual Fax
cidnumber       iaxmodem
codec           alaw

/etc/inittab

#Fax
fax:2345:respawn:/usr/sbin/faxgetty ttyIAX0

Выполняем перезагрузку:

inittab: /sbin/init q

Перезагружаем * и перезагружаем iaxmodem

Заходим в консоль астера и видим (asterisk -rvvv):

astpbx*CLI> iax2 show peers
Name/Username    Host                 Mask             Port          Status
iaxmodem         127.0.0.1       (D)  255.255.255.255  4570          Unmonitored

Ок, значит модем подключился!

Если после этого модем не поднимает трубку, делаем:
faxgetty /dev/ttyIAX0
звоним и слушаем… все должно работать, значит inittab не применился
Вывод команды должен быть такой:

ps -aux | grep fax

uucp     27145  0.0  0.2  10544  1276 ?        Ss   Apr19   0:00 faxq
uucp     27148  0.0  0.1   8092   732 ?        Ss   Apr19   0:00 hfaxd -i hylafax
uucp     27154  0.0  0.5   8612  2828 ?        Ss   Apr19   0:00 /usr/sbin/faxgetty ttyIAX1

Если faxgetty нет, то ребутим сервер!

Добавляем права астериску запускать скрипты:
/etc/sudoers

asterisk ALL = NOPASSWD: /var/lib/asterisk/bin/fax-send.sh
asterisk ALL = NOPASSWD: /var/lib/asterisk/bin/fax-clear.sh
asterisk ALL = NOPASSWD: /usr/bin/mutt

Related posts:

  1. Installing Asterisk and FreePBX on Ubuntu Server 6.06 LTS This document assumes prior knowledge of how to use Linux...
  2. Установка Asterisk и FreePBX на Ubuntu 10.04 Asterisk Asterisk это свободная АТС (PBX)для IP-телефонии. Это то, что...
  3. Установка FreePBX + Asterisk Проект компании Digium – Asterisk. Известен многим, как и вэб...
  4. VoIP-GSM шлюз для Asterisk на USB модеме HUAWEI E1550 Памятка по настройке VOIP-шлюза на IP ATC Asterisk с модемом...
  5. FreePBX: Too many files error message in recordings / call monitor Обычно многие админы видят подобную ошибку в веб-интерфейсе записи разговоров...
You can leave a response, or trackback from your own site.

Оставить комментарий

*