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.

System Context

Diagram

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

Non-Technical Goals

  • User-friendly interface with minimal training required

  • Flexible configuration for diverse deployment scenarios

  • Extensibility through plugin architecture (contact sources, chat plugins)

  • Internationalization support (i18n)

  • Open source development model

Out of Scope

  • PSTN gateway functionality

  • PBX server functionality

  • Mobile platform support (iOS, Android)

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