diff --git a/developer/jami-concepts/calls-in-swarm.md b/developer/jami-concepts/calls-in-swarm.md index b3202d2805cae5c540a04becc556a32444e85e78..2a513a871f95290c8161d365ac985d3d6374c8c9 100644 --- a/developer/jami-concepts/calls-in-swarm.md +++ b/developer/jami-concepts/calls-in-swarm.md @@ -11,7 +11,7 @@ This page aims to describe how call will works with groups. This method will all + Two new URIs will be used for this feature: + `swarm:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx` + `rdv:accountUri/deviceId/conversationId/confId` -+ **Swarm's profile** is the profile of the swarm stored in a vCard (`profile.vcf`, see {ref}`developer/swarm:Conversation's profile synchronization` and {doc}`synchronizing-profiles`) ++ **Swarm's profile** is the profile of the swarm stored in a vCard (`profile.vcf`, see {doc}`Conversation's profile synchronization <swarm>` and {doc}`synchronizing-profiles`) + `rdvUri` is the default URI for a Swarm, set in the *Swarm's profile* Note: those two URIs allow the client to place a call in order to join a *Rendezvous* or to init a call to a swarm, resulting in the logic described in the next section. diff --git a/developer/jami-concepts/file-transfer.md b/developer/jami-concepts/file-transfer.md index 9d63b3d8f9ae446c2f962196eb8815d6d5dd09b7..36b3bf5d5db54e9b4c5eaa204e2e83808d6fa441 100644 --- a/developer/jami-concepts/file-transfer.md +++ b/developer/jami-concepts/file-transfer.md @@ -1,7 +1,7 @@ File transfer ============= -**THIS PAGE IS DEPRECATED: READ {ref}`developer/swarm:File transfer`** +**THIS PAGE IS DEPRECATED: READ {doc}`File transfer <swarm>`** How to use it? @@ -70,7 +70,7 @@ The same structure is used to receive files, but the method changes a bit: ##### Re-ask for a previous file transfer -As specified in {ref}`developer/swarm:Other mime types`, the data-transfer interactions are now synced and stored into conversations. So, a device can easily detects if a file was downloaded or not. If not, it can asks all members in the conversation to transmits the file again. +As specified in {doc}`Other mime types <swarm>`, the data-transfer interactions are now synced and stored into conversations. So, a device can easily detects if a file was downloaded or not. If not, it can asks all members in the conversation to transmits the file again. To do this, the device will send a json with the mime-type: `application/data-transfer-request+json` containing `conversation` (the conversation's id), `interaction` (related interaction), `deviceId` the device receiving the file. diff --git a/developer/jami-concepts/index.md b/developer/jami-concepts/index.md index ae67e6aaab8dc6a875c08eee2ffd0186550f69c5..e922552989cc5d931f53280c118bebe96067d250 100644 --- a/developer/jami-concepts/index.md +++ b/developer/jami-concepts/index.md @@ -10,31 +10,31 @@ So, a Jami account consists of a chain of certificates (CA, account, and device) The account is stored on the user's device, not on a server. For this, here is the page that explains how it works: -* {ref}`account-management` -* {ref}`jami-identifiers` +* [account-management](account-management.md) +* [jami-identifiers](jami-identifiers.md) 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 (directly known or by looking up the name server). 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.: -* {ref}`contact-management` -* {ref}`banned-contacts` -* {ref}`connection-manager` -* {ref}`name-server-protocol` +* [contact-management](contact-management.md) +* [banned-contacts](banned-contacts.md) +* [connection-manager](connection-manager.md) +* [name-server-protocol](name-server-protocol.md) When both peers are in their contact list, a conversation is created. This conversation is a **swarm** based on **Swarm Technology**. 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). -* {ref}`swarm` -* {ref}`drt` +* [swarm](swarm.md) +* [drt](drt.md) Then, the connection can be used to send messages, files, or to make calls (1:1 or conferences). -* {ref}`calls` -* {ref}`calls-in-swarm` -* {ref}`file-transfer` -* {ref}`conference-protocol` +* [calls](calls.md) +* [calls-in-swarm](calls-in-swarm.md) +* [file-transfer](file-transfer.md) +* [conference-protocol](conference-protocol.md) ```{note} Only calls using Jami accounts are based on Swarm Technology. @@ -42,8 +42,8 @@ Then, the connection can be used to send messages, files, or to make calls (1:1 Finally, a user can have multiple devices, and a lot of information is synced between them. -* {ref}`synchronizing-profiles` -* {ref}`synchronization-protocol` +* [synchronizing-profiles](synchronizing-profiles.md) +* [synchronization-protocol](synchronization-protocol.md) ```{toctree} :maxdepth: 1 diff --git a/user/faq.md b/user/faq.md index 9c6b28dce3a9bfed5e98bf84fd2c6edb0d188ad3..bfbdc69833ffbe88bc33848903df1ebc464eef5f 100644 --- a/user/faq.md +++ b/user/faq.md @@ -112,6 +112,7 @@ If the participants in a conversation are often not online at the same time (for The often-online device would receive the messages from each participant and relay it to the other(s) whenever they come online. Thus, acting similarly to a "server", all the while Jami remains distributed by nature. +(where_are_the_configuration_files_located)= ### Where are the configuration files located? Jami saves its configuration (account, certificates, history) at different locations depending on the platform. @@ -241,6 +242,7 @@ Usernames are unique on the name server. A display name allows you to choose another name that identifies a Jami account to contacts. Display names can be edited or changed at any time and only trusted peers can see them. +(how_can_i_back_up_my_account)= ### How can I back up my account? There are two ways to back up an account: @@ -290,7 +292,7 @@ The contacts will still have the messages which were sent to them, but all publi The default `ns.jami.net` name server **does not** delete any registered usernames -- other name servers might (not recommended), at their administrator's discretion. So, if an account has a registered username on the default name server and the account is deleted or lost (without a backup), nobody (including the user) will be able to register a new account with that username again; thus, nobody can reach the user at that username anymore. -To avoid losing an account **please** {ref}`user/faq#how-can-i-back-up-my-account:back it up`! +To avoid losing an account **please** {ref}`back it up <how_can_i_back_up_my_account>`! ``` ### What happens when I link a new device? @@ -391,8 +393,7 @@ More information about name servers is available in the ### How can I change the timeout for a call? -In the `dring.yml` file (see {ref}`user/faq:Where are the -configuration files located?`), the `ringingTimeout` value, measured in seconds, can be changed. +In the `dring.yml` file (see {ref}`where_are_the_configuration_files_located`), the `ringingTimeout` value, measured in seconds, can be changed. ### How to back up and reimport conversations and accounts @@ -633,7 +634,7 @@ or: } ``` -This file is {ref}`user/faq#where-are-the-configuration-files-located:located in the same directory` as `dring.yml`. +This file is {ref}`located in the same directory <where_are_the_configuration_files_located>` as `dring.yml`. To check which options are supported, use the command `ffmpeg -h encoder=[encoder_name]`, where `encoder_name` can be any of `libx264`, `libvpx`, `mpeg4`, `h263`, `libopus`, `libspeex`, `g722`, `pcm_alaw`, or `pcm_mulaw` (the FFmpeg names for all of Jami's supported encoders). @@ -644,7 +645,7 @@ An audio processor allows Jami to clean up and process your microphone's audio. It can remove echo, reduce noise, and equalize your microphone's volume. Additionally, it can detect when you're speaking and send this information to participants in your call. The audio processor settings can be set in your `dring.yml` file. -See {ref}`where-are-the-configuration-files-located:this section to find where this file is located`. +See {ref}`this section to find where this file is located <where_are_the_configuration_files_located>`. The relevant preference keys are: