Compare commits
4 commits
65909cf84d
...
2c925a1aa5
Author | SHA1 | Date | |
---|---|---|---|
|
2c925a1aa5 | ||
|
c3b3314c92 | ||
|
044a2fc9f3 | ||
|
ea37a75ba0 |
1 changed files with 21 additions and 18 deletions
39
README.md
39
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)
|
This guide was created using information from the opalvoid wiki (http://wiki.opalvoip.org/index.php?n=Main.HomePage)
|
||||||
|
|
||||||
## Softwarestack
|
## Software stack
|
||||||
|
|
||||||
### ptlib
|
### ptlib
|
||||||
(legacy) library for doing a little bit of everything.
|
(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.
|
Voice codec used by e.g. mumble.
|
||||||
|
|
||||||
### t38modem
|
### 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.
|
Enterprise grade software, managing physical and emulated modems.
|
||||||
|
|
||||||
Has some problems: https://github.com/lexbailey/compilerfax/blob/main/hylafax_is_broken
|
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
|
#### Installing Requirements
|
||||||
First we'll need some packages
|
First we'll need some packages
|
||||||
```bash
|
```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
|
#### Download sourcecode
|
||||||
Versions:
|
Versions:
|
||||||
|
@ -56,7 +56,7 @@ make install
|
||||||
```
|
```
|
||||||
|
|
||||||
#### t38modem
|
#### 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
|
```bash
|
||||||
git clone https://github.com/hehol/t38modem
|
git clone https://github.com/hehol/t38modem
|
||||||
|
@ -245,6 +245,9 @@ sudo chmod 700 -R /etc/t38modem/config/
|
||||||
- Pitfalls:
|
- Pitfalls:
|
||||||
- If you are already connected to your SIP server it may not give proper response codes. My provider returns `500 Internal Server Error`
|
- 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!
|
- 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
|
### 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.
|
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
|
||||||
<hr/>
|
<hr/>
|
||||||
|
|
||||||
## Install HylaFax
|
## Install HylaFax
|
||||||
|
These instructions were tested using Hylafax version 6
|
||||||
- Version 6
|
|
||||||
- `sudo apt install hylafax-server`
|
- `sudo apt install hylafax-server`
|
||||||
|
|
||||||
- Set Postfix Configuration to **Local only** in dpkg-reconfigure menu
|
- Set Postfix Configuration to **Local only** in dpkg-reconfigure menu
|
||||||
|
## Configure HylaFax
|
||||||
- Run `sudo faxsetup`
|
- Run `sudo faxsetup`
|
||||||
|
|
||||||
- Add new modem
|
- Add new modem
|
||||||
- Enter correct modem port (`ttyT38-XX`)
|
- Enter correct modem port (`ttyT38-XX`)
|
||||||
- Enter dialing configuration
|
- Enter dialing configuration (see Dial Rules for Eventphone EPVPN)
|
||||||
- Accept default configuration for everything else
|
- Accept default configuration for everything else
|
||||||
- It should automatically detect it to be a `T38FAX` modem
|
- It should automatically detect it to be a `T38FAX` modem
|
||||||
- Look at `man sendfax` to send faxes
|
- 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!
|
- 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`)
|
- 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
|
25 23 * * * sh /usr/sbin/faxcron | mail FaxMaster
|
||||||
```
|
```
|
||||||
|
|
||||||
## FaxDispatch
|
### Dial Rules for Eventphone EPVPN
|
||||||
|
If you want to use Eventhone EPVPN, you can apply the following dial settings onto your modems.
|
||||||
- https://legacy.hylafax.org/content/Advanced_Permissions_with_6.0
|
You can find the config at `/etc/hylafax/config.ttyT38-1`.
|
||||||
|
In this case `ttyT38-1` is the modem block device.
|
||||||
## Dial Rules for Eventphone
|
|
||||||
|
|
||||||
```
|
```
|
||||||
# /etc/hylafax/config.ttyXX
|
# /etc/hylafax/config.ttyXX
|
||||||
CountryCode: 1
|
CountryCode: 1
|
||||||
AreaCode: 999
|
AreaCode: 999
|
||||||
```
|
```
|
||||||
|
|
||||||
## TODO
|
## FaxDispatch
|
||||||
|
|
||||||
|
- https://legacy.hylafax.org/content/Advanced_Permissions_with_6.0
|
||||||
|
|
||||||
|
# TODO
|
||||||
- **TODO: Test on Debian / RockPi / RaspberryPi**
|
- **TODO: Test on Debian / RockPi / RaspberryPi**
|
||||||
- **TODO: Test on Eventphone Infra**
|
- **TODO: Test on Eventphone Infra**
|
||||||
- **TODO: Package t38modem with service files and config**
|
- **TODO: Package t38modem with service files and config**
|
||||||
|
|
Loading…
Reference in a new issue