Jami
latest
General
Introduction
How does it work?
Who makes Jami?
FAQ
Basics
Account management
Advanced
Technical Overview
Before reading
Jami account
The DHT
Significance of the Jami Id
Calls and file transfers
Swarms
Group conference calls
Optional servers
DHT bootstrap servers
JAMS: Managed Jami networks for organizations
All Features by Client
Text messaging
Calling
Account settings
Other features
Advanced settings
Feature Requests
Planned/In progress
Wanted but not planned
Can be implemented, contributions welcome (or will take months/years to come)
Depends on mass changes
Others
Troubleshooting
Audio/Video
Guides:
How to Make a Bug Report
How to Contribute to This Documentation
Dependencies
Cloning the repository
Editing a page
Previewing your work
Saving your work
Submitting a change
Modifying your work
Adding a page
How to Submit a Patch
Setting up git and ssh
SSH setup
Your Repository
References
How to Set Up a TURN Server
Installing
Configuring
Creating users on your TURN server
Launching the TURN server
Configuring Jami to authenticate with the TURN server
How to Set Up a DHTproxy or DHT Bootstrap Server
Build Instructions
Which Build Method to Use
Using the Master Repository
Updating your copy
Building Components Individually
Building Jami on Windows
Building Jami on Linux
Dependencies
Building Jami on macOS
Building Jami on Android
Prepare environment
Build and install locally
Troubleshooting
Building Jami for iOS
Technical Reference
Jami identifiers
APIs
OpenDHT
Daemon
LRC
Basic Features
Managing Accounts
Managing Contacts
Understanding Swarms
Calling
File Transfers
Advanced Features
Installing and Using Plugins
Creating Plugins
Build Tensorflow
Certificates
Name Server Protocol
Rules on name formatting
Querying a name
Querying an address
Registering a name
Some links
Choosing CRF value for encoder
Context
Observation
Objective
Test
Extra
Introducing scenario
In the daemon
In Jami clients (recommended implementation)
Coding Rules
Coding Style
Necessary Constraints
Design Guideline
Current Design
Rules
Language Standard
Maximum Line Length
Non-ASCII Characters
Spaces vs. Tabs
Testing
Qt/c++
Signal and slot naming
QML
Code formatting
C++
Google Test
Example main.cpp
QML
QtQuickTest
Gérer le HDMI-CEC
The Jami Network
Connectivity
The OpenDHT network
The JamiNS blockchain
old build instructions
Client Qt for Jami
On GNU/Linux
On native Windows
Mac OS X Client for Jami
chatview internationalization
in short
review exisiting js i18n libs
i18next
jed
Polyglot
using Jed
Conference protocol
Definitions
Disclaimer
Improve on layouts
Syncing Conferences Informations
Moderators
Future
connection manager
DHT side
Negotiating a new channel
Closing a channel
Structure of the connectionManager
Usage
GSOC
Project ideas:
Contributions GSoC 2016:
Contributions GSoC 2017
Important RFCs
SIP
ICE
SDP
RTP
SRTP
Improving Jami’s Quality
Unit-tests
Framework Tests
Integration tests
Doc and feedback:
Monitoring
Smoke tests
Special note: FDroid
What needs to be done
LRC documentation
Introduction
DatabaseManager
NewCallModel class and NewCall namespace
ContactModel class and Contact namespace
ConversationModel class, Conversation namespace and Message namespace
Persisting the account
Adding a device to a Ring account
Removing a device from a Ring account
Account transmission format
Contacting another account
ICE descriptor exchange over OpenDHT
DTLS negotiation
SIP call
Cryptographic primitives
Password stretching
Encryption
Outgoing and Incoming calls
extra
Usages
Long-term Storage
Contact Request
Instant Message
Presence
Security / Privacy
Release Process
Redmine Ticket
Repository Preparation
Testing
Push tags
Packaging
Gnome
Advertisement
Sync protocol
Old method
New method
Device Sync
User stories
Current implementation
Working With Gerrit
Account Setup
To Know your Git Config
To Test your SSH Access
Git Configuration
To update the configuration
To Push by Default in refs/for/master
To Create the Review
To Push a Private patch
Changelog
Notes
TODO
Jami
»
Technical Reference
»
Basic Features
Edit on Bitbucket
Basic Features
Managing Accounts
Managing Contacts
Understanding Swarms
Calling
File Transfers