4. Multi-Party RTP Sessions
4. Multi-Party RTP Sessions
DTLS is a client-server protocol, but RTP/RTCP sessions often involve multiple parties in a conference or multicast environment. In order to support multiparty communication using DTLS-SRTP, each pair of communicating entities MUST establish a separate DTLS association. For instance, in a three-party call, there would be three separate DTLS associations: A-B, B-C, and A-C.
This approach has the advantage that each pair of endpoints shares a unique master secret. However, it means that an endpoint in an N-party conference will need to maintain N-1 separate DTLS associations and therefore N-1 separate sets of SRTP keys.
In scenarios where a central server (such as an RTP mixer or translator) is relaying traffic between endpoints, each endpoint establishes a DTLS association with the central server, not with each other endpoint. This reduces the number of DTLS associations each endpoint must maintain but means the central server has access to the unencrypted media.