TampFax

Ce systeme permet de temporiser l'emission de fax…

  1. Nous travaillons dans un openspace,
  2. les nouilles de commerciales ne sont pas foutues d'envoyer un fax correctement,
  3. couper le son ne suffit pas,
  4. et la secretaire à coter du Fax, deteste le gachi de papier (les AR des fax…)

La solution immaginée et mise en oeuve:

  1. Le Fax physique, est branchée sur une ligne spécial de l'Asterisk.
  2. Tout numeros compose par le fax atteris toujours sur le meme fax virtuel,
  3. Qui donne le fax à manger a un hylafax, accompagnant ce fax du numero auquel le dit fax était destiné.
  4. HylaFax recoit ce fax fort particulier, et l'envoie a une addresse mail speciale
  5. Cette addresse mail speciale aboutie sur un script qui réxpedie le fax au numero final
  6. Hylafax envoie l'AR à la secrétaire.

Le fax physique n'imprime jamais d'AR en cas de succes, donc comme tout les fax pour lui aboutissent, plus de probleme, on lui juste coupe le sifflet en désactivant les beep sonore du modem…

  • Voici la procedure :

(Je ne décris pas toutes les “subtilités” de la conf, je part du principe que vous savez configurer un peu un asterisk…)

Identification de la ligne du Fax physique

(je vous laisse trouver la bonne zap ;) ) Chez nous c'est ca la Zap/3, ca donne donc ca ds le zapata.conf

context=poste-fax
signalling=fxo_ks
channel=>3

Configuration de deux IAXmodem

(2, c'est pas forcement pour la frime ;)) (pour la config des IAXmodem dans Hylafax, je vous fait confiance) (pour en faire 2, vous etes des grands…) /etc/iaxmodem/ttyIAX0

device /dev/ttyIAX0
owner uucp:uucp
mode 660
port 4570
refresh 60
server 192.168.1.23
peername iaxmodem0
secret iaxmodem
cidname Societe-Fax
codec slinear
cidnumber 003--------

/etc/asterisk/iax.conf

[...]
[iaxmodem0]
type=friend
secret=iaxmodem
context=poste-interne
host=dynamic
disallow=all
allow=ulaw,alaw,slinear
permit=192.168.0.0/255.255.0.0
qualify=3600
jitterbuffer=no
[...]

Configuration spécifique de l'Asterisk

(Cette config permet de forcer mon fax a sortir en direct si le numero de sortie utilisé est le 1 a la place du 0 habituel)

[poste-fax]
exten => _1X.,1,NoOp(poste Fax emmet en direct !!!!)
exten => _1X.,n,Set(FAXDST=FaxBounce-${EXTEN})
exten => _1X.,n,Goto(comp-sortie,0${EXTEN:1},1)
exten => _X.,1,NoOp(poste Fax emmet via TampFax!!!!)
exten => _X.,n,Set(FAXDST=FaxBounce-${EXTEN})
exten => _X.,n,Goto(in-fax,fax,1)

Configuration du traitement des fax par hylafax

(Comme vs le comprenez plus haut, le CALLID4 sera ici initilialisé à “FaxBounce-XXXXXXX”, donc la, dans ce cas le fax est envoye a un utilisateur fictif, un alias de messagerie)

/etc/hylafax/FaxDispatch

FROMADDR=fax@domaine.tld
SENDER=Fax Server
FILETYPE=pdf

case "$CALLID4" in
  FaxStd) SENDTO=faxstd@domaine.tld ;;
  FaxCommercial) SENDTO=faxcommercial@domaine.tld ;;
  FaxBounce-*) FILETYPE=tif ; CALLID1=$CALLID4; SENDTO=faxatil,faxbounce@domaine.tld ;;
   *) SENDTO=faxlost@domaine.tld;;
  esac

Traitement des fax pour génerer la réemission

(Pour envoyer un fax en ligne de commande, il faut donc, le decouper du mail, mercu munpack, mais aussi un utilisateur dument autorisé dans hylafax…. je vous laisse vous regaler) (spécial dédicace pour Silmaril, regarde le parametre -h de sendfax) cat /etc/hylafax/hosts.hfaxd

localhost:21::
^faxator@
cat /etc/aliases
faxatil: | /usr/local/bin/faxatil.sh
faxator: faxnotify@domaine.tld
cat /usr/local/bin/faxatil.sh
/usr/bin/munpack -f -q -C /tmp 2>/dev/null| /usr/bin/tail --lines=1 | /usr/bin/cut -f1 -d"." | while read a
do
  TO=`/bin/grep "CallID1: " /tmp/$a.desc | /usr/bin/cut -f2 -d"-"`
  /usr/bin/sendfax -o faxator -f faxator -Dnd $TO /tmp/$a.tif;rm /tmp/$a.*
done

je pense n'avoir rien oublié…. Les avantages de cette solution c'est aussi l'archivage facile des fax emis….

docs/linuxeries/asterisk/tamp_fax.txt · Dernière modification: 2012/08/26 17:52 (édition externe)
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki