Libertonia
Portada · Todo · Software Libre · Desarrolladores · Comunidad · Internet · Tecnología · Meta · Diarios
Sistema de fax con herramientas libres

Documentación
Por sanko
departamento , Sección Tecnología
Puesto a las Wed Oct 8th, 2003 at 06:15:52 PM CET
Para una empresa y para cualquiera tener un servidor de fax que permita enviar los documentos directamente desde el ordenador, sin pasar por papel, es un ahorro de tiempo y de dinero. Existen soluciones comerciales que nos permiten tener nuestro propio servidor de fax, pero las alternativas libres, teniendo la misma potencia nos dan una versatibilidad a la que dificilmente llegarán las aplicaciones propietarias.

En el siguiente documento explico cómo he instalado el servidor de fax de la empresa en la que trabajo, usando basicamente Hylafax y Samba. Aunque tengo que omitir algunos desarrollos extra que he realizado creo que la idea seguida quedará suficientemente clara.

 


Índice

Software utilizado
¿Qué vamos a hacer?
Instalando Hylafax
Samba y la impresora virtual
Final
Enlaces


Software utilizado

Todo el sistema se ha montado sobre una Debian Woody, aunque seguramente funcionaría igual de bien en cualquier versión de Linux. Aunque hay mucha gente que piensa lo contrario puedo decir que instalar una Woody es un juego de niños (o de abuelitas).

Con respecto al fax, todo esta basado principalmente en el software Hylafax (http://www.hylafax.org/), para enviar y recibir faxes, y en el gran conocido Samba (http://www.samba.org/). El por qué de Samba se explica un poco más tarde.


¿Qué vamos a hacer?

En primer lugar debemos de tener claro en qué escenario nos vamos a mover. En mi caso me encuentro con una red dividida en dos zonas, servidores (principalmente Linux) y clientes/usuarios con una amplia variedad de Windows. Nuestra idea es montar un nuevo servidor Linux con el Hylafax instalado, pero tenemos el problema de la conexión de los usuarios al servidor de fax.

Existen clientes de Hylafax para Windows de apariencia y funcionalidad parecidas al Outlook, pero son propietarios y queremos usar software libre dentro de lo posible. Además, lo que realmente interesa es poder acceder al fax como si se tratara de una impresora para poder enviar faxes desde el Office, Outlook, etc.

Gracias a Samba esto es posible. La idea es crear una impresora virtual que estará accesible desde todos los clientes pero que en realidad será un acceso al Hylafax para enviar el documento por fax en vez de imprimirlo.

Anem per feina!


Instalando Hylafax

El software Hylafax es la pieza central de todo este puzzle. Podemos instalarlo mediante sus versiones empaquetadas o directamente compilando el código fuente. Aunque instalar las cosas mediante paquetes es muy cómodo, es una sana costumbre compilar de vez en cuando, así que nos descargamos el correspondiente fichero .tar.gz y lo descomprimimos mediante tar zxf hylafax.tar.gz. Estas cosas las suelo hacer en el directorio /usr/local/src/, aunque cada uno puede hacerlo donde más le guste.

Dentro del directorio creado tenemos todo lo necesario para instalar Hylafax. En el fichero INSTALL nos explica cómo hacerlo, que basicamente es el típico ./configure, make y make install, esto último como root. Despues sólo nos queda ejecutar el comando faxsetup para configurar el modem. No voy a extenderme en estos detalles, ya que todo esta bien explicado en los ficheros de texto que acompañan al código fuente y en la web de Hylafax.

Hylafax se comunica con el modem mediante el demonio faxgetty, pero curiosamente Hylafax no arranca este demonio por defecto, así que tenemos que hacerlo manualmente, añadiendo /usr/local/sbin/faxgetty -D /dev/ttyS0 en /etc/init.d/hylafax o en /etc/inittab, dependiendo de si queremos que el demonio arranque al arrancar Hylafax o por el proceso init. Por supuesto, suponemos que el modem esta en el COM1.

Y ya tenemos nuestro servidor de fax instalado. Tampoco era tan difícil, ¿no? Ahora ya podemos enviar faxes desde el servidor mediante sendfax -d número fichero1 fichero2 ..., pero aún vamos a hacer más.


Samba y la impresora virtual

Al igual que con Hylafax no voy a entrar en los detalles de la instalación de Samba ya que hay documentación de sobra en la correspondiente web. Solamente comentaré algunos detalles interesantes.

Resulta que en mi caso tengo la red dividida en dos zonas (en realidad son mas, pero tampoco importa mucho). En un lado tendremos el servidor de fax con Samba y en el otro lado estan todos los equipos de usuarios. Un cortafuegos comunica las dos zonas.

Samba, al igual que los sistemas Windows, usa el protocolo SMB que permite, entre otras cosas, compartir dispositivos, recursos, etc. Cuando un equipo entra en una red SMB envia un mensaje broadcast presentandose al resto de equipos presentes en la red. El problema reside en que los cortafuegos por defecto no dejan pasar paquetes cuya dirección destino sea del tipo x.x.x.255 (suponiendo una máscara 255.255.255.0). En pocas palabras, con una configuración básica de Samba nuestro servidor no es visible para los equipos Windows al otro lado del cortafuegos.

Debido a esta limitación del protocolo SMB, las redes que lo usan estan obligadas a tener un maestro local de dominio en cada una de las zonas en las que se divide la red. Uno de esos maestros locales será además el maestro de dominio y sincronizará a todos los demás maestros locales.

Si no conoces nada del protocolo SMB y su forma de trabajar probablemente no te estes enterando de nada, así que iré al grano. Convertiremos a nuestro servidor Samba en maestro local y, suponiendo que el maestro global se encuentra al otro lado de la red, pondremos las siguientes lineas en el fichero /etc/samba/smb.conf:

local master = yes
preferred master = yes
os level = 33
remote announce = x.x.x.x/NOMBRE_DOMINIO

Con la última linea le indicamos al maestro de dominio con IP x.x.x.x nuestra existencia, de forma que los clientes ya podrán vernos desde su Entorno de Red.

Ahora ya podemos crear nuestra impresora virtual para enviar faxes. Para ello vamos a añadir más lineas en la configuración de Samba, en concreto:

[lpfax]
comment = Impresora Fax
printable = yes
postscript = no
print command = (echo -e '1i\n%!\n.\nw\nq' |ed %s; /usr/bin/printfax.pl %I %s %U %m) &
path = /var/spool/lpfax

De esta forma, cuando mandamos imprimir algún documento por esta impresora en realidad estamos guardando el fichero en el directorio /var/spool/lpfax y ejecutamos el script de Perl printfax.pl, pasándole la dirección IP del cliente.

La idea es la siguiente: el script de Perl se conecta a la IP especificada, en un puerto en concreto, y le pide al usuario los datos propios de la cabecera del fax, como número de fax destino, nombre, etc, y después usa el comando sendfax para enviar el documento con los datos indicados. Aunque no puedo publicar el código del script y de la aplicación que se encuentra escuchando en el cliente, existe algo muy parecido en Horst F's Titelseite (http://www.boerde.de/~horstf/) con código fuente en Delphi y todo.

Para configurar la impresora en los clientes podemos usar el driver de la HP Laserjet 4/4M Postscript. A mi al menos me funciona sin ningún problema.


Final

Finalmente nuestros usuarios tienen una impresora fax en su lista de impresoras. Al enviar un documento un formulario pide el número de fax y al introducirlo el fax se envía. Podemos añadir una agenda de direcciones, elegir portada del fax, etc. Hylafax permite enviar notificaciones por mail y muchas cosas más. Todo esto ya es cosa de ponerse para dejarlo todo bonito.

No estoy seguro de que haya quedado muy clara la explicación de cómo he montado el servidor de fax. He intentado que el artículo no quedara a un nivel excesivamente alto aunque no se si lo he conseguido.

De todas formas, si alguien necesita aclarar algunos puntos estoy accesible desde mi cuenta de correo supersanko en terra.es y también en la lista de correo de Bulma.


Enlaces

< Jornada sobre Dependencia Tecnológica organizada por la Cámara de Comercio de Gipuzkoa (3 comments) | Programando con Ruby y GTK+ (I) (11 comments) >
Enlaces Relacionados
· Software utilizado
· ¿Qué vamos a hacer?
· Instalando Hylafax
· Samba y la impresora virtual
· Final
· Enlaces
· http://www.hylafax.org/
· http://www.samba.org/
· Horst F's Titelseite (http://www.boerde.de/~horstf/)
· Usando Samba
· Sams Teach Yourself Samba in 24 Hours
· Guía de referencia Debian
· More on Documentación
· Also by sanko

Menu
· crear cuenta
· FAQ
· búsqueda
· Fuentes de Noticias

Login
Nueva cuenta
Usuario:
Contraseña:

Ver: Modo: Orden:
Sistema de fax con herramientas libres | 13 comentarios (6 temáticos, 7 editoriales, 0 ocultos)
Excelente! (3.33 / 3) (#10)
por MaF a las Sat Oct 18th, 2003 at 10:36:41 AM CET
(Información Usuario)

He seguido tus instrucciones y he montado mi servidor de FAX sin ningún problema. Felicidades!

Sólo he cambiado el cliente en las estaciones Windows, porque el printfax.pl no me acababa de convencer.

He usado Winprint Hylafax, que es un cliente para Windows GPL y funciona bastante bien. Así tampoco hace falta lo del samba, ya que este cliente ataca directamente al servidor hylafax.

Saludos!



Se me olvidaba (3.00 / 1) (#11)
por MaF a las Sat Oct 18th, 2003 at 10:38:02 AM CET
(Información Usuario)

http://winprinthylafax.sourceforge.net/

[ Padre ]


Muy interesante (2.00 / 1) (#12)
por sanko (jsancho@aditel.org) a las Mon Oct 20th, 2003 at 08:29:05 AM CET
(Información Usuario) http://www.jsancho.org/

En realidad lo de usar Samba es para que se pueda imprimir directamente desde cada una de las aplicaciones como si el fax fuera una impresora.

Pero no sabía que existiera un cliente GPL para Windows. Eso facilita mucho las cosas, desde luego. Me apunto el enlace :-)

[ Padre ]


 
Felicitaciones (3.00 / 2) (#7)
por amphora (amphora@ecol.org) a las Tue Oct 7th, 2003 at 07:38:53 PM CET
(Información Usuario) http://sistematica.es

Como ya te han hablado de la forma, yo lo hago del contenido, muchas gracias por el artículo: Bien estructurado y directo al tema. Enhorabuena a los premiados





 
Ay! (2.00 / 1) (#9)
por kabutor a las Thu Oct 16th, 2003 at 02:57:37 AM CET
(Información Usuario) http://www.lazonaoscura.com

Si todo fuera tan facil, algo de esto trate yo de montar, y el soft funcionaba bien, muy bien, el problema viene cuando se prueba.

Vaya, que el fax lo cogia, lo enviaba y todo funcionaba bien, salvo que lo enviaba siempre tres veces.

El problema venia de q pese a enviar correctamente el fax, hylafax pensaba q se habia cortado y lo reenviaba siempre, y siempre decia q habia habido un error en la transmision, la solucion pasa por toquetear los comandos AT (y eso q es un USRobotics 56k de esos externos serie, de los buenos).

Y claro, en la empresa estar toqueteando software tiene un pase para probarlo, pero estar cambiando lineas de telefono, con cables, mandando faxes para probar, ocupando dos lineas :(

Algun dia lo pondre bien :D



Re: Ay! (2.00 / 1) (#13)
por sanko (jsancho@aditel.org) a las Mon Oct 20th, 2003 at 08:41:40 AM CET
(Información Usuario) http://www.jsancho.org/

Hylafax trae un programilla que se llama probemodem y que configura bastante bien el modem. Y si eres un machote de la vieja escuela siempre puedes pillar el fichero $HYLAFAX/etc/config.ttyS0 y editarlo a pelo.

[ Padre ]


 
Sistema de fax con herramientas libres | 13 comentarios (6 temáticos, 7 editoriales, 0 ocultos)
Ver: Modo: Orden:

ecol Logo Powered by Scoop
Todas las Marcas Registradas y copyrights de esta página son propiedad de sus respectivos dueños.
Los comentarios son propiedad del que los escribe.
Los iconos de las noticias y el logotipo son propiedad de Javier Malonda.
El Resto © 2002 Escomposlinux.org y aledaños.

Puedes sindicar los contenidos de libertonia en formato RSS 1.0 y RDF 0.9. También se puede sindicar la cola de envíos pendientes de moderación.

El proyecto escomposlinux.org está dedicado a la memoria de tas

crear cuenta | faq | búsqueda