{"id":23289359,"url":"https://github.com/gonicus/gonnect","last_synced_at":"2026-04-27T11:01:29.169Z","repository":{"id":268911166,"uuid":"873485543","full_name":"gonicus/gonnect","owner":"gonicus","description":"Simple, friendly and desktop integrated VoIP client.","archived":false,"fork":false,"pushed_at":"2026-04-17T13:39:10.000Z","size":13207,"stargazers_count":69,"open_issues_count":9,"forks_count":12,"subscribers_count":6,"default_branch":"main","last_synced_at":"2026-04-17T15:41:54.728Z","etag":null,"topics":["flatpak","gnome","kde","linux-desktop","qml","qt6","sip","usb-hid","voip"],"latest_commit_sha":null,"homepage":"https://gonicus.de","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gonicus.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-10-16T08:50:47.000Z","updated_at":"2026-04-16T09:44:20.000Z","dependencies_parsed_at":null,"dependency_job_id":"0267c903-75c3-49af-af33-a42fd691db25","html_url":"https://github.com/gonicus/gonnect","commit_stats":{"total_commits":4,"total_committers":3,"mean_commits":"1.3333333333333333","dds":0.5,"last_synced_commit":"ecb2b1ad75d93ac0d5814e076c87d0f2f0196d93"},"previous_names":["gonicus/gonnect"],"tags_count":46,"template":false,"template_full_name":null,"purl":"pkg:github/gonicus/gonnect","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gonicus%2Fgonnect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gonicus%2Fgonnect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gonicus%2Fgonnect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gonicus%2Fgonnect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gonicus","download_url":"https://codeload.github.com/gonicus/gonnect/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gonicus%2Fgonnect/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32333199,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T23:26:28.701Z","status":"online","status_checked_at":"2026-04-27T02:00:06.769Z","response_time":128,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flatpak","gnome","kde","linux-desktop","qml","qt6","sip","usb-hid","voip"],"created_at":"2024-12-20T04:14:04.262Z","updated_at":"2026-04-27T11:01:29.161Z","avatar_url":"https://github.com/gonicus.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"media/logo.png\" width=\"410\" height=\"509\" alt=\"GOnnect\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://docs.gonicus.de/gonnect\"\u003eDocumentation\u003c/a\u003e |\n  \u003ca href=\"https://github.com/gonicus/gonnect/issues\"\u003eIssues\u003c/a\u003e |\n  \u003ca href=\"https://flathub.org/apps/de.gonicus.gonnect\"\u003eInstall\u003c/a\u003e\n\u003c/p\u003e\n\n---\n[![GOnnect workflow](https://github.com/gonicus/gonnect/actions/workflows/gonnect.yml/badge.svg)](https://github.com/gonicus/gonnect/actions/workflows/gonnect.yml) [![Flathub Version](https://img.shields.io/flathub/v/de.gonicus.gonnect)](https://flathub.org/apps/de.gonicus.gonnect) [![Translations](https://hosted.weblate.org/widget/gonnect/svg-badge.svg)](https://hosted.weblate.org/engage/gonnect/)\n\n# Overview\n\n_GOnnect_ is a simple, easy to use UC client, designed for\nLinux / _Flatpak_ based installations. It makes use of various Flatpak\nportals and is meant to integrate well into modern Desktop Environments\nlike _KDE_ or _GNOME_.\n\n![Overview](media/main-screen.png)\n\nWhat is special about _GOnnect_ is that is meant to be provisioned. For\nthat reason it has no configuration wizard or settings dialog and\nrequires a working configuration file in place.\n\nHere's a short feature list:\n\n * Call forwarding\n * Conference calls with three parties\n * Busy state for supported sources\n * Configurable busy on active call\n * Address sources\n   * LDAP\n   * CardDAV\n   * CSV\n   * GNOME Contacts / Evolution Data Service\n * Configurable identities for outgoing calls\n * Configurable Togglers (i.e. for call queues, CFNL, etc.)\n * **Jitsi Meet Integration: Upgrade call to Videoconference**\n * Calendar sources for upcoming conferences\n   * CalDAV\n   * GNOME Calendar / Evolution Data Service\n * **Support for various hardware headsets (i.e. Yealink, Jabra)**\n * Support for various busylights\n * Custom audio device profiles or managed by your system\n * [mpris](https://specifications.freedesktop.org/mpris-spec/latest/) for\n   stopping other audio sources on incoming calls\n * System Tray integration for most common functions / favorites / most frequent\n   calls\n * GNOME Search-Provider support\n * KRunner search plugin (requires next generation flatpak)\n * Desktop Actions / Autostart\n * Global Keyboard Shortcuts (if supported by your Desktop environment)\n * Keeping the screensaver from droppin' in while on the phone\n * Mime-Type registration for `tel:` / `sip:` URLs\n * Light/Dark mode\n\n# Headsets known to be supported\n\nGOnnect supports some generic USB headset features to make your calls easier.\nHere is the current list in combination\n\n| Feature                                  | Key |\n| ---------------------------------------- | --- |\n| Answering the call via handset off-hook  | A   |\n| End call by hanging up the handset       | E   |\n| Mute control                             | M   |\n| LED state visualization                  | S   |\n| Busy light support (additional hardware) | L   |\n| Open GOnnect via handset off-hook        | O   |\n| Ringing via headset base station         | R   |\n| Headset screen support                   | D   |\n\nIn theory, Teams certified Headsets may work, but you never know... Here is a\nlist of tested headsets. Please feel free to report any working combinations to\nmake this list more complete by opening an [issue](https://github.com/gonicus/gonnect/issues).\n\n| Manufacturer     | Model               | Features        |\n| ---------------- | ------------------- | --------------- |\n| Jabra            | EVOLVE LINK         | AEMSO           |\n| Plantronics/Poly | Voyager Focus BT600 | AEMSO           |\n| Poly             | Blackwire C5220     | AEMSO           |\n| Sennheiser       | SC 660 ANC USB      | AEM             |\n| Yealink          | WH62                | AEMSLOR         |\n| Yealink          | WH66/WH67           | AEMSLORD        |\n\nThe linux kernel currently has no concept of call flow, which (depending on the headset you\nhave) may lead to problems with microphone mute loops: the headset keeps toggling mute,\nunmute, mute, etc. As GOnnect can take care of this, switching of the direct alsa feedback\nto the sound system mute state may help:\n\n```\ncat \u003e /etc/udev/hwdb.d/90-usb-no-mute.hwdb \u003c\u003cEOF\nevdev:input:b0003*\n KEYBOARD_KEY_b002f=reserved\nEOF\n\nsystemd-hwdb update\nudevadm trigger\n```\n\n# Busylights known to be supported\n\n| Manufacturer | Model              |\n| ------------ | ------------------ |\n| kuando       | Busylight UC Omega |\n| Luxafor      | Flag               |\n| Logitech     | Litra Beam LX      |\n\n\n# Automatic video light switching\n\n| Manufacturer | Model              |\n| ------------ | ------------------ |\n| Logitech     | Litra Beam LX      |\n| Logitech     | Litra Glow         |\n\n# Installing _GOnnect_\n\n_GOnnect_ is distributed via Flathub only. To install it, either visit the\n[Flathub page](https://flathub.org/apps/de.gonicus.gonnect), search for _GOnnect_ in _GNOME-Software_\nor KDE's _discover_.\n\nAfter you have installed _GOnnect_, either adjust the provided\n`docs/modules/ROOT/examples/sample.conf` and place it in `~/.var/app/de.gonicus.gonnect/config/gonnect/99-user.conf`,\nor head over to [the documentation](https://github.com/gonicus/gonnect/wiki).\n\n# Non-goals\n\nLike every other software, _GOnnect_ cannot be an all-purpose silver bullet. Here are some\ndeliberately chosen non-goals, so things that will not be implemented into _GOnnect_:\n\n* **Full SIP configuration**: Most SIP clients provide a plethora of options to configure\nevery single bit of the SIP connection. That includes many audio codecs of which most are\nobsolete or rarely used. _GOnnect_ strives to be simple and therefore allows only the most\ncommon and important options. This will exclude some exotic ones.\n* **PIM/contact management**: This should be done via dedicated PIM services as opposed to\nimplementing the nth place to store contacts.\n* **Speech-to-text transcription and audio recording**: Apart from some technical insufficiencies\nthis bears some critical questions about data privacy.\n* **Conferences with more than three participants**: Ad-hoc conferences are implemented such\nthat the initializing participant will be a router for the audio streams of the others. In\nour experience, having more than three endpoints will produce bad sound quality, delays and\nother performance issues. Bigger conferences would require a specific configuration on the\nSIP server or another platform (like [Jitsi Meet](https://meet.jit.si/)).\n\n# Translations\n\nWe are using [Weblate](https://hosted.weblate.org/engage/gonnect/) to translate GOnnect\nin various languages. This hosted service is provided us for free as GOnnect is an Open Source\nproject. Many thanks to the Weblate team for this!.\n\nEveryone is invited to contribute to the translations. Just head over to our\n[Weblate project](https://hosted.weblate.org/engage/gonnect/) and start translating.\nIf you miss a language request a new one at Weblate or\n[create an issue at GitHub](https://github.com/gonicus/gonnect/issues/new/choose).\n\n# Development\n\n_GOnnect_ is based on Qt / C++ and requires a set of libraries to be buildable.\nThere are may ways to achieve a build, but we'll describe just one of them in\nthe following paragraphs.\n\n## Prerequisites\n\nAs we use immutable desktops here at [GONICUS](https://www.gonicus.de) and\ndevelopment takes place in a dedicated\n[distrobox](https://github.com/89luca89/distrobox) for each project, we also use\nthis procedure for _GOnnect_.\n\nMake sure to have _distrobox_ installed. On _Fedora_ for example run:\n\n```bash\nsudo dnf install distrobox\n```\n\nAfter _distrobox_ is installed, create the _distrobox_ for _GOnnect_ development\nby running\n\n```bash\ndistrobox assemble create --name gonnect\n```\n\nin the directory of your _GOnnect_ checkout.\n\n\n## Building\n\n### Unix based systems\n\nAssuming you're using the documented _distrobox_ approach above, enter the _distrobox_\nand start the ordinary _CMake_ build:\n\n```bash\ndistrobox enter gonnect\ncd \u003cto where you've cloned this repository\u003e\nconan config install resources/conan\nconan export-dependencies .\nconan install . --build=missing\ncmake --preset conan-release .\ncmake --build --preset conan-release --parallel $(nproc --all)\n```\n\nAlternatively you can simply run `qtcreator` inside the _distrobox_ and open the\nproject as usual be selecting the `CMakeLists.txt`.\n\n\n### Building the flatpak\n\nAs _GOnnect_ is mainly developed for use in _Flatpak_, some features only work in this\nkind of environment. If you want to build the _Flatpak_ locally, you can do this by\nthe following commands on your host shell:\n\n```bash\nflatpak 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\nflatpak --user install ./repo de.gonicus.gonnect\n```\n\n# Windows\n\nInstall build requirements\n\n```powershell\n# Install chocolatey: https://chocolatey.org\nSet-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'))\n\n# install build requirements\nchoco install -y git git-lfs python3 conan nsis cmake strawberryperl aqt\nchoco install -y visualstudio2022buildtools --package-parameters \"--add Microsoft.VisualStudio.Workload.MSBuildTools;includeRecommended --add Microsoft.VisualStudio.Workload.VCTools;includeRecommended --quiet\"\n\n# install qt in users home folder\naqt install-qt windows desktop 6.10.1 win64_msvc2022_64 -m qt5compat qtmultimedia qtwebengine qtwebchannel qtnetworkauth qtpositioning qtwebsockets qtgrpc qtshadertools -O $env:USERPROFILE\\Qt\n\n[System.Environment]::SetEnvironmentVariable('Qt6_Dir', $env:USERPROFILE + '\\Qt\\6.10.1\\msvc2022_64\\', 'User')\n```\n\nSetup conan and build gonnect:\n\n```powershell\ncd \u003cto where you have cloned this repository\u003e\n\n# prepare conan\nconan config install resources/conan\nconan export-dependencies .\nconan profile detect\nconan install . --build=missing -s compiler.cppstd=17\n\n# build gonnect\ncmake --preset conan-default .\ncmake --build --preset conan-release --parallel $((Get-CimInstance Win32_ComputerSystem).NumberOfLogicalProcessors)\ncd build\ncpack\n```\n\n# License\n\n_GOnnect_ is licensed under the terms of the GNU GENERAL PUBLIC LICENSE\nVersion 2, or at your opinion any later version.\n\nSee [LICENSE](LICENSE) for the full content of the license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgonicus%2Fgonnect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgonicus%2Fgonnect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgonicus%2Fgonnect/lists"}