Recebendo fax com o efax.

ArticleCategory:

SystemAdministration

AuthorImage:

[Mark]

TranslationInfo:

original in en Mark Nielsen

en to pt Bruno Sousa

AboutTheAuthor:

O Mark Nielsen trabalha na AudioBoomerang.com a qual cria, entrega e apresenta email multimedia personalizado, e campanhas de web e newsletter. Ele trabalha como consultor entregando produtos finais aos clientes AudioBoomerang.com tais como relat�rios estat�sticos, avan�ados, personaliz�veis utilizados em perfis demogr�ficos ou fisiol�gicos, para futuras campanhas. No seu tempo livre, escreve artigos referentes ao software livre (GPL) ou literatura livre (FDL) e est� envolvido com um centro, n�o lucrativo, de aprendizagem eastmont.net.

Abstract:

Configurando o Efax para enviar e receber faxes no RedHat 7.2.

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

[illustration]

ArticleBody:

Prop�sito

Eu queria configurar um servidor fax. Eu pensei utilizar o HylaFax, mas o meu sistema RedHat j� tinha o mgetty instalado o qual colidiu com o HylaFax quando tentei instalar o rpm HylaFax. Tamb�m, se eu fizer as coisas bem, posso utilizar o mgetty para fazer logins e sess�es de voz, bem como as sess�es de fax. Por agora s� queria receber fax, com a instala��o por omiss�o da RedHat 7.2, sem software adicional.

O Efax e o fax s�o realmente a mesma coisa. O 'fax' �, somente, uma script que chama o efax.

Ficheiros de Configura��o

Existem dois ficheiros que pode configurar para ter as coisas a trabalhar: /usr/bin/fax e /etc/inittab.

Copie o /usr/bin/fax para /usr/bin/fax_custom, e altere as seguintes linhas:

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

No /etc/inittab, eu alterei:

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

Efax e fax -- recep��o simples

Para receber um fax simples, porque sabe que algu�m o est� a chamar com um fax, execute o comando:
efax -d /dev/ttyS0 -l "268 1162"  -c 1,5 -r reply
ou
fax answer

Se n�o quiser ter o spawn do fax em background, � espera da pr�xima liga��o, ent�o n�o fa�a as modifica��es no /etc/inittab que eu mencionei na sec��o "Ficheiros de Configura��o".

Efax e fax -- m�ltiplos com o inttab

Se alterou o ficheiro /etc/inittab como descrevi na sec��o "Ficheiros de Configura��o", fa�a um reboot ao computador e o seu modem receber� faxes e descarregar-los-� no direct�rio /var/spool/fax/incoming.

Se introduzir o comando:

ps auxw | grep efax
deve ver a sess�o do efax a rodas em background, como:
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&

Uma coisa simp�tica, � que se terminar o processo com o id "1698", ele reproduzir-se-� e acredito que ir� ler novamente o ficheiro /usr/bin/fax_custom. Assim, se fizer altera��es a este ficheiro, termine o processo que est� a correr o efax antes de utilizar o fax, quando quiser testar a sua configura��o.

O que deve fazer depois de receber fax ?

Bem, pode correr um trabalho atrav�s do cron que separa os ficheiros no /var/spool/fax/incoming, e cria um ficheiro de bloqueio para cada grupo dos faxes e, depois convert�-los para pdf, para serem vistos na web ou para serem directamente impressos.

Se os quiser imprimir, utilize o efix do seguinte modo

efix -ops fax_20020606_014847.001 | lpr

Recomendo-lhe que imprima o ficheiro e depois o guarde num direct�rio de salvaguarda.

Enviando faxes

Configurar o servi�o de impress�o foi mais instrutivo do que havia pensado. Primeiro, fa�a o que a p�gina do manual sugere (com algumas altera��es):
  1. ln /usr/bin/fax /usr/bin/faxlpr
    
  2. no /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
    

Agora, as minhas modifica��es s�o as que se seguem:

  1. No /usr/bin/faxlpr, Eu alterei
    l=`$FAX send "$num" fax$$`
    para 
    
    `gs -q -sDEVICE=tiffg3 -dNOPAUSE -sOutputFile=fax_out fax$$ </dev/null`
    l=`efax -t $num fax_out`
    `rm fax_out`
    
    e tamb�m, alterei estas tr�s linhas para a sec��o 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. Guardei uma script em perl em /usr/bin/faxlpr_perl e fiz o 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. Esta parte, realmente, detesto-a, mas tive de fazer um "chmod 666 /dev/ttyS1" para que o utilizador lpr, o qual controla os trabalhos de impress�o, possa utilizar o modem.

A script em perl possibilitou que o faxlpr encontra-se o n�mero do processo e altera-se o comando "fax" para "efax". Tal era requerido pois ele tentava criar ficheiros de bloqueio o que era algo que eu n�o queria.

Creio que o meu m�todo de enviar faxes fura os ficheiros de bloqueio, assim pode haver problemas quando estiver a enviar um fax ao mesmo tempo que est� a receber um.

Depois de toda esta dor e sofrimento o seu programa de impress�o deve ser capaz de especificara a op��o "-J", para que permita uma linha de comandos como 'lpr -P fax -J "555 1212" file.ps'. Caso contr�rio, imprima para um ficheiro e depois imprima esse ficheiro utilizando a linha de comandos.

Tamb�m, podia, simplesmente, utilizar o comando efax para enviar um fax e n�o atrav�s de servi�o de impress�o. Deve utilizar o gs para o converter, antes de o enviar, o que ainda � doloroso.

Conclus�es.

Sempre que tenho possibilidade, tentarei ver se consigo:

O Efax � s� uma solu��o tempor�ria at� conseguir p�r o mgetty a funcionar ( o que j� tentei, mas sem �xito). A �nica raz�o, pela qual n�o utilizei o hylafax, foi porque, o mesmo conflituou com o mgetty quando tentei instalar o rpm da� o meu interesse no mgetty e no efax. Estou a fazer tudo para utilizar o mgetty no futuro porque quero sess�es de login e de voz no mesmo modem. Parece que � poss�vel utilizar voz, login e fax ao mesmo tempo no mesmo modem -- mas poder� haver alguns problemas com alguns modems para detectarem correctamente a voz, o login e o fax todos ao mesmo tempo. Eu, realmente, n�o gosto de enviar faxes com o efax e o servi�o de impress�o. Espero que o mgetty resolva alguns dos problemas que tive.

Refer�ncias

  1. O F�cil Servidor Fax!
  2. A Servidor Fax Linux para uma rede Windows
  3. Linux Fax para Dummies
  4. Hylafax

Vers�o do Artigo1.2 : Data da �ltima modifica��o Thu Jun 13 04:17:31 2002