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