jami-docs/technical/0.-Introduction.md

46 lines
2.1 KiB
Markdown
Raw Normal View History

2018-11-14 09:24:29 +08:00
# Table of contents
2019-08-22 10:27:57 +08:00
Greetings people. In this part of the documentation, you will learn how Jami works from the high level, to the bottom, with some examples. The following part will follow this plan:
2018-11-13 21:40:43 +08:00
2018-11-14 09:27:58 +08:00
1. [The different APIs](1. The different APIs)
2018-11-14 09:24:29 +08:00
2. Basic features
2018-11-14 09:24:41 +08:00
1. [Manage accounts](2.1. Manage Accounts)
2018-11-18 11:18:00 +08:00
2. [Manage contacts](2.2. Manage contacts)
2019-07-25 09:47:53 +08:00
3. Let's communicate, by text!
2019-07-25 09:49:38 +08:00
4. [Let's do a call!](2.4. Let's do a call)
5. [File transfer](2.5. File transfer)
2018-11-14 09:24:29 +08:00
3. Advanced features
1. Manage audio/videos
2. Call recording
2019-07-26 10:23:57 +08:00
3. [The push notifications system](https://github.com/savoirfairelinux/opendht/wiki/Push-notifications-support)
2018-11-14 09:24:29 +08:00
4. What is a DHTProxy
5. Supporting SIP
2019-02-15 05:28:11 +08:00
6. [Setup your own TURN server](https://git.jami.net/savoirfairelinux/ring-project/wikis/technical/3.6-Setup-your-own-TURN-server)
7. [Plugins](7. Jami plugins)
2018-11-13 21:40:43 +08:00
2019-08-30 10:17:46 +08:00
4. Contribute
1. Build instructions
2019-08-30 10:18:35 +08:00
2. [Submit your first patch](4.2. Submit your first patch)
2020-04-19 02:40:52 +08:00
3. [Features Requests](4.3. Features requests)
2019-08-30 10:17:46 +08:00
2019-12-09 06:28:56 +08:00
5. Group chats in details
1. Description
2019-12-09 06:33:09 +08:00
2. [The connection manager](5.2. The connection manager)
2019-12-09 06:28:56 +08:00
3. DRT
4. Voting system
2020-03-09 20:31:37 +08:00
5. Group calls
2019-12-09 06:28:56 +08:00
2020-07-15 01:37:54 +08:00
6. Drafts
1. [Conference Protocol](6.1. Conference Protocol)
2020-09-19 03:22:56 +08:00
2. [Sync Protocol](6.2. Sync Protocol)
2020-07-15 01:37:54 +08:00
2018-11-14 09:24:29 +08:00
# Description
2018-11-14 09:05:58 +08:00
If you read this, you probably want to either contribute to one of the projects or to implement your own client. There is three main layers in this project:
1. [OpenDHT](https://opendht.net) used to do the whole p2p communication. You can interact with this library like any Cpp library or with the python wrapper or via the [REST API](https://github.com/savoirfairelinux/opendht/wiki/REST-API).
2018-11-14 09:26:20 +08:00
2. The daemon, which is the main part. It's the part which does all the logic for Ring and interact with OpenDHT, pjsip, ffmpeg and all libraries used and implement the whole protocol. If you want to do a client, we recommend to use implement your client on top of this daemon and use one of the many APIs (REST/dbus/libwrap/JNI).
2018-11-14 09:05:58 +08:00
3. The client part, which is basically the *frontend*.
2018-11-14 09:24:29 +08:00
The following documentation will explain the different uses features for all layers.