Recevoir des "fac similés" (fax) avec efax.
ArticleCategory:
SystemAdministration
AuthorImage:
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]
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)
:
-
ln /usr/bin/fax /usr/bin/faxlpr
-
Dans le fichier/etc/printcap.local
fax:lp=/dev/null:sd=/var/spool/fax:if=/usr/bin/faxlpr_perl:
-
mkdir /var/spool/lpd/fax
touch /var/spool/lpd/fax/lock
-
/etc/rc.d/init.d/lpd restart
Voici les modifications effectu�es :
-
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/..//`
-
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;
-
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 :
-
Envoyer des fax avec samba et mgetty. Je remplacerai /usr/bin/fax_custom
par mgetty dans inittab afin de recevoir et d'envoyer des fax
sans tous ces d�sagr�ments. La r�ception de fax et l'envoi manuel par efax
fonctionnent, la seule difficult� vient de l'envoi par le
service d'impression.
-
Utiliser mgetty non seulement pour les fax, mais aussi pour la voix et
les connexions.
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
-
Le serveur de fax facile !
-
Un serveur de fax Linux
pour un r�seau Windows
-
Linux Fax pour les nuls
-
Hylafax