--> by Alessandro Scapuzzi Installazione Configurazione ed uso di Hylafax Cos'è Hylafax Il programma Hylafax è un software Gpl che permette di inviare e ricevere fax all'interno di una rete locale. Il programma (htttp://www.hylafax.org) è composta dal pacchetto server da installare sul S.O. Linux e da varie applicazioni Client sia per ambienti Linux (a linea di comando o grafici), Windows o MAC; è supportato anche il Java che quindi permette l'invio di fax tramite qualsiasi Browser. Sono possibili numerose configurazioni che permettono ad esempio di ricevere la risposta all'invio del fax tramite e-mail, eventualmente allegando anche l'immagine .tif del fax inviato. Installazione Prima di procedere all'installazione di Hylafax dobbiamo disinstallare mgetty+sendfax (solo se utilizza lo stesso modem per accesso remoto) in quanto anche mgetty installa sendfax e quindi sarebbe un problema di sintassi tra i 2 sendfax (uno di mgetty e uno di Hylafax). #Rpm -e mgetty Adesso è possibile installare il pacchetto hylafax prelevando dal sito quello relativo alla vs. distribuzione (nel nostro caso per la RH7), digitiamo quindi: #Rpm -Uvh hylafax-4.1beta2-2rh7.i386.rpm..rpm Completata l'installazione del pacchetto digitiamo il comando #/usr/sbin/faxsetp che provvederà a creare il file di configurazione (/var/spool/fax/etc/config.ttyS0 perché nel nostro caso il modem è sulla ttyS0) e ad installare il modem. Rispondiamo alle domande proposte, eventualmente modificando solo i seguenti parametri: CountryCode: 0039 AreaCode: 050 FAXNumber: 8953601 Per inserire il vs. numero di telefono RingsBeforeAnswer: 5 Per settare il numero di squilli prima della risposta in automatico ai fax in arrivo SpeakerVolume: on Per il volume dell?altoparlante del modem (off) LocalIdentifier: ?Società xxxxx? Affinché appaia il Vs. nome sull?intestazione dei fax inviati A questo punto il sistema avvetirà che è stato rilevato un modem e Vi chiederà se volete provvedere alla sua configurazione oppure no. Potete rispondere ?Y? oppure procedere successivamente anche alla modifica o all?installazione di un nuovo fax con il ocmando #faxaddmodem ttyS1 o S2 o Sx a seconda della porta utilizzata. la procedura rileva automaticamente il modem utilizzato ma, nel caso in cui non funzioni correttamente in /var/spool/fax/config possiamo trovare già una serie di configurazioni per i modem più utilizzati; così come sul sito ufficiale. --------------------------------------------------------------------------------\ ------------------------------ questo è il file che utilizzo per il mio modem 3Com USRobotics Fax Voice 56k V90 # # Configuration for using the Class 1 command interface with # a USR Courier or Sportster modem and XON/XOFF flow control. # # CountryCode: 0039 AreaCode: 05xx FAXNumber: 89xxxx LongDistancePrefix: 1 InternationalPrefix: 011 DialStringRules: etc/dialrules ServerTracing: 1 SessionTracing: 11 RecvFileMode: 0600 LogFileMode: 0600 DeviceMode: 0600 RingsBeforeAnswer: 5 SpeakerVolume: on GettyArgs: ?-h %l dx_%s? LocalIdentifier: ?mio nome-Hylafax? TagLineFont: etc/lutRS18.pcf TagLineFormat: ?From %%l|%c|Page %%p of %%t? MaxRecvPages: 25 # # # Modem-related stuff: should reflect modem command interface # and hardware connection/cabling (e.g. flow control). # ModemType: Class1 # use class 1 interface ModemRate: 38400 ModemFlowControl: rtscts # hardware flow control # #ModemResetCmds: ATX3 # non attendere il segnale #ModemSetupDTRCmd: ATS13=1&D2 # setup so DTR drop resets modem #ModemSetupDCDCmd: AT&C1 # setup so DCD reflects carrier (or #not) ModemNoFlowCmd: AT&H0&I0&R1 # setup modem for no flow #control ModemHardFlowCmd: AT&H1&I0&R2 # setup modem for hardware #flow control ModemSoftFlowCmd: AT&H2&I2&R1 # setup modem for software #flow control ModemResultCodesCmd: ATQ0X4 # enable result codes # ModemSetupDTRCmd: ATS13=1&D2 # setup so DTR drop resets modem ModemSetupDCDCmd: AT&C1 # setup so DCD reflects carrier (or not) ModemNoFlowCmd: AT&H0&I0&R1 # setup modem for no flow control ModemHardFlowCmd: AT&H1&I0&R2 # setup modem for hardware flow control ModemSoftFlowCmd: AT&H2&I2&R1 # setup modem for software flow control ModemResultCodesCmd: ATQ0X3 # enable result codes ModemDialCmd: ATDP0,%s # abilita chiamata a toni # # ModemMfrQueryCmd: !USR ModemModelQueryCmd: ATI3 ModemRevQueryCmd: ATI7 # XXX returns a multi-line result # # When AT+FCLASS=1 is issued the modem automatically switches # to software flow control; these parameters let the fax software # reset flow control as needed after entering Class 1. # Class1NFLOCmd: AT&H0&I0&R1 # setup modem for no flow control Class1HFLOCmd: AT&H1&I0&R2 # setup modem for hardware flow control Class1SFLOCmd: ?? # modem does this automatically # # The remainder of this configuration is included so that the # modem ?idles? in Class 0 while not sending or receiving facsimile. # ModemSetupAACmd: AT+FCLASS=1&H1&I0&R2 # leave modem in class 1 (AP) ModemAnswerCmd: AT+FCLASS=1&H1&I0&R2A # force RTS/CTS after change # #ModemSetupAACmd: AT+FCLASS=0 # leave modem idling in class 0 #ModemAnswerCmd: AT+FCLASS=1A # answer in Class 1 # # Disables the reporting of bad frames by the modem. This # overcomes a firmware problem in the x2 and V90 Sportsters. # It is not necessary for the Courier modem. # #Class2NRCmd: AT+FNR=1,1,1,0 --------------------------------------------------------------------------------\ ---------------------------------- Importanti sono le due stringe successive che consentono di utilizzare il comando X3, di non attendere il segnale di linea per comporre il numero, e di comporre un eventuale numero per uscire da un centralino (nel mio caso lo 0) ModemResultCodesCmd: ATQ0X3 # enable result codes ModemDialCmd: ATDP0,%s # abilita chiamata a toni A questo punto dobbiamo modificare il file /var/spool/fax/etc/hosts che contiene l?elenco dei client che possono accedere al server Hylafax, aggiungendo gli indirizzi IP che vogliamo. localhost 127.0.0.1 192.xxx.yy.zz 192.xxx.yy.zz .. . siamo quasi in dirittura di arrivo, dobbiamo solamente digitare #faxmodem ttyS0 per far partire il server e siamo pronti per inviare i nostri fax. Comandi sono a disposizione alcuni comandi che ci consentono di inviare fax, controllare lo stato del server e la coda fax oppure per rimuovere lo spool. vediamone alcuni faxstat faxstat -h hostname.domain -s ci consente di controllare lo stato del server ed elenca la coda fax in uscita. faxrm faxrm hostname.domain PID ci consente di cancellare un fax in coda (vedere la pagina man per la sintassi a secondo della distribuzione Linux utilizzata) sendfax è il comando che consente di inviare un file (in formato ascii o .ps) dalla nostra riga di comando, vi sono numerose opzioni elencate nella pagina man, per esempio : sendfax -n -d numerofax /home/pippo.ps esegue l?invio senza copertina (-n) Avvio automatico del server Hylafax per far si che il server fax parta automaticamente senza bisogno di digitare il comando faxmodem ttyS0 dobbiamo modificare il file /etc/rc.d/rc.local inserendo le righe /usr/sbin/faxgetty /dev/ttyS0 /usr/sbin/faxmodem /dev/ttyS0 rispettivamente per la ricezione e l?invio automatico. e aggiungere nel file /etc/inittab la riga S0:2345:respawn:/usr/sbin/faxgetty ttyS0 Istallazione dei Client Per inviare fax dai client sono disponibili alcuni programmi, grafici e non, che ci consento di sfruttare la maggior parte delle potenzialità del server Hylafax. In particolare esistono sia interfacce grafiche per i desktop KDE o Gnome in ambiente Linux (Ksend, Khylafax, Gflex, GnuHylafax...), sia programmi per MSWindows (Winflex, WHFC) sia per MAX (Macflex). In prima battuta andiamo ad installare WHFC che gira su qulsiasi SOWindows (9x, Me, 2000) che gira sui sistemi operativi Win9x. Dobbiamo innanzitutto scaricare i due file whfc_setup_en.zip whfclang.dll quindi decomprimere il .zip in una directory temporanea e proseguire l?installazione con queste opzioni scegliere la lingua inglese togliere il supporto per la lingua tedesca (chiaramente se uno non conosce le lingue) sostituiamo la .dll nella directory di installazione per convertire il tutto alla lingua italiana. A questo punto lanciamo il programma dal menù START di Win e apriamo il programma. Dal menù Fax/Configurazione sistema scegliamo il nome host della macchina server (o indirizzo IP se non è installato un DNS) e selezioniamo anche Usa ODBC per usare una rubrica standard poi passiamo alla Configurazione Utente e indichiamo il nostro indirizzo di posta (vedi installazione Postfix) e selezioniamo le opzioni di conferma e-mail e il formato pagina A4 e le opzioni della copertina Fax. Per poter utilizzare l?invio automatico da altri programmi procediamo ad installare una stampante virtuale che chiameremo per comodità Hylafax. Quindi scegliamo Stampanti dal Pannello di controllo di Windows, aggiungi stampante, stampante locale, Apple LaserWriterPro810 oppure una qualsiasi stampante postscrit; come porta scegliamo WHFCFAX: WHFC FaxPrinter port. Adesso, da qualsiasi applicazione, scegliendo stampa, invieremo un fax tramite il server Hylafax. una buona guida all?installazione di WHFC la potete trovare a questo indirizzo: http://www.sci.univr.it/intranet/Hylafax/winfax.html --> by Alessandro Scapuzzi Ho visitato un po' il sito Hylafax.org alla ricerca di informazioni circa lo smistamento dei fax in entrata ed in particolare ho selezionato questi: http://www.hylafax.org/man/hylafax-server.html http://www.hylafax.org/man/faxrcvd.html http://www.hylafax.org/man/fax2ps.html in questi documenti sono spiegati (in inglese) i comandi faxgetty faxrcvd e fax2ps. Non ho ancora messo in pratica niente però mi sembra di capire che: 1) è possible avvisare un FaxMaster che si occupi dello smistamento manuale, oppure inoltrare ai client il fax ricevuto, stamparlo direttamente o lasciarlo in coda per la sua gestione manuale -------------------------------------------------------------------------------------------------------- For example, case "$SENDER" in *1*510*526*1212*) SENDTO=sam;; # Sam's test rig in Berkeley *1*415*390*1212*) SENDTO=raster@asd;; # 7L Xerox room, used for scanning *5107811212) SENDTO=peebles@mti;; # stuff from home esac case "$DEVICE" in ttyS1) SENDTO=john;; # all faxes received on ttyS1 ttyLT0) SENDTO=mary@home;; # all faxes received on ttyLT0 esac case "$CIDNUMBER" in 435*) SENDTO=lee; FILETYPE=pdf;; # all faxes from area code 435 5059627777) SENDTO=amy; FILETYPE=tif;; # Amy wants faxes in TIFF esac --------------------------------------------------------------------------------------------------------- 2) trasformare il fax, che viene ricevuto in formato TIF in Ps. Ne deduco quindi che, se non fosse possibile identificare una casella di posta interna alla rete e legata al n° di telefono che ha inviato il fax, sia comunque possibile trasformare il file in postscript. Secondo voi, è posssible fare una ricerca all'interno del fax cercando ad esempio dei nomi e associarli ad una casella di posta? Potrebbe essere una soluzione per smistare i fax. In pratica se esistono gli utenti tizio caio e sempronio, si potrebbe fare la ricerca all'interno del file .ps e, se si trova un nome utente, spedirgli il fax (tiff). Capita infatti spesso che all'interno del fax ci sia il campo C.A. ed il nome. Chiaramente si dovrebbe prevedere il caso di nessun nome o di + nomi, inviando il .tif al Fax Master. Forse sono soluzioni complicate, forse sono utopie! che ne pensate? Io intanto utilizzo... la segretaria (Fax Master), ci conosce a memoria e mette i fax stampati nei relativi cestelli oppure consulta a video il fax e ce lo gira via posta interna.