- Python 90%
- Shell 10%
|
All checks were successful
Flatpak / Build and publish Flatpak (push) Successful in 1m59s
- Support GPG signature checks on OSTree 2022.2 runners |
||
|---|---|---|
| .forgejo/workflows | ||
| build-aux | ||
| data | ||
| docs/screenshots | ||
| gnomesip_app | ||
| tests | ||
| .gitignore | ||
| gnomesip | ||
| host.salix.gnomesip.Devel.yml | ||
| host.salix.gnomesip.yml | ||
| LICENSE | ||
| README.md | ||
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 |
|---|---|
![]() |
![]() |
| Preferences | Active call |
|---|---|
![]() |
![]() |
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
gnomesipis the executable entry point.gnomesip_app/window.pycontains the GTK/libadwaita interface.gnomesip_app/baresip_controller.pymanages Baresip and the TCP control connection.gnomesip_app/history.pystores recent calls in SQLite.host.salix.gnomesip.ymlis the Flatpak manifest used by builders.host.salix.gnomesip.Devel.ymlis the separately installable nightly manifest.build-aux/build-flatpak-bundle.shcreates a local distributable Flatpak bundle.
License
GnomeSip is released under the MIT license. See LICENSE.



