Difference between revisions of "IAXModem with Sail and HylaFax"
Line 6: | Line 6: | ||
{{Level|Medium}} | {{Level|Medium}} | ||
− | ==Introduction== | + | ===Introduction=== |
This Howto is aimed at the installation of IAXModem in conjunction with Asterisk, SAIL and HylaFax in order to provide a fax over VOIP solution. It is based on information from various forum posts [http://forums.contribs.org/index.php/topic,39258.msg179460.html] [http://forums.contribs.org/index.php/topic,41256.msg219493.html] | This Howto is aimed at the installation of IAXModem in conjunction with Asterisk, SAIL and HylaFax in order to provide a fax over VOIP solution. It is based on information from various forum posts [http://forums.contribs.org/index.php/topic,39258.msg179460.html] [http://forums.contribs.org/index.php/topic,41256.msg219493.html] | ||
− | ==Sail and Asterisk Setup== | + | ===Sail and Asterisk Setup=== |
− | ===Global Settings=== | + | ====Global Settings==== |
In ''Global Settings'' | In ''Global Settings'' | ||
*Make sure that ''Late Termination'' is set to 'No'. | *Make sure that ''Late Termination'' is set to 'No'. | ||
Line 16: | Line 16: | ||
*The ''Fax Delay'' setting defaults to 2 seconds. You may need to adjust this later to make sure faxes get detected before asterisk attempts to terminate somewhere other than the FAX. | *The ''Fax Delay'' setting defaults to 2 seconds. You may need to adjust this later to make sure faxes get detected before asterisk attempts to terminate somewhere other than the FAX. | ||
− | ===Trunklines=== | + | ====Trunklines==== |
For each Trunk under ''Trunklines'' that you want to be able to detect incoming Faxes on | For each Trunk under ''Trunklines'' that you want to be able to detect incoming Faxes on | ||
*Make sure that the ''Fax'' detection tick box is ticked | *Make sure that the ''Fax'' detection tick box is ticked | ||
Line 25: | Line 25: | ||
See Fax Route and HylaFax sections later}} | See Fax Route and HylaFax sections later}} | ||
− | ===Fax Route=== | + | ====Fax Route==== |
Create a new Route for faxes with dialplan(s) starting with 99. | Create a new Route for faxes with dialplan(s) starting with 99. | ||
example: 99X. | example: 99X. | ||
and with ''Paths'' pointing to the Trunks on which you wish to receive faxes - those with ''Fax'' detection ticked as above | and with ''Paths'' pointing to the Trunks on which you wish to receive faxes - those with ''Fax'' detection ticked as above | ||
− | ===Fax Extension=== | + | ====Fax Extension==== |
Create a new Extension with the same number as set in the ''Autosense FAX Extension'' as above. The ''Device'' should be 'IAXModem'. | Create a new Extension with the same number as set in the ''Autosense FAX Extension'' as above. The ''Device'' should be 'IAXModem'. | ||
{{Note box|We will assume an ''Extension Number'' of '2000', a ''Password'' (secret) of 'asterisk' and a ''Display Name'' of 'FaxModem'}} | {{Note box|We will assume an ''Extension Number'' of '2000', a ''Password'' (secret) of 'asterisk' and a ''Display Name'' of 'FaxModem'}} | ||
Line 45: | Line 45: | ||
allow=slin | allow=slin | ||
− | ==IAXModem== | + | ===IAXModem=== |
− | ===Installation=== | + | ====Installation==== |
{{Note box|Sail installs /etc/rc.d/rc7.d/S93iaxmodem but does not install /etc/rc.d/init.d/iaxmodem}} | {{Note box|Sail installs /etc/rc.d/rc7.d/S93iaxmodem but does not install /etc/rc.d/init.d/iaxmodem}} | ||
Download the iaxmodem rpm from Aelintra and install | Download the iaxmodem rpm from Aelintra and install | ||
Line 55: | Line 55: | ||
chmod 766 iaxmodem | chmod 766 iaxmodem | ||
chown root:root iaxmodem}} | chown root:root iaxmodem}} | ||
− | ===Configuration=== | + | ====Configuration==== |
Check and edit /etc/iaxmodem/ttyIAX0 as necessary: | Check and edit /etc/iaxmodem/ttyIAX0 as necessary: | ||
device /dev/ttyIAX | device /dev/ttyIAX | ||
Line 68: | Line 68: | ||
cidnumber 0123456789 | cidnumber 0123456789 | ||
codec slinear | codec slinear | ||
− | ===Check and Run=== | + | ====Check and Run==== |
Check the modem registers with Sail and Asterisk | Check the modem registers with Sail and Asterisk | ||
/usr/local/sbin/iaxmodem ttyIAX | /usr/local/sbin/iaxmodem ttyIAX | ||
Line 93: | Line 93: | ||
/etc/rc.d/rc7.d/S93iaxmodem start | /etc/rc.d/rc7.d/S93iaxmodem start | ||
− | ==HylaFax== | + | ===HylaFax=== |
Install the [[HylaFax|smeserver-hylafax]] contrib. | Install the [[HylaFax|smeserver-hylafax]] contrib. | ||
When you run faxsetup, at the end it will ask to continue and run faxaddmodem to setup a modem. | When you run faxsetup, at the end it will ask to continue and run faxaddmodem to setup a modem. | ||
Line 118: | Line 118: | ||
Now continue with the contrib setup for Hylafax | Now continue with the contrib setup for Hylafax | ||
− | ==iaxmodem Startup Script== | + | ===iaxmodem Startup Script=== |
The following is the code for the /etc/rc.d/init.d/iaxmodem script from the current iaxmodem-1.2.0.tar.gz source. | The following is the code for the /etc/rc.d/init.d/iaxmodem script from the current iaxmodem-1.2.0.tar.gz source. | ||
#!/bin/sh | #!/bin/sh |
Revision as of 23:45, 15 January 2010
IAXModem for SME Server
Introduction
This Howto is aimed at the installation of IAXModem in conjunction with Asterisk, SAIL and HylaFax in order to provide a fax over VOIP solution. It is based on information from various forum posts [1] [2]
Sail and Asterisk Setup
Global Settings
In Global Settings
- Make sure that Late Termination is set to 'No'.
- Make sure that the Autosense FAX Extension is set to a number you want to use for the Fax. You will need this number later.
- The Fax Delay setting defaults to 2 seconds. You may need to adjust this later to make sure faxes get detected before asterisk attempts to terminate somewhere other than the FAX.
Trunklines
For each Trunk under Trunklines that you want to be able to detect incoming Faxes on
- Make sure that the Fax detection tick box is ticked
- Include a Transformation String of '99:' at the beginning
Fax Route
Create a new Route for faxes with dialplan(s) starting with 99.
example: 99X.
and with Paths pointing to the Trunks on which you wish to receive faxes - those with Fax detection ticked as above
Fax Extension
Create a new Extension with the same number as set in the Autosense FAX Extension as above. The Device should be 'IAXModem'.
Once created check the stanza generally conforms to the following and change as necessary:
[2000] type=friend username=FaxModem secret=asterisk host=dynamic qualify=3000 context=internal callerid="Faxmodem" <2000> disallow=all allow=slin
IAXModem
Installation
Download the iaxmodem rpm from Aelintra and install
wget http://sarkpbx.com/sail/iaxmodem/iaxmodem-1.0.0-1.noarch.rpm yum localinstall iaxmodem-1.0.0-1.noarch.rpm
Configuration
Check and edit /etc/iaxmodem/ttyIAX0 as necessary:
device /dev/ttyIAX owner uucp:uucp mode 660 port 4570 refresh 60 server 127.0.0.1 peername 2000 secret asterisk cidname YourCompany cidnumber 0123456789 codec slinear
Check and Run
Check the modem registers with Sail and Asterisk
/usr/local/sbin/iaxmodem ttyIAX
should give an output similar to
Modem started Setting device = '/dev/ttyIAX' Setting owner = 'uucp:uucp' Setting mode = '660' Setting port = 4570 Setting refresh = 60 Setting server = '127.0.0.1' Setting peername = '2000' Setting secret = 'asterisk' Setting cidname = 'YourCompany' Setting cidnumber = '0123456789' Setting codec = slinear Opened pty, slave device: /dev/pts/0 Created /dev/ttyIAX symbolic link Registration completed successfully.
and in an asterisk CLI
--Registered IAX2 '2000' (AUTHENTICATED) at 127.0.0.1:4570
Now
db configuration set iaxmodem service status enabled /etc/rc.d/rc7.d/S93iaxmodem start
HylaFax
Install the smeserver-hylafax contrib. When you run faxsetup, at the end it will ask to continue and run faxaddmodem to setup a modem. Enter 'ttyIAX' as the modem port and continue and set other values as required. The IAXModem should be discovered if it was working OK as above. Do not reboot or start HylaFax yet. Edit /etc/hylafax/etc/config.ttyIAX and add
ModemDialCmd: ATDT99%s
Also check
# make attachments readable RecvFileMode: 0666 LogFileMode: 0666 DeviceMode: 0666 # for shared lines set to 10 RingsBeforeAnswer: 1 # change to suit SpeakerVolume: quiet LocalIdentifier: "YourCompany"
Now if you want you can configure who receives faxes by editing
/etc/hylafax/etc/FaxDispatch
Finally set the modem port in the database
db configuration setprop hylafax port=ttyIAX /sbin/e-smith/expand-template /etc/inittab
Now continue with the contrib setup for Hylafax
iaxmodem Startup Script
The following is the code for the /etc/rc.d/init.d/iaxmodem script from the current iaxmodem-1.2.0.tar.gz source.
#!/bin/sh # Startup script for iaxmodem # # chkconfig: 2345 95 05 # description: IAXModem for asterisk <-> Hylafax gateway # Source function library. . /etc/rc.d/init.d/functions [ -f /usr/local/sbin/iaxmodem ] || exit 0 prog="IAXmodem" start() { echo -n $"Starting $prog: " daemon /usr/local/sbin/iaxmodem RETVAL=$? echo return $RETVAL } stop() { if test "x`pidof iaxmodem`" != x; then echo -n $"Stopping $prog: " killproc iaxmodem echo fi RETVAL=$? return $RETVAL } reload() { if test "x`pidof iaxmodem`" != x; then echo $"Reloading $prog" kill -HUP `head -1 /var/run/iaxmodem.pid` fi } case "$1" in start) start ;; stop) stop ;; status) status iaxmodem ;; reload) reload ;; restart) stop start ;; condrestart) if test "x`pidof iaxmodem`" != x; then stop start fi ;; *) echo $"Usage: $0 {start|stop|reload|restart|condrestart|status}" exit 1 esac exit $RETVAL