Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Getting started

Install

baresip is built in and statically linked — no separate baresip install needed.

Homebrew (macOS / Linux):

brew install davidborzek/tap/ringo

Arch Linux (AUR) — prebuilt, via any AUR helper:

yay -S ringo-phone-bin   # or: paru -S ringo-phone-bin

Pre-built binaries for Linux and macOS (x86_64 + arm64) are on the releases page — download, extract and put ringo on your $PATH.

From crates.io:

cargo install ringo-phone

From GitHub (no clone needed):

cargo install --git https://github.com/davidborzek/ringo ringo-phone

Nix (flake):

nix profile install github:davidborzek/ringo#ringo-phone

Or manage ringo and its SIP profiles declaratively with the Home-Manager module.

Building ringo from source means compiling OpenSSL, libre and libbaresip before the Rust code — ten minutes or so, more on a small machine. A binary cache holds the result for every platform the flake supports, so enable it first and the install is a download instead:

cachix use ringo

On NixOS, in your configuration:

nix.settings = {
  substituters = [ "https://ringo.cachix.org" ];
  trusted-public-keys = [ "ringo.cachix.org-1:Zfdjuf1dHz+C0a4BOKfPbBOxTcHmKy3c2Ddr0tUiawk=" ];
};

The cache is filled from the default branch, so nix run github:davidborzek/ringo hits it. Pointing the overlay at your own nixpkgs produces a different derivation and builds from source again.

To pin a released version, name its tag — a flake has no version of its own, the git ref is the version:

nix profile install github:davidborzek/ringo/ringo-phone-v0.14.0#ringo-phone

Releases are tagged per crate, so ringo-phone-v0.14.0 is the tag for the phone. The flake at that tag still provides ringo-flow too, in whatever version that commit carried.

Homebrew 6.0+ requires third-party taps to be trusted before use. If brew install prompts you to trust the tap, accept it — or trust it up front:

brew tap davidborzek/tap
brew trust --formula davidborzek/tap/ringo

Quick start

ringo        # open the profile picker → Ctrl+N to create your first profile

Fill in your SIP credentials in the form, press Enter to save, then select the profile and press Enter to launch. See Profiles for the fields.

Usage

ringo              # open the profile picker (default)
ringo start <name> # launch a specific profile directly
ringo list         # list all profiles
ringo list --plain # one name per line (for scripting)
ringo list --json  # as a JSON array

From here, Using the TUI covers the keybindings, and Remote control covers driving a running session from a script.