telefonist let's you automate your SIP test calls and send status information to Grafana Loki. It has minimal dependencies so can run it on a default Debian installation without installing any additional packages.
To build telefonist you either need to install Go 1.16 or Docker. To compile it with Go run:
go build -ldflags="-s -w" -o telefonist *.go
To compile it with Docker run:
sudo docker run --rm=true -itv $PWD:/mnt golang:buster /mnt/build_bin_docker.sh
For linux-amd64 I will upload the latest binary here.
If you run telefonist it will write a baresip accounts, config, contacts and uuid file. The config file will be generated on each start. The accounts file will be generated once and won't be touched if it exist. Please add a SIP account to your accounts file an restart telefonist.
You can start telefonist with following flags:
Usage of ./telefonist:
-debug
Set debug mode
-gui_address string
Local GUI listen address (default "0.0.0.0:8080")
-log_stderr
Log to stderr (default true)
-loki_url string
URL to remote Loki server like http://localhost:3100
-max_calls uint
Maximum number of incoming calls (default 40)
-rtp_interface string
RTP interface like eth0
-rtp_ports string
RTP port range (default "10000-11000")
-rtp_timeout uint
Seconds after which a call with no incoming RTP packets will be terminated (default 5)
-sip_address string
SIP listen address like 0.0.0.0:5060
-webhook_delay uint
Webhook resend delay of warnings and errors in seconds (default 600)
-webhook_url string
Send warnings and errors to this Mattermost or Slack webhook URL