Line 1: |
Line 1: |
− | {{Warning box|This has only been tested with Asterisk 1.4.25.1-78, Sail 2.4.1-2 and -3, and the Hylafax Contrib from Dungog (smeserver-hylafax-0.9.6 with hylafax-4.4.4-1)
| |
− |
| |
− | No other asterisk contribs or implementations have been used or tested.
| |
− |
| |
− | It is assumed that you have a working Sail/asterisk installation before you start.
| |
− |
| |
− | YMMV}}
| |
− |
| |
| ==IAXModem for SME Server== | | ==IAXModem for SME Server== |
| {{Level|Advanced}} | | {{Level|Advanced}} |
Line 15: |
Line 7: |
| For further info see also | | For further info see also |
| | | |
− | [http://sarkpbx.com/twiki/bin/view Selintra SarkPBX] | + | *[http://sarkpbx.com/twiki/bin/view Selintra SarkPBX] |
| + | |
| + | *[http://iaxmodem.sourceforge.net/ IaxModem] |
| + | |
| + | *[http://www.hylafax.org/content/Main_Page Hylafax] |
| + | |
| + | *[[Asterisk]] and [[HylaFax]] Contribs Wiki entries |
| + | |
| + | This Howto has only been tested with |
| | | |
− | [http://iaxmodem.sourceforge.net/ IaxModem]
| + | *Asterisk - 1.4 |
| | | |
− | [http://www.hylafax.org/content/Main_Page Hylafax]
| + | *Sail - 2.4.1 |
| | | |
− | [[Asterisk]] and [[HylaFax]] Contribs Wiki entries
| + | *Hylafax Contrib from Dungog - smeserver-hylafax-0.9.6 with hylafax-4.4.4-1 |
| + | |
| + | No other asterisk contribs or implementations have been used or tested. |
| + | |
| + | It is assumed that you have a working Sail/asterisk installation before you start. |
| + | |
| + | YMMV |
| | | |
| ===Sail and Asterisk Setup=== | | ===Sail and Asterisk Setup=== |
Line 34: |
Line 40: |
| *Make sure that the ''Fax'' detection tick box is ticked | | *Make sure that the ''Fax'' detection tick box is ticked |
| *Include a ''Transformation String'' of '95:' at the beginning | | *Include a ''Transformation String'' of '95:' at the beginning |
− | {{Note box|We will configure HylaFax later to prefix dialled numbers with 95 so we can identify them as an outgoing fax and route them as desired. | + | {{Tip box|We will configure HylaFax later to prefix dialled numbers with 95 so we can identify them as an outgoing fax and route them as desired. |
| You can use any prefix you want, not just 95 as long as you use it consistently. | | You can use any prefix you want, not just 95 as long as you use it consistently. |
| See Fax Route and HylaFax sections later}} | | See Fax Route and HylaFax sections later}} |
Line 50: |
Line 56: |
| type=friend | | type=friend |
| username=FaxModem | | username=FaxModem |
− | secret=asterisk | + | secret=xYz3aB45 |
| host=dynamic | | host=dynamic |
| qualify=3000 | | qualify=3000 |
| context=internal | | context=internal |
| callerid="Faxmodem" <2000> | | callerid="Faxmodem" <2000> |
| + | mailbox=2000 |
| + | pickupgroup=1 |
| + | callgroup=1 |
| + | call-limit=99 |
| + | subscribecontext=extensions |
| + | deny=0.0.0.0/0.0.0.0 |
| + | permit=127.0.0.1/255.255.255.0 |
| disallow=all | | disallow=all |
| allow=slin | | allow=slin |
| + | requirecalltoken=no |
| + | |
| + | {{Note box| The 'secret' is a strong extension password generated automatically by Sail. It should not be changed, other than to another strong password. The value shown above is a dummy example.}} |
| + | {{Note box| The latest revisions of Sail generate ACL deny/permit security in the stanza. The <nowiki>permit=</nowiki> ACL will default to allow access on the local IP. You will need to change this to 127.0.0.1 as above}} |
| + | {{Note box| After updating to Asterisk14-1.4.28-88, the fax extension fails to register, and gives the following error in the asterisk cli, |
| + | <nowiki>chan_iax2.c:4322 handle_call_token: Call rejected, CallToken Support required. If unexpected, resolve by placing address 127.0.0.1 in the calltokenoptional list or setting user 2000 requirecalltoken=no </nowiki> |
| + | Add <nowiki>requirecalltoken=no</nowiki> to stanza for fax extension and it will register OK again}} |
| | | |
| ===IAXModem=== | | ===IAXModem=== |
Line 69: |
Line 89: |
| | | |
| ====Configuration==== | | ====Configuration==== |
− | Check and edit /etc/iaxmodem/ttyIAX0 as necessary:
| + | Use a template fragment to generate the required Iaxmodem configuration file ''ttyIAX0'' in /etc/iaxmodem so that changes survive a reconfiguration and reboot etc. |
− | device /dev/ttyIAX | + | *Create the template directory |
− | owner uucp:uucp
| + | mkdir -p /etc/e-smith/templates-custom/etc/iaxmodem/ttyIAX0 |
− | mode 660
| + | cd /etc/e-smith/templates-custom/etc/iaxmodem/ttyIAX0 |
− | port 4570
| + | *Now create and edit a new file called ''modem'' with the following content |
− | refresh 60
| + | { |
− | server 127.0.0.1
| + | use esmith::DB::db; |
− | peername 2000
| + | |
− | secret asterisk
| + | $OUT = ""; |
− | cidname YourCompany
| + | my $db = esmith::DB::db->open_ro('/home/e-smith/db/selintra'); |
− | cidnumber 0123456789
| + | |
− | codec slinear
| + | unless ($db) |
| + | { |
| + | warn "Couldn't open Selintra DB in Iaxmodem ttyIAX0 template fragment. Using Defaults\n"; |
| + | } |
| + | |
| + | my $extension = $db->get_prop('global','FAX') || "2000"; |
| + | my $pass = $db->get_prop($extension,'passwd') || "asterisk"; |
| + | my $cidname = $db->get_prop($extension,'desc') || "Noname"; |
| + | my $cidnumber = $db->get_prop($extension,'callerid') || "0123456789"; |
| + | |
| + | $OUT .= "device /dev/ttyIAX\n"; |
| + | $OUT .= "owner uucp:uucp\n"; |
| + | $OUT .= "mode 660\n"; |
| + | $OUT .= "port 4570\n"; |
| + | $OUT .= "refresh 60\n"; |
| + | $OUT .= "server 127.0.0.1\n"; |
| + | $OUT .= "peername $extension\n"; |
| + | $OUT .= "secret $pass\n"; |
| + | $OUT .= "cidname $cidname\n"; |
| + | $OUT .= "cidnumber $cidnumber\n"; |
| + | $OUT .= "codec slinear\n"; |
| + | } |
| + | *Save and close the file. |
| + | *Now expand the template |
| + | /sbin/e-smith/expand-template /etc/iaxmodem/ttyIAX0 |
| + | *This will create the necessary ttyIAX0 file, using the settings from Sail/Asterisk. It assumes you have set the Fax extension in ''globals'' and have created a valid ''extension'' of type ''IAXModem''. |
| + | {{Note box|If the required settings are not available in Sail/asterisk then it defaults to an extension of ''2000'', a secret/password of ''asterisk'', a CID Name of ''NoName'' and Caller ID of ''0123456789''. The default password of 'asterisk' is not secure and both this and the 'secret' value of the extension in Sail should be changed to a strong password. If the extension has been created in Sail then a strong password will have been generated automatically}} |
| + | |
| ====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 ttyIAX0 |
| should give an output similar to | | should give an output similar to |
| Modem started | | Modem started |
Line 105: |
Line 152: |
| db configuration set iaxmodem service status enabled | | db configuration set iaxmodem service status enabled |
| /etc/rc.d/rc7.d/S93iaxmodem start | | /etc/rc.d/rc7.d/S93iaxmodem start |
| + | |
| + | ====Modifications==== |
| + | If you make any changes within Sail/asterisk such as the fax number, or fax extension details, don't forget to update Iaxmodem |
| + | /sbin/e-smith/expand-templates /etc/iaxmodem/ttyIAX0 |
| + | /etc/rc.d/rc7.d/S93iaxmodem restart |
| | | |
| ===HylaFax=== | | ===HylaFax=== |
Line 129: |
Line 181: |
| db configuration setprop hylafax port ttyIAX | | db configuration setprop hylafax port ttyIAX |
| /sbin/e-smith/expand-template /etc/inittab | | /sbin/e-smith/expand-template /etc/inittab |
| + | /sbin/init q |
| Now continue with the contrib setup for Hylafax | | Now continue with the contrib setup for Hylafax |
| | | |