Page tree
Skip to end of metadata
Go to start of metadata


Hylafax is "The world's most advanced open source fax server".


 Click here to expand Table of Contents





The recommended way to integrate HylaFax with FreeSWITCH is to use emulated soft modem via mod_spandsp. Edit conf/autoload_configs/spandsp.conf.xml to include the following

After reloading mod_spandsp on fs_cli

You will see new soft modems being created with relevant pointers to modem devices.


To test if the newly created soft modems are okay and respond to AT commands, you can find their support class by using cu command.



Edit /etc/rc.local to start hfaxd, faxq and faxgetty at boot


The directories are located in

Configuration files for individual soft modems created by mod_spandsp are in /var/spool/hylafax/etc/config.FS*

Stop/ Start Hylafax

To start/stop hfaxd, the HylaFax Daemon and faxq, the HylaFax queue manager.

Minicom testing for CallerID

Use minicom on the tty (instead of faxgetty). And then do the following:

And then send a call to that modem. Check what the CallerID display says.


For incoming Fax sessions, the call should be bridged to modem/x/y where x is the slot and y is the dialed number. Use a to get the next available slot and number.


Edit the dialplan conf/dialplan/default.xml to include the following snippet or similar commands over ESL.


File name based on UUID

Bridge call to modem/1/a/uuid, where uuid is a variable with value equal to the uuid of the call

Edit /var/spool/hylafax/etc/config.FS0, config.FS1 etc to include the following


Restart faxgetty. Then in your bin/faxrcvd $CALLID1 will refer to the CallerID, and $CALLID2 will refer to the DID. Edit bin/faxrcvd to include the following


Use sendfax for putting your outgoing Faxes in the queue.


Edit the dialplan to include a bridge to the called number.


The log files with detailed message transaction between modem and hylafax are in directory /var/spool/hylafax/log

The transfer status of each received or sent fax is stored in /var/spool/hylafax/etc/xferfaxlog in tab separated format with the following parameters

Modem devices permissions issue

If running FS as a non-root user, mod_spandsp will fail when trying to create the /dev/FS devices (the /dev/pts are a non issue). The solution for this is to edit conf/autoload_configs/spandsp.conf.xml to include the undocumented "directory" parameter:


Then modify the init.d script of FS to include the creation of /dev/FS and its correct permission and ownership settings.

In the SET section


inside do_start()


  • No labels