Compare commits

..

No commits in common. "2c925a1aa5313757b99b85aeeeb47e6a8453b7ec" and "65909cf84d5ee6bc0c4e926e115fe727db5acf41" have entirely different histories.

View file

@ -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)
## Software stack
## Softwarestack
### 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 connection
Emulates a serial modem from SIP connetion
### 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 libspandsp-dev -y
apt-get install build-essential git wget pkg-config libssl-dev libsrtp2-dev -y
```
#### Download sourcecode
Versions:
@ -56,7 +56,7 @@ make install
```
#### t38modem
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
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
```bash
git clone https://github.com/hehol/t38modem
@ -245,9 +245,6 @@ 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.
@ -280,14 +277,16 @@ sudo systemctl start t38modem@XX.service
<hr/>
## Install HylaFax
These instructions were tested using Hylafax version 6
- 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 (see Dial Rules for Eventphone EPVPN)
- Enter dialing configuration
- Accept default configuration for everything else
- It should automatically detect it to be a `T38FAX` modem
- Look at `man sendfax` to send faxes
@ -299,7 +298,7 @@ These instructions were tested using Hylafax version 6
- 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`)
@ -317,21 +316,19 @@ FaxMaster: $USER # replace with fax admin account
25 23 * * * sh /usr/sbin/faxcron | mail FaxMaster
```
### 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.
## FaxDispatch
- https://legacy.hylafax.org/content/Advanced_Permissions_with_6.0
## Dial Rules for Eventphone
```
# /etc/hylafax/config.ttyXX
CountryCode: 1
AreaCode: 999
```
## FaxDispatch
- https://legacy.hylafax.org/content/Advanced_Permissions_with_6.0
# TODO
## TODO
- **TODO: Test on Debian / RockPi / RaspberryPi**
- **TODO: Test on Eventphone Infra**
- **TODO: Package t38modem with service files and config**