The OlmAdapter class implements an End-to-End Encrypted (E2EE) communication channel between every two peers in a conference using libolm. This channel is primarily used to exchange the secret keys that participants use to encrypt actual media (managed by E2EEContext).
It uses a JSON-based request-response protocol transmitted via XMPP MUC private messages with the following message types:
session-init: Initiates olm session establishment (sent by a joining participant to others).session-ack: Completes session establishment; may contain the sender's current key.key-info: Provides the sender's most up-to-date key information.key-info-ack: Acknowledges receipt of a key-info request and may provide the sender's key.error: Indicates a request processing error.