Interface RtpEndpoint

  • All Superinterfaces:
    BaseRtpEndpoint, Endpoint, KurentoObject, MediaElement, MediaObject, SdpEndpoint, SessionEndpoint

    public interface RtpEndpoint
    extends BaseRtpEndpoint
    Endpoint that provides bidirectional content delivery capabilities through the RTP or SRTP protocols.

    An RtpEndpoint contains paired sink and source :rom:cls:`MediaPad` for audio and video. This endpoint inherits from BaseRtpEndpoint.

    In order to establish RTP/SRTP communications, peers first engage in an SDP Offer/Answer negotiation process, where one of the peers (the offerer) sends an SDP Offer, while the other peer (the answerer) responds with an SDP Answer. This endpoint can work in both roles.

    • As offerer: The negotiation process is initiated by the media server.
      • Kurento generates the SDP Offer through the generateOffer() method. This offer must then be sent to the remote peer (the answerer) through the signaling channel.
      • The remote peer process the SDP Offer, and generates an SDP Answer. This answer is then sent back to the media server.
      • Upon receiving the SDP Answer, this endpoint must process it with the processAnswer() method.
    • As answerer: The negotiation process is initiated by the remote peer.
      • The remote peer, acting as offerer, generates an SDP Offer and sends it to this endpoint.
      • This endpoint processes the SDP Offer with the processOffer() method. The result of this method will be a string, containing an SDP Answer.
      • The SDP Answer must then be sent back to the offerer, so it can be processed by it.

    In case of unidirectional connections (i.e. only one peer is going to send media), the process is simpler, as only the sender needs to process an SDP Offer. On top of the information about media codecs and types, the SDP must contain the IP of the remote peer, and the port where it will be listening. This way, the SDP can be mangled without needing to go through the exchange process, as the receiving peer does not need to process any answer.

    Bitrate management

    Check the documentation of BaseRtpEndpoint for detailed information about bitrate management.