Traduzioni: English - Italiano


HylaFAX, un server fax open source avanzato.

Basato su http://lucasmanual.com/mywiki/FaxServer e http://www.aboutdebian.com/fax.htm

Installazione

apt-get install hylafax-server

Xen / Virtualizzazione

Attenzione - È possibile che Hylafax abbia problemi durante l'esecuzione in un ambiente virtuale. L'invio e la ricezione con successo di fax sono molto legati a tempi corretti. Ci sono stati numerosi casi in cui una configurazione è corretta, ma un ambiente virtuale causa errori che sono difficili da diagnosticare.

Configurazione iniziale

Per iniziare la configurazione di hylafax eseguire l'utilità faxsetup.

faxsetup

        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]? 

Modem support functions written to /var/spool/hylafax/etc/setup.modem.
Configuration parameters written to /var/spool/hylafax/etc/setup.cache.

Restarting HylaFAX server processes.

You have a HylaFAX scheduler process running.  faxq will be
restarted shortly, as soon as some other work has been completed.
Can I terminate this faxq process (24932) [yes]? 

        * Prefisso della nazione (1 per gli USA)
        * Prefisso della regione (inserire quello della propria zona)
        * Numero telefonico del modem fax (nel formato +1.xxx.xxx.xxxx, per gli USA)
        * Stringa di identificazione locale (dovrebbe essere qualcosa di simile a 'Mio Server Fax' che verrà stampato sulla citazione dei fax in uscita)
        * Prefisso a lunga distanza (1 negli USA)
        * Prefisso internazionale (011 negli USA)
        * File di regole di composizione (accettare il predefinito)
        * Tracciamento durante le normali operazioni server (accettare il predefinito)
        * Tracciamento durante le operazioni di invio e ricezione (accettare il predefinito)

        * Modalità di protezione per fax ricevuti - se si desidera condividere i file direttamente inserire 0644, altrimenti accettare l'impostazione predefinita 0600 
        * Modalità di protezione per i registri di sessione - se si desidera condividere i file direttamente inserire 0644, altrimenti accettare l'impostazione predefinita 0600
        * Modalità di protezione per ttySx - per condividere il modem inserire 0666, 0600 se lo si utilizza solo con hylafax
        * Numero di squilli prima di rispondere - il valore predefinito è 1, impostarlo a 0 configura il server come un sistema fax di "solo invio"
        * Volume dell'altoparlante del modem, i valori validi sono OFF QUIET LOW MEDIUM HIGH; lo si può impostare su HIGH per fare delle prove e cambiarlo in OFF successivamente)
        * Argomenti da riga di comando per il programma getty (accettare i predefiniti)
        * Percorso del file delle lista di controllo degli accessi TSI (accettare il predefinito)
        * Percorso del file della lista di controllo degli accessi Caller-ID (accettare il predefinito)
        * File del carattere della citazione (accettare il predefinito)
        * Stringa del formato della citazione (accettare la predefinita)
        * Tempo prima di eliminare un file  di lock UUCP vecchio (accettare il predefinito)
        * Mantenere un file di lock UUCP durante le chiamate dati in entrata (accettare il predefinito)
        * Mantenere un file di lock UUCP durante le chiamate vocali in entrata (accettare il predefinito)
        * Percentuale di linee valide da accettare durante il controllo qualità della copia (accettare il predefinito)
        * Numero massimo di linee non valide consecutive da accettare durante il controllo qualità della copia (si consiglia di ridurre il valore predefinito da 5 a 3)
        * Numero massimo di pagine da accettare in un fax ricevuto (si consiglia di aumentare il valore predefinito a 25)
        * Nome del servizio syslog per i messaggi di tracciamento del server (il predefinito è "daemon" ma lo si può cambiare in "local7" se si invia il registro ad un server syslog remoto e si vuole separare il registro dei fax da altri messaggi)
        * Imposta l'UID a 0 per gestire CLOCAL (accettare il predefinito)
        * Usa il meccanismo di schedulazione disponibile per la priorità dei compiti (accettare il predefinito)

Se tutto è andato bene, l'esecuzione di /etc/init.d/hylafax restart dovrebbe dare come risultato che hylafax ascolti il modem per i fax in entrata, permettendo l'invio di fax da riga di comando.

Invio di un fax da riga di comando

Per testare il server fax appena installato si invierà un file di testo a un apparecchio fax remoto.

Per inviare un fax dalla riga di comando, eseguire il seguente comando:

sendfax -n -d <NUMEROTEL> /etc/issue.net

dove <NUMEROTEL> è il numero telefonico dell'apparecchio fax su cui si può ricevere un fax (che non è sulla stessa linea telefonica del server hylafax).

se ha funzionato correttamente si dovrebbe avere un fax arrivato al numero inserito nel comando.

Configurazione della rete fax

Si farà in modo che HylaFAX sappia chi sulla rete locale è autorizzato a inviare fax, se non si intende consentire l'utilizzo del server agli utenti della rete locale è possibile ignorare questa sezione.

Controlli di accesso

Per permettere l'accesso agli utenti sulla rete locale è possibile utilizzare una regola per tutta la sottorete per consentire l'uso a tutti oppure selezionare singoli indirizzi.

192\.168\.10\.:::

172\.16\.:::

Riavviare il server hylafax con il comando /etc/init.d/hylafax restart-

Creazione di utenti

È necessario creare un utente sul sistema per ogni utente della rete al quale si desidera far usare il server fax:

adduser dept1

cat /etc/group

faxadduser -p password -u 1001 nome_utente

Configurazione di fax a email

Si creerà ora uno script FaxDispatch in /etc/hylafax per indirizzare i fax in entrata a una destinazione diversa dal rimanere nella coda recvq.

FaxDispatch

## FaxDispatch file - instrada tutti i fax in entrata a miaemail@indirizzoemail.com in forma di file TIFF
##
## Consultare la pagina man di faxrcvd(8C) per maggiori informazioni
##

SENDTO=mia_email@mio_dominio.com;
FILETYPE=tiff;

Si noti che sono consentiti tipi di file diversi da tiff ma questo è il formato nativo usato dal sistema di fax, pertanto richiede minor quantità di lavoro da gestire sul server.

Configurazione di email a fax con Exim

Il messaggio email diventa la prima pagina e tutti gli allegati saranno inviati come pagine aggiuntive; tuttavia la gestione degli allegati non è perfetta, in particolare quella degli allegati JPEG. Per risultati migliori usare i PDF, dato che sembrano essere elaborati in maniera affidabile e sono già a dimensione di pagina.

I destinatari del fax devono avere un indirizzo nel formato seguente:

Router

exifax:
   driver = manualroute
   transport = exifax
   route_list ="*.fax"

Transport

exifax:
  driver = pipe
  user = faxmaster
  command ="/usr/bin/faxmail -n ${local_part}@${extract{1}{.}{$domain}}"

Stampare automaticamente fax in entrata

## and/or by device
FOLDER="/var/spool/hylafax/recvq/"
FULLPATH="${FOLDER}${FILENAME}.tif"
case "$DEVICE" in
ttyS14)   /usr/bin/tiff2ps -w 8.5 -h 11 -a $FILE |lpr -P kyocera; mv $FULLPATH /var/spool/hylafax/recvq/dept1/;;    # tutti i fax ricevuti su ttyS14
ttyS15)   /usr/bin/tiff2ps -w 8.5 -h 11 -a $FILE |lpr -P kyocera; mv $FULLPATH /var/spool/hylafax/recvq/dept2/;;    # tutti i fax ricevuti su ttyS15
esac

Notare che specificare le dimensioni di una pagina è consigliato per assicurarsi che le pagine 11x14 vengano stampate in modo corretto.

Visualizzare fax tramite un browser internet

apt-get update
apt-get install apache2

cd /var/www
ln -s /var/spool/hylafax/recvq fax

Client di invio fax

La lista di tutti i software è al seguente indirizzo: http://www.hylafax.org/content/Client_Software

Linux

Si può usare Gfax o Kde Print Fax. Gfax è installabile con:

apt-get update
apt-get install gfax

Quindi andare nel menu Applicazioni > Ufficio > Gfax.

Spedire fax da OpenOffice, TextEditor, ecc.

1. Installare GFax (apt-get install gfax)
2. Configurarlo con il server fax (HylaFAX); si può provare la configurazione di GFax inviando un fax con TextEditor (Applicazioni > Accessori)
3. Per OpenOffice eseguire /usr/lib/openoffice/program/spadmin da root
4. Dalla GUI di spadmin aggiungere un convertitore fax/pdf e inserire gfax come comando
5. Salvare la configurazione
6. Provare a spedire un documento OpenOffice via fax

L'invio con Fax Printer non ha funzionato, mentre con il convertitore PDF e impostando una cartella PDF non si è bloccato. 

Windows

Hardware conosciuto come funzionante

Modem seriali

  1. US Robotics 56K External Fax Modem; 5686E (fornito senza cavo)
  2. USRobotics Courier V.Everything External Fax Modem
  3. Amigo AME-CA95, External V.92 DATA/FAX/TAM Modem - (newegg.com)

Adattatori seriali multiporta

  1. Startech.com 4 Multi Port Serial PCI Card
  2. Startech.com 2 Port Serial PCI Card

Modem USB

Sito web che vende il modem USB (in greco): http://www.e-shop.gr/show_per.phtml?id=PER.533709

lsusb lo riconosce come:

Bus 001 Device 002: ID 0483:7554 SGS Thomson Microelectronics 56k SoftModem
  idVendor           0x0483 SGS Thomson Microelectronics
  idProduct          0x7554 56k SoftModem

Il driver funzionante è lo "slusb" SmartLink, vedere slmodem.

Il modem viene installato sotto /dev/ttySL0, non sembra necessaria alcuna configurazione particolare per Hylafax.

Un altro che funziona con il modulo cdc_acm, testato solo per Hylafax, è il TRENDnet TFM-561U. In Debian Squeeze è Plug&Play.

lsusb info:

Bus 007 Device 002: ID 0572:1329 Conexant Systems (Rockwell), Inc.
  idVendor 0x0572 Conexant Systems (Rockwell), Inc.
  idProduct 0x1329

Il (primo) device è /dev/ttyACM0. Sembra che faxaddmodem di Hylafax lo configuri correttamente.

Aggiungere un prefisso di selezione

Per configurare !Hylafax per comporre un numero e mettersi in pausa prima di chiamare il numero richiesto, aggiungere la seguente riga al file config.<DEVICE>:

ModemDialCmd: ATDT9,%s

ModemDialCmd: ATDT9,W%s

ModemDialCmd:     ATX3DT8,,,%s

Linee multiple di fax in entrata

Configurare una scheda PCI seriale multiporta

dmesg | grep tty

ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
ttyS14 at I/O 0xdf08 (irq = 209) is a 16550A
ttyS15 at I/O 0xdf10 (irq = 209) is a 16550A

lspci -v

0000:02:00.0 Serial controller: NetMos Technology PCI 9835 Multi-I/O Controller (rev 01) (prog-if 02 [16550])
        Subsystem: LSI Logic / Symbios Logic 2S (16C550 UART)
        Flags: medium devsel, IRQ 209
        I/O ports at df08 [size=8]
        I/O ports at df10 [size=8]
        I/O ports at df18 [size=8]
        I/O ports at df20 [size=8]
        I/O ports at df28 [size=8]
        I/O ports at df30 [size=16]

apt-get update
apt-get install setserial

setserial -g /dev/ttyS*

ls /dev/ttyS*

MAKEDEV ttyS14
MAKEDEV ttyS15

faxaddmodem

FaxNotify

RETURNFILETYPE=tiff;

Errori comuni

Minicom funziona ma faxaddmodem non trova un modem

Failure to receive silence

Class1SwitchingCmd: "<delay:7>"

T.30 T2 timeout, expected signal not received

Unspecified Phase C error, including too much delay between TCF and +FDR command

No Dial Tone

No carrier Detected

cat /var/spool/hylafax/log/xferfaxlog

Modem bloccato

Dopo un mese di lavoro (11.000 fax) improvvisamente il modem si blocca. Perché il modem USR non ha l'opzione di sblocco come il modem Mainpine, bisogna dire a !HylaFAX di provare a configurarlo più di (predefinito) 2 volte. Aggiungere questo al file config.tty#

MaxSetupAttempts:    10

Scheda con 4 porte seriali, supporto per più di 4 modem

dmesg | grep Serial

 Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled

serial8250: ttyS2 at I/O 0x3e8 (irq = 4) is a 16550A
 00:08: ttyS2 at I/O 0x3e8 (irq = 4) is a 16550A
 0000:05:04.0: ttyS0 at I/O 0x1010 (irq = 201) is a 16550A
 0000:05:04.0: ttyS1 at I/O 0x1018 (irq = 201) is a 16550A
 0000:05:04.0: ttyS3 at I/O 0x1020 (irq = 201) is a 16550A

Couldn't register serial port 0000:05:04.0: -28

mostra che ttyS2 è sulla scheda madre. ttyS0, S1, e S3 sulla scheda 9845.
Il driver ha trovato la quarta porta sulla scheda 9845, ma non può usarla
perché tutte e quattro le porte (da ttyS0 a ttyS3) sono già in uso 
(questo è il significato dell'errore "-28").

lspci -v

 2 port:
 02:00.0 Serial controller: NetMos Technology PCI 9835 Multi-I/O
 Controller (rev 01) (prog-if 02 [16550])
         Subsystem: LSI Logic / Symbios Logic 2S (16C550 UART)
         Flags: medium devsel, IRQ 209
         I/O ports at df08 [size=8]
         I/O ports at df10 [size=8]
         I/O ports at df18 [size=8]
         I/O ports at df20 [size=8]
         I/O ports at df28 [size=8]
         I/O ports at df30 [size=16]


 4 port:
 02:02.0 Serial controller: Unknown device 9310:9845 (rev 01) (prog-if 02
 [16550])
         Subsystem: LSI Logic / Symbios Logic Unknown device 0004
         Flags: medium devsel, IRQ 201
         I/O ports at 1000 [size=8]
         I/O ports at 1008 [size=8]
         I/O ports at 1010 [size=8]
         I/O ports at 1018 [size=8]
         I/O ports at 1020 [size=8]
         I/O ports at 1030 [size=16]

Aggiornare con Grub

## NON DECOMMENTARE, modificarle per le proprie necessità

## ## Opzioni predefinite di avvio ##
## opzioni predefinite del kernel
## opzioni predefinite del kernel per opzioni automagiche di avvio
## Se si desiderano opzioni speciali per kernel specifici usare kopt_x_y_z
## dove x.y.z è la versione del kernel. I numeri minori di versione possono essere omessi.
## es. kopt=root=/dev/hda1 ro
##      kopt_2_6_8=root=/dev/hdc1 ro
##      kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=/dev/sda1 ro 8250.nr_uarts=16

update-grub

Aggiornare con Grub2

# Se si fanno cambiamenti a questo file, eseguire 'update-grub' per applicare le modifiche
# /boot/grub/grub.cfg.

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet 8250.nr_uarts=16"
GRUB_CMDLINE_LINUX=""

update-grub

Controllare che tutto funzioni

setserial -g /dev/ttyS*

/dev/ttyS0, UART: 16550A, Port: 0x03f8, IRQ: 4
/dev/ttyS1, UART: 16550A, Port: 0x1010, IRQ: 201
/dev/ttyS10, UART: unknown, Port: 0x0000, IRQ: 0
/dev/ttyS11, UART: unknown, Port: 0x0000, IRQ: 0
/dev/ttyS12, UART: unknown, Port: 0x0000, IRQ: 0
/dev/ttyS13, UART: unknown, Port: 0x0000, IRQ: 0
/dev/ttyS14, UART: unknown, Port: 0x0000, IRQ: 0
/dev/ttyS15, UART: unknown, Port: 0x0000, IRQ: 0
/dev/ttyS2, UART: 16550A, Port: 0x1018, IRQ: 201
/dev/ttyS3, UART: 16550A, Port: 0x1020, IRQ: 201
/dev/ttyS4, UART: 16550A, Port: 0x1010, IRQ: 201
/dev/ttyS5, UART: 16550A, Port: 0x1018, IRQ: 201
/dev/ttyS6, UART: 16550A, Port: 0x1020, IRQ: 201
/dev/ttyS7, UART: 16550A, Port: 0x1028, IRQ: 201
/dev/ttyS8, UART: unknown, Port: 0x0000, IRQ: 0
/dev/ttyS9, UART: unknown, Port: 0x0000, IRQ: 0

Strumenti

Archivio fax

1 0 * * * python /usr/local/bin/archive.py /var/spool/hylafax/recvq tif

python /usr/local/bin/archive.py /var/spool/hylafax/recvq tif

Inviare una serie di fax

17731231234
13121231234

:%s/^/1/g

sendfax -z mucchio_numeri_fax.csv FILE2007NEWS.pdf

sendfax -h ttyS0@localhost -n -k 'now + 24 hours' -z batchfaxnumbers.csv FILE2007NEWS.pdf

Manutenzione

faxstat -s

Riavviare Hylafax

/etc/init.d/hylafax restart

Controllare lo stato del fax

Si userà il comando faxstat:

faxstat

HylaFAX scheduler on localhost.localdomain: Running
Modem ttyS15 (1.773.123.1234): Running and idle
Modem ttyS14 (1.773.123.1234): Running and idle

Rimuovere un processo di fax

Per rimuovere dalla coda un fax spedito:

faxrm jobid

Dove jobid è l'ID del processo in questione.

È anche possibile rimuovere più fax in una volta sola:

faxrm 1011 1012 1013

Se si hanno più di 100 fax da rimuovere

Non fare questo:

Fare questo:

faxrm $(seq 1 100)

La stampante non stampa

Informazioni specifiche per paese

Generali