/telefonist

Automate your SIP test calls

Primary LanguageGoBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

About

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.

Build

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

Releases

For linux-amd64 I will upload the latest binary here.

Setup

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.

Flags

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

GUI