Steps that should be taken to replace (rt)fax which comes with a default asterisk/freepbx install with iaxmodem+hylafax solution.
The whole procedure was done on a debian testing/unstable with asterisk and freepbx (2.1.0) installed.
install hylafax related tools:
apt-get install hylafax-client hylafax-doc hylafax-server
install iax related libraries (we’re installing libiax and spandsp libraries)
apt-get install libiax-dev libiax0 libiaxclient-dev libspandsp-dev libspandsp1
apt-get install iaxmodem
Installation complete, let’s move on to configuration procedures…
Configure iaxmodem with the proper extension information:
Add the following to the file, save and exit:
device /dev/ttyIAX0 owner uucp:uucp mode 660 port 4570 refresh 300 server 127.0.0.1 peername 201 secret 1234 cidname Fax cidnumber 972554211012 codec alaw
Important stuff to note is the extension information (peername: 201 and password: 1234) which means that you should add a new iax2 extension to asterisk (can be done through freepbx’s configuration panel) and ofcourse the server IP.
Also note that for each fax extension you’re going to have you’ll need to use a different port number.
copy the sample config file from /var/spool/hylafax/config/iaxmodem to /var/spool/hylafax/etc/config.ttyIAX0
and add the following to the end of the file:
save the file and you’re done.
To test if this is working or not get on a terminal and run:
You should see debug output information and in the end
registration successful, like this:
[2006-11-23 17:42:13] Modem started [2006-11-23 17:42:13] Setting device = '/dev/ttyIAX0' [2006-11-23 17:42:13] Setting owner = 'uucp:uucp' [2006-11-23 17:42:13] Setting mode = '660' [2006-11-23 17:42:13] Setting port = 4570 [2006-11-23 17:42:13] Setting refresh = 300 [2006-11-23 17:42:13] Setting server = '127.0.0.1' [2006-11-23 17:42:13] Setting peername = '201' [2006-11-23 17:42:13] Setting secret = '1234' [2006-11-23 17:42:13] Setting cidname = 'Fax1' [2006-11-23 17:42:13] Setting cidnumber = '0015554731543' [2006-11-23 17:42:13] Setting codec = alaw [2006-11-23 17:42:13] Opened pty, slave device: /dev/pts/4 [2006-11-23 17:42:13] Created /dev/ttyIAX0 symbolic link Restart 0 [2006-11-23 17:42:13] Registration completed successfully.
then run hylafax to intercept the calls:
You can monitor the status of the fax by looking at /var/spool/hylafax/status/ttyIAX0
watch cat /var/spool/hylafax/status/ttyIAX0
This will refresh every 2 seconds, you should see at first “initializing server” and in the end “running and idle”.
Once a call is received you should see it on iaxmodem’s debug output and also on hylafax status file.
In the end if everything was successful you should have the file saved in /var/spool/hylafax/recq/*.tif
Once you’ve made sure it’s working you should add it to inittab for permanent usage: