diff --git a/README.md b/README.md index 95a1942..7f629a1 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Linux Fax Stack using Hylafax and t38modem. This guide was created using information from the opalvoid wiki (http://wiki.opalvoip.org/index.php?n=Main.HomePage) -## Softwarestack +## Software stack ### ptlib (legacy) library for doing a little bit of everything. @@ -15,9 +15,9 @@ This guide was created using information from the opalvoid wiki (http://wiki.opa Voice codec used by e.g. mumble. ### t38modem -Emulates a serial modem from SIP connetion +Emulates a serial modem from SIP connection -### Hylafax +### HylaFax Enterprise grade software, managing physical and emulated modems. Has some problems: https://github.com/lexbailey/compilerfax/blob/main/hylafax_is_broken @@ -32,7 +32,7 @@ For this guide we'll use ptlib 2.18.6 and opal 3.18.6. #### Installing Requirements First we'll need some packages ```bash -apt-get install build-essential git wget pkg-config libssl-dev libsrtp2-dev -y +apt-get install build-essential git wget pkg-config libssl-dev libsrtp2-dev libspandsp-dev -y ``` #### Download sourcecode Versions: @@ -56,7 +56,7 @@ make install ``` #### t38modem -If you are getting error about `-1` not being able to be casted to a `long unsigned int` due to `-Wnarrowing` inside `dle.cxx`, you can add `-Wno-narrowing` after the `CPPFLAGS` in the Makefile to disable this error +If you are getting error about `-1` not being able to be cast to a `long unsigned int` due to `-Wnarrowing` inside `dle.cxx`, you can add `-Wno-narrowing` after the `CPPFLAGS` in the Makefile to disable this error ```bash git clone https://github.com/hehol/t38modem @@ -245,6 +245,9 @@ sudo chmod 700 -R /etc/t38modem/config/ - Pitfalls: - If you are already connected to your SIP server it may not give proper response codes. My provider returns `500 Internal Server Error` - Test the command before running the init script! + - Do not try to used `ATO` to switch to a data connection, t38modem will return `ERROR`. + Thats hardcoded in `pmodeme.cxx` in `void ModemEngineBody::HandleCmdRest(PString &resp)`. + Dont let that hodld you back. ### systemd service If you want to run a fax server, you can create a systemd service template to let your emulated fax modem start automatically on system boot. @@ -277,16 +280,14 @@ sudo systemctl start t38modem@XX.service
## Install HylaFax - -- Version 6 +These instructions were tested using Hylafax version 6 - `sudo apt install hylafax-server` - - Set Postfix Configuration to **Local only** in dpkg-reconfigure menu +## Configure HylaFax - Run `sudo faxsetup` - - Add new modem - Enter correct modem port (`ttyT38-XX`) - - Enter dialing configuration + - Enter dialing configuration (see Dial Rules for Eventphone EPVPN) - Accept default configuration for everything else - It should automatically detect it to be a `T38FAX` modem - Look at `man sendfax` to send faxes @@ -298,7 +299,7 @@ sudo systemctl start t38modem@XX.service - If your call is cleared because it `Could not find common media capabilities` t38modem may not have been able to load PTLib or Opal. Check your library paths! -## Cron +### Cron - Alias your fax admin account as `FaxMaster` (`/etc/aliases`) @@ -316,19 +317,21 @@ FaxMaster: $USER # replace with fax admin account 25 23 * * * sh /usr/sbin/faxcron | mail FaxMaster ``` -## FaxDispatch - -- https://legacy.hylafax.org/content/Advanced_Permissions_with_6.0 - -## Dial Rules for Eventphone - +### Dial Rules for Eventphone EPVPN +If you want to use Eventhone EPVPN, you can apply the following dial settings onto your modems. +You can find the config at `/etc/hylafax/config.ttyT38-1`. +In this case `ttyT38-1` is the modem block device. ``` # /etc/hylafax/config.ttyXX CountryCode: 1 AreaCode: 999 ``` -## TODO +## FaxDispatch + +- https://legacy.hylafax.org/content/Advanced_Permissions_with_6.0 + +# TODO - **TODO: Test on Debian / RockPi / RaspberryPi** - **TODO: Test on Eventphone Infra** - **TODO: Package t38modem with service files and config**