Commit e2ac41bc authored by Johannes Barthel's avatar Johannes Barthel
Browse files

minor fixes, readme

parent 5b34c3a4
......@@ -102,7 +102,7 @@ checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b"
[[package]]
name = "freeswitch-watchdog"
version = "0.1.0"
version = "0.1.3"
dependencies = [
"anyhow",
"reqwest",
......
[package]
name = "freeswitch-watchdog"
version = "0.1.2"
version = "0.1.3"
authors = ["Johannes Barthel <johannes.barthel@student.kit.edu>"]
edition = "2018"
license = "MIT OR Apache-2.0"
......
# freeswitch-watchdog
A daemon to restart BigBlueButton's FreeSWITCH service when [Issue 9667](https://github.com/bigbluebutton/bigbluebutton/issues/9667) occurs.
Yes, this is an awful hack, but it's all we have for now. Users will be thrown out of audio when the error occurs, but they will be able to reattach to audio after a minute.
## setup
Get the debian package (either from this directory or by building from source using the instructions below).
Go to the directory where the package is:
```bash
dpkg -i ./freeswitch-watchdog_0.1.3_amd64.deb
```
Enable and start the service:
```bash
systemctl enable freeswitch-watchdog.service
systemctl start freeswitch-watchdog.service
```
You can check the output in the journal using
```
journalctl -xefu freeswitch-watchdog.service
```
There should be messages if a problem with FreeSWITCH is detected.
## building from source
We recommend to build on Ubuntu 16.04, so the dependency versions will be the same as on the server.
Install some system dependencies:
```bash
sudo apt install libssl-dev pkg-config build-essential
```
If not already present, install Rust:
```bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | bash -s -- -y
source $HOME/.cargo/env
```
Install cargo-deb so we can create a Debian package:
```bash
cargo install cargo-deb
```
Now, clone the repo:
```bash
git clone https://gitlab.senfcall.de/johannesbarthel/freeswitch-watchdog
cd freeswitch-watchdog
```
Compile and create the package:
```bash
cargo deb
```
The package will end up in the `target/debian` directory.
......@@ -11,7 +11,7 @@ Group=root
Restart=on-failure
RestartSec=10
startLimitIntervalSec=60
StartLimitInterval=60
WorkingDirectory=/tmp
ExecStart=/usr/bin/freeswitch-watchdog
......
......@@ -71,9 +71,9 @@ fn main() {
let hostname = hostname.trim();
let url = format!("https://{}/ws", hostname);
// println!("waiting for 10 minutes before beginning checks");
// sleep_secs(10 * 60);
// println!("now starting to periodically poll freeswitch");
println!("waiting for 10 minutes before beginning checks");
sleep_secs(10 * 60);
println!("now starting to periodically poll freeswitch");
loop {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment