Forked version of Jami documentation, see wrycode.com/jami-docs-demo
git clone git://git.wrycode.com/wrycode/jami-docs.git
Log | Files | Refs

commit d6699e958cb0af69e56d2a205cbb58a318d9dd4d
parent 72314100cacaac338087c8136806898899186cc2
Author: Nick Econopouly <wry@mm.st>
Date:   Thu, 25 Feb 2021 11:29:51 -0500

wiki: add group conference calls and dhtproxy to technical overview

Mgeneral/technical-overview.txt | 65++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------
1 file changed, 56 insertions(+), 9 deletions(-)

diff --git a/general/technical-overview.txt b/general/technical-overview.txt @@ -206,7 +206,8 @@ Swarms Swarms are a new generation of group conversations. `Here is the January 2021 announcement -<https://jami.net/swarm-introducing-a-new-generation-of-group-conversations/>`_ about the feature. +<https://jami.net/swarm-introducing-a-new-generation-of-group-conversations/>`_ +about the feature. The design is still changing frequently, so we will defer to the `Technical Reference <../technical/basic-features/swarm.html>`_ for a @@ -225,24 +226,70 @@ a few other things like :ref:`contacts not seeing avatars Group conference calls ---------------------- -Optional servers: DHT proxy, TURN, STUN ----------------------------------------- +Jami manages audio and video conferences between more than two +participants by treating the host as an ad-hoc server. The meeting +host receives video and audio feeds from every participant, remixes +them into a single stream, and sends the final version back to every +participant. + +At any time, a Jami account can be a **rendezvous point**, which +allows people to call in and join the group conference whenever the +account is online. It also adds the ability to set default moderators. +This feature can be enabled and disabled in the account settings for +any Jami account. + +TODO: this section needs better explanation + +Optional servers +---------------- + +In most circumstances, all of the core features work without any sort +of central server. However, there are some optional servers in the +Jami ecosystem which help with things like reliability and efficiency. + +All of these servers are **completely optional**, they are Free/Libre +software, and users may choose to host their own, change the default +ones, or not use them at all. DHT proxy and push notifications ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +OpenDHT provides a HTTP API that allows users to indirectly talk with +the DHT. This is called a DHT proxy because all ``get``, ``put``, and +``listen`` operations are relayed through the node instead of the rest +of the DHT. + +The purpose of this feature is to enable push notifications and reduce +energy consumption on mobile phones. + +Instead of leaving the Jami daemon to crawl and monitor the DHT in the +background, devices can ask the DHT proxy to watch the DHT and notify +them through the official iOS and Android push services when new values appear. + +A DHT proxy sends a wake up event through the device vendor's push +provider when it notices new values at the subscribed DHT +locations. Then the daemon on the iOS or Android device wakes up and +downloads the values directly from the DHTproxy. + +Message contents, recipients, and other metadata are never sent +through Google or Apple servers during this process, only wakeup +events. + +For more information about this feature, see `OpenDHT's documentation +<https://github.com/savoirfairelinux/opendht/wiki/Push-notifications-support>`_. + +If you want to host your own DHT proxy, see our :doc:`guide +<../guides/how-to-set-up-a-dhtproxy-or-bootstrap-server>`. + TURN and STUN ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Name servers and ns.jami.net +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + DHT bootstrap servers -------------------------- -Name servers --------------------------------------- - -ns.jami.net -~~~~~~~~~~~~~~~~~~~~ - JAMS: Managed Jami networks for organizations -------------------------------------------------