Hylafax – Un fax server flessibile.

Non adattiamoci alle esigenze del software, ma adattiamo il software alle nostre!

Che cosa fa.

HylaFax è un software che consente di:

inviare fax

dal server (broadcasting);

come e-mail attachment;

da client *NIX, Windows, Mac collegati in rete;

mediante interfaccia Web;

ricevere i fax

mediante e-mail come immagine tiff o documento pdf allegato;

utilizzando client o interfaccia Web;

Abstract

Principio di funzionamento fax.

Hylafax, architettura.

Configurazione di Hylafax.

I client.

Un caso di implementazione reale.

Il fax

fax, faxsimile, telefax è un sistema per la trasmissione di immagini attraverso la linea telefonica.

Standard	Data di rilascio	Velocità (bit/s)	Modulazione

V.27	1988	4800, 2400	Phase-shift keying (PSK)

V.29	1988	9600, 7200, 4800	Quadrature amplitude modulation

V.17	1991	14400, 9600, 7200	Trellis modulation (TCM)

V.34	1994	28800	Quadrature amplitude modulation

Principio di funzionamento

per inviare/ricevere fax esistono apparecchi dedicati.

Come in uno scanner l'immagine viene scansionata riga per riga, trasformata in una sequenza di b/n o toni di grigio, trasformata in sequenza di byte.

la sezione modem invia la sequenza di byte, utilizzata per modulare la portante, attraverso la linea telefonica.

Dal fax al PC-fax

Nel 1985 Hank Magnuski, fondatore della Gammalink, realizzò la prima scheda fax per computer, chiamata Gammafax.

Inviando un fax mediante PC è il documento originale (immagine scannerizzata, documento OO, Word, PDF o altro) a essere trasformato in sequenza di pixel che sono inviati mediante il modem interno od esterno.

Schema invio fax

Il documento è tradotto in immagine con risoluzione fax (es. 200 dpi);

l'immagine scansionata riga per riga e inviata al modem;

il colloquio col modem è governato dai protocolli
- Classe 0, 1.0, 2, 2.0

PC come fax

Cosa serve?

PC!

Software.

modem funzionante; preferibilmente un modem-fax, che libera la CPU dalla gestione del protocollo di colloquio.

(no win-modem)

Il protocollo in breve

Il colloquio tra i modem per spedire un fax

Phase A – handshake:
viene stabilita la velocità di connessione.

Phase B – fax capabilities, caller ID.

Phase C – data, termina con segnali o interruzione portante.

Phase D – conferma pagina, what next?

Phase E - disconnessione.

Linux e i modem

Porta seriale

/dev/ttySx (x=0,1,...)

test con minicom

dialogo con comandi AT

impostazioni porta seriale:
#setserial [opzioni] device

Esempio configurazione porta

[root@sole ~]# setserial -a /dev/ttyS0
/dev/ttyS0, Line 0, UART: 16550A, Port: 0x03f8, IRQ: 4 Baud_base: 115200, close_delay: 500, divisor: 0
closing_wait: 30000
Flags: spd_normal skip_test auto_irq

Esempio sessione minicom

Breve storia di HylaFax

Lo sviluppo è iniziato nel 1988 ad opera di Sam Leffler che all'epoca lavorava in Silicon Graphics.

La Silicon Graphis decide di rilasciare HylaFax come free software, mantenendone il marchio.

Copyright

HylaFAX Facsimile Software

Copyright (c) 1990-1996 Sam Leffler

Copyright (c) 1991-1996 Silicon Graphics, Inc.

HylaFAX is a trademark of Silicon Graphics, Inc.

Permission to use, copy, modify, distribute, and sell this software and

its documentation for any purpose is hereby granted without fee, provided

that (i) the above copyright notices and this permission notice appear in

all copies of the software and related documentation, and (ii) the names of

Sam Leffler and Silicon Graphics may not be used in any advertising or

publicity relating to the software without the specific, prior written

permission of Sam Leffler and Silicon Graphics.

Riferimenti

Sito WEB:
http://www.hylafax.org

documentazione on-line (man-pages);

mailing lists;

download;

FAQ;

clients.

Download, installazione

versione attuale: 4.2.2

Sorgenti: tarball

Binari:

Redhat, Slackware, Suse

Solaris

riferimento a Fedora Core

Architettura di hylafax

INVIO

RICEZIONE

I daemons

hfaxd

comunica sulla porta 4559

gestisce le richieste client e dei vari programmi di servizio

riceve i fax

faxq

gestisce la coda di uscita

riceve le richieste da hfaxd

faxgetty ttyS0

deve girare, tipicamente da inserire in inittab

Struttura (1/2)

/etc/hylafax: configurazione demoni

Cartella principale

/var/spool/hylafax

./config/	esempi configurazione modem

./etc/	configurazione modem, smistamenti, dialrules

./bin/	script personalizzabili

Struttura (2/2)

docq, doneq, pollq, recvq, sendq

cartelle per documenti da inviare, inviati, in attesa, ricevuti, in spedizione

log

log dei job in ingresso ed uscita
contiene tutte le informazioni sul lavoro

Vari job sono inseriti in cron

Configurazione iniziale

verifica funzionamento modem

utilizzo procedura guidata
#faxaddmodem ttyS0

modifica file ~/etc/config.ttyS0

Informazioni importanti

numeri di telefono

identificativi

# EDIT THIS CONFIGURATION TO REFLECT YOUR SETUP
CountryCode:	39

AreaCode:

FAXNumber:	0704521562

LongDistancePrefix:

InternationalPrefix:

DialStringRules:	etc/dialrules

ServerTracing:	1

SessionTracing:	11

RecvFileMode:	0664

LogFileMode:	0664

DeviceMode:	0600

RingsBeforeAnswer:	4

SpeakerVolume:	off

GettyArgs:	"-h %l dx_%s"

LocalIdentifier:	"Delfis Srl"

TagLineFont:	etc/lutRS18.pcf

TagLineFormat:	"From %%l|%c|Page %%P of %%T"

MaxRecvPages:	25

Invio fax

sendfax [options] -d number file

-f sender

-n	esclude copertina

-l|-m risoluzione: low o medium

number: numero del fax
-d number1 -d number2	invia a due numeri

file testo, postscript, pdf, TIFF

il file /etc/hylafax/typerules consente di gestire qualsiasi formato

Ricezione fax

Attivare faxgetty.

Editare il file FaxDispatch.
SENDTO = fax@ricevente.it
FILETYPE = pdf|tiff

Controllare la propria
casella di posta !

Gestione e controllo

faxstat

-r	coda di ricezione

-s	coda di invio

-d	invii completati

viene inoltre visualizzato lo stato del/i modem

il formato dell'output può essere persona-lizzato -> hyla.conf.

Opzioni formato (-r)

a SubAddress received from sender (if any)

b Signalling rate used during receive

d Data format used during receive

e Error description if an error occurred during receive

f Document filename (relative to the recvq directory)

h Time spent receiving document (HH:MM:SS)

l Page length in mm

m Fax-style protection mode string (``-rwxrwx'')

n File size (number of bytes)

o File owner

p Number of pages in document

q UNIX-style protection flags

r Resolution of received data

s Sender identity (TSI)

t Compact representation of the time when the receive happened

w Page width in mm

z A ``*'' if receive is going on; otherwise `` '' (space)

Architettura client-server

Ci sono due modalità principali per inserire hylafax in ambiente di rete:

dialogare con il server (hfaxd) attraverso la porta 4559. Il set di comandi è ampiamente documentato.
I client vanno inseriti in hosts.hfaxd.

Costruire una interfaccia web locale che prepara e lancia comandi di alto livello.

Client - invio fax

inviare una versione ps o tiff del documento sul server

invio utilizzando hfaxd o sendfax

stampante samba

ftp + sendfax

I client - *X - invio

*X

SUSE

tkhylafax -->
tcl/tk

Gfax
Gnome front end

Client cross-platform

Hermes, iFax
-> sw commerciali costruiti su Hylafax

w2hfax
-> semplice interfaccia web

sistemi con java

Il caso reale

gruppo operante nel settore viaggi-congressi

4 linee in ingresso

> 150 fax/day

separazione ruoli (lettura, rimozione, invio)

budget limitato!

invio non critico

Soluzione

Studio software esistente.

nweb2fax di Supasin Sae-heng.

front-end php vs comandi hylafax:utilizzo comando faxstat per ottenere l'array dei job ricevuti.

invio: winprint HylaFax .

definizione di coda di stampa che utilizza una stampante postscript;

connessione al server tramite utente autorizzato;

Fax ricevuti

Stampa da client Windows

Il job viene accodato e gestito da hfaxq.

Il risultato dell'invio viene notificato via e-mail.

Grazie.

Any question?

Insert your notes here.

HYLAFAX

Presentazione GULCh LinuxDay 2005

Presentazione GULCh LinuxDay 2005

Template by Nicola Asuni 2005-10-10 - Presentazioni LinuxDay - GULCh 2005-11-26

Nicola Asuni

2005-05-01T13:39:17