Recevoir des "fac similés" (fax) avec efax.

ArticleCategory:

SystemAdministration

AuthorImage:

[Mark]

TranslationInfo:

original in en Mark Nielsen

en to fr Paul Delannoy

AboutTheAuthor:

Mark Nielsen travaille � AudioBoomerang.com, soci�t� qui cr�e, exp�die et assure le suivi de courrier multim�dia personnalis�, de sites web et de campagnes de presse. Il travaille comme consultant et propose des produits finis aux clients d'AudioBoomerang.com, tels que des rapports statistiques personnalis�s utilis�s � des fins de profils d�mographiques ou psychologiques pour des campagnes � venir. Pendant son temps libre, il �crit des articles relatifs aux logiciels libres (GPL) ou aux documents libres (FDL). Il est �galement impliqu� dans le centre de formation � but non lucratif eastmont.net.

Abstract:

Comment configurer Efax pour recevoir et envoyer des fax sous RedHat 7.2.

ArticleIllustration:[This is the title picture for your article]

[illustration]

ArticleBody:

Le but

Je voulais installer un serveur de fax. J'ai pens� utiliser HylaFax, mais mon syst�me RedHat int�grait d�j� mgetty qui est entr� en conflit avec l'installation de HylaFax par la commande rpm. Aussi, je ne crois pas me tromper en pensant que je pourrais établir des sessions de connexion, des sessions vocales ou des transactions par fax, uniquement avec mgetty. Pour l'instant, je me contente de recevoir des fax avec l'installation par d�faut de RedHat 7.2, sans ajout de logiciel suppl�mentaire.

Efax et fax sont une seule et m�me chose. 'fax' est un script d'appel d'Efax.

Fichiers de configuration

Pour que cela fonctionne, vous devez configurer deux fichiers : /usr/bin/fax et /etc/inittab.

Copiez /usr/bin/fax vers /usr/bin/fax_custom ; j'y ai chang� les lignes suivantes :

FAXDIR=/var/spool/fax/incoming
NAME="AudioBoomerang.com Computer Fax Server"
FROM="+1 111 222 3333"
ANSFNAME="fax_%Y%m%d_%H%M%S"

Dans /etc/inittab, j'ai chang� :

S0:2345:respawn:/bin/sh /usr/bin/fax_custom answer

Efax et fax -- r�ception d'un seul fax

Pour recevoir un fax de quelqu'un dont vous savez qu'il vous envoie ce fax, ex�cutez cette commande :
efax -d /dev/ttyS0 -l "268 1162" -c 1,5 -r reply
ou
fax answer

Si vous ne d�sirez pas que le logiciel fax attende en t�che de fond le prochain appel, ne modifiez pas /etc/inittab comme mentionn� dans la partie "fichiers de configuration".

Efax et fax -- r�ception de plusieurs fax avec inittab

Si vous avez modifi� le fichier /etc/inittab comme indiqu� dans le paragraphe "Fichiers de configuration", red�marrez l'ordinateur : votre modem va alors recevoir les fax et les stocker dans le r�pertoire /var/spool/fax/incoming.

Si vous tapez la commande :

ps auxw | grep efax
vous obtiendrez la preuve que efax fonctionne en t�che de fond, gr�ce � une ligne ressemblant � :
root 1698 0.0 0.4 1576 616 ? S< 21:47 0:00 /usr/bin/efax -v -v chewmainrxtf -d/dev/modem -iZ -i&FE&D2S7=120 -i&

La bonne chose, c'est que, si vous tuez le processus num�ro "1698", il va �tre r�activ� et je crois qu'en plus, il relira le fichier /usr/bin/fax_custom file. Ainsi, si vous modifiez ce fichier, il vous suffit de tuer le processus correspondant avant tout nouvel essai de fax, afin de tester votre nouvelle configuration.

Que doit-on faire apr�s la r�ception d'un fax ?

Le mieux est de lancer une t�che cron qui trie les fichiers dans /var/spool/fax/incoming, cr�e un verrou pour chaque groupe de fax, puis, soit les convertit en pdf pour permettre de les visualiser sur le web, soit les imprime.

Pour les imprimer, utilisez par exemple efix, ainsi :

efix -ops fax_20020606_014847.001 | lpr

Je vous conseille d'imprimer le fichier puis de l'archiver dans un r�pertoire de sauvegarde.

Envoyer des fax

Configurer le service d'impression a �t� plus complexe que je ne le pensais. D'abord, suivez les indications des pages de manuel (avec quelques diff�rences) :
  1. ln /usr/bin/fax /usr/bin/faxlpr
  2. Dans le fichier/etc/printcap.local
    fax:lp=/dev/null:sd=/var/spool/fax:if=/usr/bin/faxlpr_perl:
  3. mkdir /var/spool/lpd/fax
    touch /var/spool/lpd/fax/lock
  4. /etc/rc.d/init.d/lpd restart

Voici les modifications effectu�es :

  1. Dans /usr/bin/faxlpr, j'ai chang�
    l=`$FAX send "$num" fax$$`
    en `gs -q -sDEVICE=tiffg3 -dNOPAUSE -sOutputFile=fax_out fax$$ </dev/null` l=`efax -t $num fax_out` `rm fax_out` et aussi modifi� ces trois lignes de la section faxlpr :
    num=` echo "$cfile" | sed -e /^[^J]/d -e s/..//`
    host=`echo "$cfile" | sed -e /^[^H]/d -e s/..//`
    user=`echo "$cfile" | sed -e /^[^P]/d -e s/..//`
    
  2. Ce script perl a �t� enregistr� sous le nom /usr/bin/faxlpr_perl puis les droits ont �t� corrig�s par un chmod 755 /usr/bin/faxlpr_perl:
    #!/usr/bin/perl
    
    my $String = "";
    foreach my $Arg (@ARGV)
     {
     if ($Arg =~ /\-j/)
      {
      my $Copy = $Arg;
      $Copy =~ s/\-j//;
      open(FILE,">lock"); print FILE "hfA$Copy"; close FILE;
      }
     }
    my $Command = "/usr/bin/faxlpr";
    system ($Command, @ARGV);
    print 1;
    
  3. L�, je n'ai pas du tout appr�ci�, mais j'ai d� taper "chmod 666 /dev/ttyS1" pour que l'utilisateur lpr qui contr�le les t�ches d'impression puisse se servir du modem.
Ce script perl permet � faxlpr de conna�tre le num�ro du processus et de changer la commande "fax" en "efax"; ceci a �t� n�cessaire parce qu'il essayait de cr�er des verrous que je ne voulais pas.

Je pense que ma m�thode d'envoi alt�re ces verrous, �a peut poser des probl�mes si vous essayez d'envoyer un fax pendant la r�ception d'un autre.

Apr�s toutes ces peines et souffrances, votre programme d'impression doit aussi supporter l'option "-J" pour que vous puissiez taper une commande 'lpr -P fax -J "555 1212" file.ps'. Sinon, redirigez l'impression vers un fichier puis imprimez celui-ci � partir de la ligne de commande.

Vous pourriez �galement utiliser la commade efax directement pour envoyer un fax, sans passer par le service d'impression. Vous devez alors utiliser gs pour le convertir avant de l'envoyer, ce qui reste une contrainte.

Conclusion

D�s que je pourrai, j'essaierai de voir si je peux : Efax est une solution temporaire, jusqu'� ce que j'arrive � faire fonctionner mgetty (je n'ai pas encore r�ussi). Ma seule raison de ne pas utiliser hylafax est le conflit avec mgetty rencontr� lors de l'installation par rpm, ce qui m'a pouss� � m'int�resser � mgetty, puis � choisir efax. Je vais essayer d'utiliser mgetty dans l'avenir parce que je voudrais �tablir des connexions et des sessions vocales avec le m�me modem. Cela semble tout � fait possible -- mais il se pourrait que certains modems �prouvent des difficult�s � distinguer les fax de la voix, la voix des connexions. Je n'aime pas vraiment envoyer et recevoir des fax avec efax et le service d'impression. J'esp�re que mgetty r�soudra une partie des probl�mes rencontr�s.

R�f�rences

  1. Le serveur de fax facile !
  2. Un serveur de fax Linux pour un r�seau Windows
  3. Linux Fax pour les nuls
  4. Hylafax