Introduction and Goals
Scope
GOnnect is a cross-platform Unified Communications client built with Qt/QML that provides:
-
SIP voice calling capabilities
-
Contact aggregation from multiple sources (LDAP, CardDAV, Akonadi, EDS)
-
Calendar integration (CalDAV, Akonadi, EDS)
-
Instant messaging support
-
Jitsi Meet integration for video conferences
-
System tray integration with custom window decoration
-
Multi-platform support (Linux, Windows, macOS (experimental))
The application targets enterprise and professional users requiring reliable communication tools with integration into corporate infrastructure.
Stakeholders and Interests
| Stakeholder | Interest |
|---|---|
End Users |
Reliable call quality, intuitive UI, seamless contact/calendar integration |
System Administrators |
Easy deployment, configuration management, monitoring |
Security Team |
Encrypted communications, secure credential storage, compliance |
Developers |
Maintainable codebase, clear architecture, testability |
Product Managers |
Feature flexibility, platform support, performance |
Goals
Technical Goals
-
Cross-platform compatibility (Linux, macOS, Windows)
-
High call quality with adaptive codec selection
-
Low resource consumption and fast startup
-
Reliable background operation (system tray, autostart)
-
Comprehensive logging and debugging capabilities
Definition of Terms
| Term | Definition |
|---|---|
SIP |
Session Initiation Protocol (RFC 3261) |
AOR |
Address of Record - SIP URI identifying a user |
SRTP |
Secure Real-time Transport Protocol |
ICE |
Interactive Connectivity Establishment (RFC 5245) |
STUN |
Session Traversal Utilities for NAT |
TURN |
Traversal Using Relays around NAT |
CardDAV |
Contacts distributed via CalDAV protocol |
CalDAV |
Calendar distributed via CalDAV protocol |
RTT |
Real-time text (RFC 4103) |
General Constraints
-
Must use Qt6 framework for cross-platform GUI
-
Must use PJSIP library for SIP stack implementation
-
Must support C++17 standard
-
Must follow Qt coding conventions
-
Must be buildable with CMake and Conan dependency management
-
Must support Flatpak packaging for Linux distribution
-
Must comply with DCO (Developer Certificate of Origin) for contributions