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:
OpenDHT 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.
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).
The client part, which is basically the frontend.
The following documentation will explain the different uses features for all layers.