Menu Chiudi

Gestire i FAX in entrata tramite IAXMODEM e HYLAFAX

 

Di seguito riporto alcune note sulla configurazione di Asterisk per gestione dei fax in entrata.

Schema di funzionamento:

FAX –> borchia ISDN –> mediagateway –> Asterisk –> iaxmodem (faxvirtuale) –> Hylafax –> server posta elettronica

 

Di seguito riporto alcune note sulla configurazione di Asterisk per gestione dei fax in entrata.

Schema di funzionamento:

FAX –> borchia ISDN –> mediagateway –> Asterisk –> iaxmodem (faxvirtuale) –> Hylafax –> server posta elettronica

La soluzione proposta ha i seguenti vantaggi:
– il server Asterisk può essere virtualizzato
– non viene utilizzato nessun fax fisico (iaxmodem è un fax software)
– possono essere gestiti N fax virtuali
– apportando le relative modifiche alla configurazione proposta, Hylafax può essere utilizzato come fax-server per l’invio dei fax

IAXMODEM

Installazione di iaxmodem:

# apt-get install iaxmodem

Configurazione lato Asterisk da aggiungere in coda al file /etc/asterisk/iax.conf:

[iaxmodemyy]
type=friend
disallow=all
allow=ulaw
qualify=yes
notransfer=yes
host=dynamic
context=CONTESTO ;questa è l'uscita predefinita configurata
requirecalltoken=no
username=iaxmodemyy
secret=PASSWORD

ricaricare la configurazione iax2 dalla console di asterisk

# asterisk -rvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv

asterisk*CLI> iax2 reload 
  == Parsing '/etc/asterisk/iax.conf':   == Found

NB. verificare che nel file /etc/asterisk/sip.conf non sia stata valorizzata la variabile t38pt_udptl

Configurazione lato IAXModem:

# cat /etc/iaxmodem/ttyIAXyy
device          /dev/ttyIAXyy
owner           uucp:uucp
mode            660
port            PORTA UTILIZZATA DA OGNI iaxmodem (es. 4570)
refresh         60
server          127.0.0.1
peername        iaxmodemyy
secret          PASSWORD
cidname         DESCRIZIONE IDENTIFICATIVO DEL FAX
cidnumber       NUMERO TELEFONICO IDENTIFICATIVO DEL FAX
codec           ulaw

dove yy e’ il progressivo della periferica fax virtuale che verra’ gestita.

Avviare il servizio iaxmodem

/etc/init.d/iaxmodem start

se tutto e’ andato a buon fine, nella console di Asterisk apparirà qualcosa di questo tipo:

-- Registered IAX2 'iaxmodem1' (AUTHENTICATED) at 127.0.0.1:4570

e tra i device troveremo i nuovi fax virtuali

# ls /dev/ttyIAX* -lrt
lrwxrwxrwx 1 root root 10 22 mag 11.58 /dev/ttyIAX1 -> /dev/pts/3

HYLAFAX

Installazione Hylafax:

# apt-get install hylafax-server

Procedere con la configurazione di Hylafax:

# faxsetup

in linea di massima è possibile confermare tutte le opzioni di default proposte.

Aggiungiamo il nuovo fax virtuale all’elenco dei fax

You do not appear to have any modems configured for use.  Modems are
configured for use with HylaFAX with the faxaddmodem(8) command.
Do you want to run faxaddmodem to configure a modem [yes]? 
Serial port that modem is connected to [ttyS0]? ttyIAXyy]

Altri parametri da configurare:

Country code [1]? 0
Area code [415]? 0461
Phone number of fax modem [+1.999.555.1212]? +390461xxxxxx
Local identification string (for TSI/CIG) ["NothingSetup"]? NOME IDENTIFICATIVO
Long distance dialing prefix [1]? 0
International dialing prefix [011]? 0

Se non ci sono ulteriori fax virtuali da configurare rispondere no alla richiesta:

Do you want to run faxaddmodem to configure another modem [yes]? no

NB. e’ necessario fare in modo che hylafax venga avviato SOLO quando il dispositivo iaxmodem e’ effettivamente disponibile

Per gestire questo modificare il file /etc/init.d/hylafax aggiungendo come primo comando una pausa di 3 secondi per
consentire a iaxmodem di generare tutti i device virtuali in /dev/ttyIAX??

/bin/sleep 3 

impostando l’ordine di avvio

# Should-Start:      $local_fs $network iaxmodem

e aggiornando il tutto con il comando

# update-rc.d iaxmodem defaults

Configurare l’inoltro dei fax tramite posta elettronica:

# cp /usr/share/doc/hylafax-server/examples/FaxDispatch.example /var/spool/hylafax/etc/FaxDispatch

e configurare a piacimento il file FaxDispatch

## This is an example /etc/hylafax/FaxDispatch which shows you some
## of the features of the stock faxrcvd command. You should not
## use this file as is. For details, read faxrcvd(8).

# mittente da utilizzare nei messaggi di posta elettronica
FROMADDR=fax@DOMINIO

# destinatario predefinito per le notifiche
TOADDR=ced@DOMINIO

# abilita la notifica solo per eventuali errori di ricezione/trasmissione
NOTIFY_FAXMASTER=errors

# template da utilizzare per "formattare" il contenuto del messaggio di posta elettronica
TEMPLATE=it

# elenco e-mail a cui inoltrare i fax in arrivo, dopo averli convertiti in PDF
EPROTOCOLLO=protocollo@DOMINIO

# ATTENZIONE: le due opzioni, invio tramite e-mail e archiviazione file tif in una cartella specifica 
#             sono di mutua esclusione, in quanto, il remove/move del file viene eseguito PRIMA che
#             il messaggio di posta elettronica venga inviato.
#
#             la copia del file in una cartella specifica, lasciando l'originale nella cartella di spool
#             e l'invio tramite e-mail, invece, può essere utilizzato tranquillamente.


## invio tramite posta elettronica in base al device utilizzato
#case "$DEVICE" in
#       ttyIAX1) SENDTO=$EPROTOCOLLO; FILETYPE=pdf;;
#esac

## copia del file originale in una cartella specifica
#case "$DEVICE" in
#       ttyIAX1)
#	/bin/cp $FILE /some/place;;
#esac

## smistamento sulle cartelle in base al device utilizzato
#FOLDER="/var/spool/hylafax/recvq/"
#FULLPATH="${FOLDER}${FILENAME}.tif"
#case "$DEVICE" in
#	ttyIAX1)
#		mv $FULLPATH /tmp/;;
#	ttyIAX2)
#		mv $FULLPATH /var/spool/hylafax/recvq/personale/;;
#esac 

## altre opzioni utilizzabili

## To do sender-based routing [from faxrcvd(8)]
#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 "$CIDNUMBER" in
#       435*)        SENDTO=lee; FILETYPE=pdf;; # all faxes from area code 435
#       5059627777)  SENDTO=amy; FILETYPE=tif;; # Amy wants faxes in TIFF
#esac
 
#case "$SUBADDR" in
#       53)          SENDTO=FaxMaster;;         # without double-notification
#       roger)       SENDTO=roger;;             # possible text subaddressing
#esac
 
 
## To do device-based routing [from faxrcvd(8)]
#case "$DEVICE" in
#       ttyS1)            SENDTO=john;;         # all faxes received on ttyS1
#       ttyLT0)           SENDTO=mary@home;;    # all faxes received on ttyLT0
#esac
WordPress Appliance - Powered by TurnKey Linux