https://github.com/gonicus/gonnect
Simple, friendly and desktop integrated VoIP client.
https://github.com/gonicus/gonnect
flatpak gnome kde linux-desktop qml qt6 sip usb-hid voip
Last synced: about 2 months ago
JSON representation
Simple, friendly and desktop integrated VoIP client.
- Host: GitHub
- URL: https://github.com/gonicus/gonnect
- Owner: gonicus
- License: other
- Created: 2024-10-16T08:50:47.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2026-04-17T13:39:10.000Z (about 2 months ago)
- Last Synced: 2026-04-17T15:41:54.728Z (about 2 months ago)
- Topics: flatpak, gnome, kde, linux-desktop, qml, qt6, sip, usb-hid, voip
- Language: C++
- Homepage: https://gonicus.de
- Size: 12.6 MB
- Stars: 69
- Watchers: 6
- Forks: 12
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
Documentation |
Issues |
Install
---
[](https://github.com/gonicus/gonnect/actions/workflows/gonnect.yml) [](https://flathub.org/apps/de.gonicus.gonnect) [](https://hosted.weblate.org/engage/gonnect/)
# Overview
_GOnnect_ is a simple, easy to use UC client, designed for
Linux / _Flatpak_ based installations. It makes use of various Flatpak
portals and is meant to integrate well into modern Desktop Environments
like _KDE_ or _GNOME_.

What is special about _GOnnect_ is that is meant to be provisioned. For
that reason it has no configuration wizard or settings dialog and
requires a working configuration file in place.
Here's a short feature list:
* Call forwarding
* Conference calls with three parties
* Busy state for supported sources
* Configurable busy on active call
* Address sources
* LDAP
* CardDAV
* CSV
* GNOME Contacts / Evolution Data Service
* Configurable identities for outgoing calls
* Configurable Togglers (i.e. for call queues, CFNL, etc.)
* **Jitsi Meet Integration: Upgrade call to Videoconference**
* Calendar sources for upcoming conferences
* CalDAV
* GNOME Calendar / Evolution Data Service
* **Support for various hardware headsets (i.e. Yealink, Jabra)**
* Support for various busylights
* Custom audio device profiles or managed by your system
* [mpris](https://specifications.freedesktop.org/mpris-spec/latest/) for
stopping other audio sources on incoming calls
* System Tray integration for most common functions / favorites / most frequent
calls
* GNOME Search-Provider support
* KRunner search plugin (requires next generation flatpak)
* Desktop Actions / Autostart
* Global Keyboard Shortcuts (if supported by your Desktop environment)
* Keeping the screensaver from droppin' in while on the phone
* Mime-Type registration for `tel:` / `sip:` URLs
* Light/Dark mode
# Headsets known to be supported
GOnnect supports some generic USB headset features to make your calls easier.
Here is the current list in combination
| Feature | Key |
| ---------------------------------------- | --- |
| Answering the call via handset off-hook | A |
| End call by hanging up the handset | E |
| Mute control | M |
| LED state visualization | S |
| Busy light support (additional hardware) | L |
| Open GOnnect via handset off-hook | O |
| Ringing via headset base station | R |
| Headset screen support | D |
In theory, Teams certified Headsets may work, but you never know... Here is a
list of tested headsets. Please feel free to report any working combinations to
make this list more complete by opening an [issue](https://github.com/gonicus/gonnect/issues).
| Manufacturer | Model | Features |
| ---------------- | ------------------- | --------------- |
| Jabra | EVOLVE LINK | AEMSO |
| Plantronics/Poly | Voyager Focus BT600 | AEMSO |
| Poly | Blackwire C5220 | AEMSO |
| Sennheiser | SC 660 ANC USB | AEM |
| Yealink | WH62 | AEMSLOR |
| Yealink | WH66/WH67 | AEMSLORD |
The linux kernel currently has no concept of call flow, which (depending on the headset you
have) may lead to problems with microphone mute loops: the headset keeps toggling mute,
unmute, mute, etc. As GOnnect can take care of this, switching of the direct alsa feedback
to the sound system mute state may help:
```
cat > /etc/udev/hwdb.d/90-usb-no-mute.hwdb <
conan config install resources/conan
conan export-dependencies .
conan install . --build=missing
cmake --preset conan-release .
cmake --build --preset conan-release --parallel $(nproc --all)
```
Alternatively you can simply run `qtcreator` inside the _distrobox_ and open the
project as usual be selecting the `CMakeLists.txt`.
### Building the flatpak
As _GOnnect_ is mainly developed for use in _Flatpak_, some features only work in this
kind of environment. If you want to build the _Flatpak_ locally, you can do this by
the following commands on your host shell:
```bash
flatpak run --command=flatpak-builder org.flatpak.Builder build --user --install-deps-from=flathub --disable-rofiles-fuse --force-clean --repo=repo resources/flatpak/de.gonicus.gonnect.yml
flatpak --user install ./repo de.gonicus.gonnect
```
# Windows
Install build requirements
```powershell
# Install chocolatey: https://chocolatey.org
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
# install build requirements
choco install -y git git-lfs python3 conan nsis cmake strawberryperl aqt
choco install -y visualstudio2022buildtools --package-parameters "--add Microsoft.VisualStudio.Workload.MSBuildTools;includeRecommended --add Microsoft.VisualStudio.Workload.VCTools;includeRecommended --quiet"
# install qt in users home folder
aqt install-qt windows desktop 6.10.1 win64_msvc2022_64 -m qt5compat qtmultimedia qtwebengine qtwebchannel qtnetworkauth qtpositioning qtwebsockets qtgrpc qtshadertools -O $env:USERPROFILE\Qt
[System.Environment]::SetEnvironmentVariable('Qt6_Dir', $env:USERPROFILE + '\Qt\6.10.1\msvc2022_64\', 'User')
```
Setup conan and build gonnect:
```powershell
cd
# prepare conan
conan config install resources/conan
conan export-dependencies .
conan profile detect
conan install . --build=missing -s compiler.cppstd=17
# build gonnect
cmake --preset conan-default .
cmake --build --preset conan-release --parallel $((Get-CimInstance Win32_ComputerSystem).NumberOfLogicalProcessors)
cd build
cpack
```
# License
_GOnnect_ is licensed under the terms of the GNU GENERAL PUBLIC LICENSE
Version 2, or at your opinion any later version.
See [LICENSE](LICENSE) for the full content of the license.