Hylafax

Tutti i file che riguardano la configurazione di Hylafax stanno nella cartella :file:/var/spool/hylafax`

Fax in ricezione

Alla fine di ogni ricezione viene eseguito direttamente da hylafax il comando bin/faxrcvd che ha il seguente usage:

Usage: $0 file devID commID error-msg [ callID-1 [ callID-2 [ ... [ callID-n ] ] ] ]

e che definisce le variabili FILE, DEVICE, COMMID, MSG ed ad esempio si traduce in:

bin/faxrcvd "recvq/fax000000235.tif" "ttyS1" "000000509" "" "" ""

Per una scelta passata che non comprendo di usa solo $COMMID e si recupareno le atre informazioni dai file di log:

sudo bin/django hyla_notify --in $COMMID

che per esempio potrebbe essere:

sudo bin/django hyla_notify --in C000001745

Fax inviati

Analogamente per fax inviati aggiungeremo la riga in bin/notify che ha uno usage:

Usage: $0 qfile why jobtime [nextTry]

e definisce rispettivamente le variabili QFILE, WHY, JTIME, aggiungeremo quindi:

QUEUE_FILE=$1
EXIT_CODE=$2
sudo bin/django hyla_notify --out $QUEUE_FILE -x $EXIT_CODE

che per esempio potrebbe essere:

sudo bin/django hyla_notify --out doneq/q11 -x done

Exit Status

Passato da bin/notify (solo fax inviati) può essere:

  • Killed = job interrotto dall’utente con faxrm
  • done = fax inviato
  • failed = fax non inviato
  • requeued = ovvio

Permessi

django deve leggere file di log di hylafax (user uucp) e scrivere sui file di log di django (user www-data). La cosa più semplice è di usare sudo come root:

grep django /etc/sudoers
uucp ALL= (root) NOPASSWD: /home/www/office.cogema.it/bin/django

Hylafax server

Installazione server su macchina debian

apt-get install hylafax-server hylafax-client

nelle ultime versioni hylafax deve essere configurato nella directory /etc/hylafax e quando viene poi attivato o riavviato il servizio uno script sincronizza la configurazione nella dir /var/spool/hylafax/etc dove poi effettivamente lavorera’ il processo

Definizione del modem IAX in /etc/hylafax/config.ttyIAX1:

CountryCode:            39
AreaCode:               02
FAXNumber:              NUMERO_TEL
LongDistancePrefix:     0
InternationalPrefix:    0
DialStringRules:        dialrules.europe
ServerTracing:          1
SessionTracing:         0xFFF
RecvFileMode:           0600
LogFileMode:            0600
DeviceMode:             0600
RingsBeforeAnswer:      1
SpeakerVolume:          off
GettyArgs:              "-h %l dx_%s"
LocalIdentifier:        NOME_AZIENDA
TagLineFont:            lutRS18.pcf
TagLineFormat:          "From %%l|%c|Page %%P of %%T"
MaxRecvPages:           25



PagerTTYParity:         none

Class1AdaptRecvCmd:     AT+FAR=1



CallIDPattern:          "NMBR="
CallIDPattern:          "NAME="
CallIDPattern:          "ANID="
CallIDPattern:          "NDID="

per poter tenere sempre attivo il servizio controllo fax sul device iax conviene aggiungere in inttab il seguente comando

m1:2345:respawn:/usr/sbin/faxgetty ttyIAX1

per poi farlo caricare runtime

init q

quindi riavviare il servizio

/etc/init.d/hylafax

Modem IAX lato Hylafax

Installazione del modem iax

apt-get install iaxmodem

configurazione del device in /etc/iaxmodem/iaxmodem-cfg.ttyIAX1

device          /dev/ttyIAX1
owner           uucp:uucp
mode            666
port            4569
;refresh         50
server          IP_SERVER_ASTERISK
peername        modem1
secret          mod890
codec           slinear

per poter tenere sempre attivo il servizio del device conviene aggiungere in inttab il seguente comando

IAX1:2345:respawn:/usr/bin/iaxmodem iaxmodem-cfg.ttyIAX1

per poi farlo caricare runtime

init q

Modem IAX lato Asterisk

Nel server asterisk si dovra’ poi configurare l accesso del server fax attraverso IAX

in /etc/asterisk/dialplan/iax_modem.conf

[modem](!)
requirecalltoken=no
type=friend
disallow=all
allow=slin
allow=alaw
host=dynamic
port=4569
context=fax-out

[modem1](modem)
username=modem1
secret=mod890

in /etc/asterisk/dialplan/extension_in.conf

[from-pstn-]
exten => NUMERO_FAX,1,Goto(from-fax,fax1,1)

[from-fax]
exten => fax1,1,NoOp(FAX in - fax1)
exten => fax1,n,Answer
exten => fax1,n,Dial(IAX2/modem1)

[fax-out]
exten => _X.,1,Set(CALLERID(num)=NUMER_FAX)
exten => _X.,n,Dial(SIP/patton-bri1/${EXTEN})

Test fax da cli

Controllo stato fax

faxstat

Invio fax di prova:

sendfax -n -d  NUMERO_DI_TEL  /etc/issue.net

Verifica dei fax inviati dal log di hylafax

tail -f /var/spool/hylafax/log/xferfaxlog

Previous page

← Cover

This Page