Skip to content
Snippets Groups Projects
Commit 5eeeeade authored by ovari's avatar ovari Committed by Pierre Nicolas
Browse files

developer/jami-concepts/index: rst to md format

Change-Id: I29f5dad0889ba5f4fecf7d26f33b577f9cbb9b3e
parent 9d64caab
No related branches found
No related tags found
No related merge requests found
############# # Jami Concepts
Jami Concepts
#############
Jami is a quite complex platform interacting with many different Jami is a quite complex platform interacting with many different components and introducing many new concepts.
components and introducing many new concepts. This manual is intended This manual is intended to help you understand how Jami works, how to develop for Jami, and how to contribute to the project.
to help you understand how Jami works, how to develop for Jami, and how
to contribute to the project.
To quickly summarize and help you to find the part of the manual that To quickly summarize and help you to find the part of the manual that you are looking for, here is a brief overview of the different sections:
you are looking for, here is a brief overview of the different sections:
Jami is a distributed platform that allows users to communicate without Jami is a distributed platform that allows users to communicate without the need for a central server.
the need for a central server. So, a Jami account consists on a chain of So, a Jami account consists of a chain of certificates (CA, account, and device) that is used to authenticate the user and to encrypt the communication.
certificate (CA, Account, Device) that is used to authenticate the user The account is stored on the user's device, not on a server.
and to encrypt the communication. The account is stored on the user's
device, not on a server.
For this, here is the page that explains how it works: For this, here is the page that explains how it works:
+ :ref:`account-management` * :ref:`account-management`
+ :ref:`jami-identifiers` * :ref:`jami-identifiers`
After the user account is created, the user can contact other people by After the user account is created, the user can contact other people by sending connection requests through a DHT (<https://opendht.net>) after finding the contact ID
sending connection requests through a DHT (https://opendht.net) after finding the contact id (directly known or by looking up the name server).
(directly known or by lookup the name server). If both parties If both parties agree, they will first try to create a P2P TCP link (with the ICE protocol), then encrypt it via TLS and use it as a multiplexed socket to transmit data for various protocols, cf.:
agree, they will first try to create a p2p TCP link (with the ICE protocol), then
encrypt it via TLS and use it as a multiplexed socket to transmit data for various
protocols c.f.:
+ :ref:`contact-management` * :ref:`contact-management`
+ :ref:`banned-contacts` * :ref:`banned-contacts`
+ :ref:`connection-manager` * :ref:`connection-manager`
+ :ref:`name-server-protocol` * :ref:`name-server-protocol`
When both peers are in their contact list, a conversation is created. This conversation When both peers are in their contact list, a conversation is created.
is called a **Swarm**. A **swarm** is synced between all devices in a conversation via This conversation is a **swarm** based on **Swarm Technology**.
the `git` protocol (it's a git repository) and connections across devices in a conversation A **swarm** is synced between all devices in a conversation via the `git` protocol (it's a Git repository), and connections across devices in a conversation are routed by a component called the **DRT** (distributed routing table).
are routed by a component called the **drt** (distributed routing table).
+ :ref:`swarm` * :ref:`swarm`
+ :ref:`drt` * :ref:`drt`
Then, the connection can be used to send messages, files, or to make calls (1:1 or conferences). Then, the connection can be used to send messages, files, or to make calls (1:1 or conferences).
+ :ref:`calls` * :ref:`calls`
+ :ref:`calls-in-swarm` * :ref:`calls-in-swarm`
+ :ref:`file-transfer` * :ref:`file-transfer`
+ :ref:`conference-protocol` * :ref:`conference-protocol`
.. note:: ```{note}
Calls may be fully replaced by call in swarms in the future (except for SIP accounts) Only calls using Jami accounts are based on Swarm Technology.
```
Finally, a user can have multiple devices and a lot of information is synced between them. Finally, a user can have multiple devices, and a lot of information is synced between them.
+ :ref:`synchronizing-profiles` * :ref:`synchronizing-profiles`
+ :ref:`synchronization-protocol` * :ref:`synchronization-protocol`
.. toctree:: ```{toctree}
:maxdepth: 1 :maxdepth: 1
account-management account-management
...@@ -72,3 +62,4 @@ Finally, a user can have multiple devices and a lot of information is synced bet ...@@ -72,3 +62,4 @@ Finally, a user can have multiple devices and a lot of information is synced bet
swarm swarm
synchronization-protocol synchronization-protocol
synchronizing-profiles synchronizing-profiles
```
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment