Conceitos Jami
O Jami é uma plataforma bastante complexa que interage com muitos componentes diferentes e introduz muitos conceitos novos. Este manual destina-se a ajudá-lo a compreender como o Jami funciona, como desenvolver para o Jami e como contribuir para o projeto.
Para resumir rapidamente e ajudá-lo a encontrar a parte do manual que procura, eis um breve resumo das diferentes secções:
O Jami é uma plataforma distribuída que permite aos utilizadores comunicar sem a necessidade de um servidor central. Assim, uma conta Jami consiste numa cadeia de certificados (CA, conta, dispositivo) que é utilizada para autenticar o utilizador e encriptar a comunicação. A conta é armazenada no dispositivo do utilizador e não num servidor.
Para isso, aqui está a página que explica o seu funcionamento: + account-management + jami-identifiers
Depois que a conta de usuário é criada, o usuário pode entrar em contato com outras pessoas enviando solicitações de conexão por meio de um DHT (https://opendht.net) depois de encontrar o ID do contato (conhecido diretamente ou por pesquisa no servidor de nomes). Se ambas as partes concordarem, elas tentarão primeiro criar um link TCP p2p (com o protocolo ICE), depois criptografá-lo via TLS e usá-lo como um soquete multiplexado para transmitir dados para vários protocolos, por exemplo:
contact-management
banned-contacts
connection-manager
name-server-protocol
Quando ambos os pares estão em sua lista de contatos, uma conversa é criada. Essa conversa é chamada de Swarm. Um swarm é sincronizado entre todos os dispositivos em uma conversa por meio do protocolo git (é um repositório git) e as conexões entre dispositivos em uma conversa são roteadas por um componente chamado drt (tabela de roteamento distribuído).
swarm
drt
Em seguida, a conexão pode ser usada para enviar mensagens, arquivos ou fazer chamadas (1:1 ou conferências).
calls
calls-in-swarm
file-transfer
conference-protocol
Nota
As chamadas podem ser totalmente substituídas por enxames de chamadas no futuro (exceto para contas SIP)
Por último, um utilizador pode ter vários dispositivos e muitas informações são sincronizadas entre eles.
synchronizing-profiles
synchronization-protocol
- Gestão de contas
- Contatos proibidos
- Chamadas em enxame
- Chamadas
- Protocolo da conferência
- O gerente de ligação
- Gestão de contatos
- Tabela de encaminhamento dinâmico (Dynamic Routing Table - DRT)
- Transferência de arquivos
- Identificadores Jami
- Nome Protocolo do servidor
- Enxame
- Protocolo de sincronização
- Sincronização de perfil