No description
  • Python 90%
  • Shell 10%
Find a file
salix 2de97f5529
All checks were successful
Flatpak / Build and publish Flatpak (push) Successful in 1m59s
Use compatible OSTree metadata key query
- Support GPG signature checks on OSTree 2022.2 runners
2026-08-08 14:34:56 +02:00
.forgejo/workflows Publish stable and nightly Flatpak channels 2026-08-07 13:11:49 +02:00
build-aux Use compatible OSTree metadata key query 2026-08-08 14:34:56 +02:00
data Publish stable and nightly Flatpak channels 2026-08-07 13:11:49 +02:00
docs/screenshots Document GnomeSip and stamp release bundle versions 2026-07-08 22:43:22 +02:00
gnomesip_app Publish stable and nightly Flatpak channels 2026-08-07 13:11:49 +02:00
tests Improve SIP recovery and add attended call transfers 2026-08-05 11:40:47 +02:00
.gitignore Publish stable and nightly Flatpak channels 2026-08-07 13:11:49 +02:00
gnomesip Initial commit 2026-07-08 09:16:24 +02:00
host.salix.gnomesip.Devel.yml Publish stable and nightly Flatpak channels 2026-08-07 13:11:49 +02:00
host.salix.gnomesip.yml Publish stable and nightly Flatpak channels 2026-08-07 13:11:49 +02:00
LICENSE Switch project license to MIT 2026-07-08 11:51:47 +02:00
README.md Publish stable and nightly Flatpak channels 2026-08-07 13:11:49 +02:00

GnomeSip

GnomeSip is a small GTK 4/libadwaita SIP phone for GNOME. It uses Baresip for the SIP engine and focuses on the everyday desktop flow: configure one account, dial a number, handle calls, and keep a short local history.

Screenshots

Dial Recents
GnomeSip dial screen GnomeSip recent calls screen
Preferences Active call
GnomeSip SIP account preferences GnomeSip active call screen

Features

  • Outgoing SIP calls from a dial pad or text entry.
  • Incoming calls while the app is running, including after its window is closed, with desktop notifications that reopen the call window.
  • Automatic SIP re-registration after Wi-Fi, VPN, address, route, or system resume events, plus SIP engine crash recovery.
  • Call controls for answer, hang up, mute, hold/resume, blind or attended transfer, and DTMF tones.
  • Recent call history with callback, copy, and delete actions.
  • SIP account settings for display name, SIP ID, auth login, transport, outbound proxy, and STUN server.
  • Password storage through the desktop Secret Service when available.

Build a Flatpak

The Flatpak build is the easiest way to run the full app because it bundles the matching Baresip engine and modules.

flatpak remote-add --if-not-exists --user flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install --user flathub org.gnome.Platform//50 org.gnome.Sdk//50
build-aux/build-flatpak-bundle.sh
flatpak install --user ./GnomeSip-stable-x86_64.flatpak
flatpak run host.salix.gnomesip

The build script clones pinned re and baresip releases, stages the app, and produces GnomeSip-stable-x86_64.flatpak plus its SHA-256 file. Build the independently installable nightly identity with:

GNOMESIP_FLATPAK_CHANNEL=nightly build-aux/build-flatpak-bundle.sh
flatpak install --user ./GnomeSip-nightly-x86_64.flatpak
flatpak run host.salix.gnomesip.Devel

Published builds are available from the shared Salix remote:

flatpak remote-add --if-not-exists salix https://salix.host/flatpak/salix.flatpakrepo
flatpak install salix host.salix.gnomesip
flatpak install salix host.salix.gnomesip.Devel

The repository currently publishes x86_64 builds. Pushes to master publish nightly; a published Forgejo release publishes stable. See build-aux/FLATPAK_REPOSITORY.md for the CI, signing, and restricted SSH importer setup.

Run from Source

For local development outside Flatpak, install Python GObject bindings, GTK 4, libadwaita, and Baresip with the ctrl_tcp and netroam modules available on your system. Package names vary by distribution; on Debian-like systems they are commonly:

sudo apt install python3-gi gir1.2-gtk-4.0 gir1.2-adw-1 gir1.2-secret-1 baresip
python3 ./gnomesip

Local runs use the normal XDG config, data, and state directories. SIP passwords are stored with Secret Service when it is available; otherwise the app can still run without storing a password.

Test

python3 -m unittest

Project Layout

  • gnomesip is the executable entry point.
  • gnomesip_app/window.py contains the GTK/libadwaita interface.
  • gnomesip_app/baresip_controller.py manages Baresip and the TCP control connection.
  • gnomesip_app/history.py stores recent calls in SQLite.
  • host.salix.gnomesip.yml is the Flatpak manifest used by builders.
  • host.salix.gnomesip.Devel.yml is the separately installable nightly manifest.
  • build-aux/build-flatpak-bundle.sh creates a local distributable Flatpak bundle.

License

GnomeSip is released under the MIT license. See LICENSE.