Menu Chiudi

Gestire i FAX in entrata tramite SPANDSP – SCARTATO !!

NB. questo in teoria dovrebbe funzionare se sul centralino Asterisk fossero installate delle schede atte alla
connessione verso la rete PSTN…… da svariati test effettuati utilizzando un mediagateway Patton SN4638/5BIS/UI, in realtò spandsp è risultato essere instabile e non utilizzabile !!!

Installare il seguente pacchetto per gestire le informazioni contenute nel file tiff generato in fase di ricezione
del fax:

# apt-get install libtiff-tools

Verificare che la localizzazione di default sia impostata su italiano

NB. questo in teoria dovrebbe funzionare se sul centralino Asterisk fossero installate delle schede atte alla
connessione verso la rete PSTN…… da svariati test effettuati utilizzando un mediagateway Patton SN4638/5BIS/UI, in realtò spandsp è risultato essere instabile e non utilizzabile !!!

Installare il seguente pacchetto per gestire le informazioni contenute nel file tiff generato in fase di ricezione
del fax:

# apt-get install libtiff-tools

Verificare che la localizzazione di default sia impostata su italiano

# dpkg-reconfigure locales

Link utili:
https://wiki.asterisk.org/wiki/display/AST/New+in+1.8#Newin1.8-Fax
http://scottstuff.net/blog/2004/03/28/faxing-with-asterisk

Questo un esempio di configurazione del file extensions.ael

   // gestione dei fax in entrata
   _NUMERO-TELEFONICO-DA-INTERCETTARE => {

        // ReceiveFax(filename[,options])
        // options
        //   d - Enable FAX debugging.
        //   f - Allow audio fallback FAX transfer on T.38 capable channels.
        //   s - Send progress Manager events (overrides statusevents setting in res_fax.conf).

        // Salvo il fax ricevuto in una cartella temporanea
        set(FAXFILE=/tmp/${UNIQUEID});
        ReceiveFax("${FAXFILE}");
        Noop(FAXSTATUS ${FAXSTATUS}, FAXERROR ${FAXERROR}, FAXMODE ${FAXMODE});

        // Se il fax e' stato ricevuto correttamente, provvedo ad inoltrarlo tramite posta elettronica
        if(${FAXSTATUS}=SUCCESS){
                //
                // indirizzo e-mail a cui inoltrare il fax in formato pdf
                //
                set(EXTEMAIL=agostinimarco@comune.levico-terme.tn.it);
                System(/usr/lib/asterisk/scripts/mailfax "${FAXFILE}" "${EXTEMAIL}");
        }

        // Chiudo la comunicazione
        Hangup();

   } 

Questo lo script utilizzato per l’invio tramite e-mail dei fax ricevuti:

# mkdir /usr/lib/asterisk/scripts

# cat /usr/lib/asterisk/scripts/mailfax

#!/bin/sh

# recupero la data in lingua italiana
LANG=it_IT.UTF-8
export LANG
DATETIME=`date +"%A %d %b %Y %H:%M"`

# recupero il numero totale di pagine presenti nel fax
PAGES=$(tiffinfo $1 | grep "Page Number" | grep 0)
COUNT=${PAGES#*-}

# rimuovo eventuali file temporanei
rm -f $1.txt

# preparo il contenuto del messaggi di posta elettronica da inviare
echo "In allegato e' disponibile un nuovo fax.">>$1.txt
echo >>$1.txt
echo "Ricevuto in data : "$DATETIME>>$1.txt
echo "Pagine : "$COUNT>>$1.txt
echo >>$1.txt
echo "NB. si prega di NON rispondere al presente messaggio." >>$1.txt

# imposto oggetto e e-mail del destinatario
SUBJECT="Ricevuto un nuovo fax in data $DATETIME"
EMAIL=$2

# trasformo il fax da tiff in pdf
documentopdf=$1.pdf
/usr/bin/tiff2pdf -o $documentopdf $1

# infio il messaggio di posta elettronica
/usr/bin/mail -r INDIRIZZO-DI-POSTA-ELETTRONICA -a $documentopdf -s "${SUBJECT}" "${EMAIL}" < $1.txt

# rimuovo i file temporanei compreso il fax ricevuto
rm -f $1.txt
rm -f $1
rm -f $documentopdf

exit 0
WordPress Appliance - Powered by TurnKey Linux