Interface SdpEndpoint

All Superinterfaces:
Endpoint, KurentoObject, MediaElement, MediaObject, SessionEndpoint
All Known Subinterfaces:
BaseRtpEndpoint, RtpEndpoint, WebRtcEndpoint

public interface SdpEndpoint extends SessionEndpoint
Interface implemented by Endpoints that require an SDP Offer/Answer negotiation in order to configure a media session.

Functionality provided by this API:

  • Generate SDP offers.
  • Process SDP offers.
  • Configure SDP related params.
  • Method Details

    • getMaxAudioRecvBandwidth

      int getMaxAudioRecvBandwidth()
      Get Maximum inbound bitrate requested by this endpoint. Signaled to compatible WebRTC and RTP senders as part of Kurento's REMB bandwidth estimations, and also as an SDP bitrate attribute (b=AS:{value}, see RFC 8866 Section 5.8. Bandwidth Information) in sendrecv and recvonly SDP Offers.
      • Unit: kbps (kilobits per second).
      • Default: 0 (unlimited).
    • getMaxAudioRecvBandwidth

      void getMaxAudioRecvBandwidth(Continuation<Integer> cont)
      Get Maximum inbound bitrate requested by this endpoint. Signaled to compatible WebRTC and RTP senders as part of Kurento's REMB bandwidth estimations, and also as an SDP bitrate attribute (b=AS:{value}, see RFC 8866 Section 5.8. Bandwidth Information) in sendrecv and recvonly SDP Offers.
      • Unit: kbps (kilobits per second).
      • Default: 0 (unlimited).
    • getMaxAudioRecvBandwidth

      TFuture<Integer> getMaxAudioRecvBandwidth(Transaction tx)
      Get Maximum inbound bitrate requested by this endpoint. Signaled to compatible WebRTC and RTP senders as part of Kurento's REMB bandwidth estimations, and also as an SDP bitrate attribute (b=AS:{value}, see RFC 8866 Section 5.8. Bandwidth Information) in sendrecv and recvonly SDP Offers.
      • Unit: kbps (kilobits per second).
      • Default: 0 (unlimited).
    • setMaxAudioRecvBandwidth

      void setMaxAudioRecvBandwidth(int maxAudioRecvBandwidth)
      Set Maximum inbound bitrate requested by this endpoint. Signaled to compatible WebRTC and RTP senders as part of Kurento's REMB bandwidth estimations, and also as an SDP bitrate attribute (b=AS:{value}, see RFC 8866 Section 5.8. Bandwidth Information) in sendrecv and recvonly SDP Offers.
      • Unit: kbps (kilobits per second).
      • Default: 0 (unlimited).
    • setMaxAudioRecvBandwidth

      void setMaxAudioRecvBandwidth(int maxAudioRecvBandwidth, Continuation<Void> cont)
      Set Maximum inbound bitrate requested by this endpoint. Signaled to compatible WebRTC and RTP senders as part of Kurento's REMB bandwidth estimations, and also as an SDP bitrate attribute (b=AS:{value}, see RFC 8866 Section 5.8. Bandwidth Information) in sendrecv and recvonly SDP Offers.
      • Unit: kbps (kilobits per second).
      • Default: 0 (unlimited).
    • setMaxAudioRecvBandwidth

      void setMaxAudioRecvBandwidth(int maxAudioRecvBandwidth, Transaction tx)
      Set Maximum inbound bitrate requested by this endpoint. Signaled to compatible WebRTC and RTP senders as part of Kurento's REMB bandwidth estimations, and also as an SDP bitrate attribute (b=AS:{value}, see RFC 8866 Section 5.8. Bandwidth Information) in sendrecv and recvonly SDP Offers.
      • Unit: kbps (kilobits per second).
      • Default: 0 (unlimited).
    • getMaxVideoRecvBandwidth

      int getMaxVideoRecvBandwidth()
      Get Maximum inbound bitrate requested by this endpoint. Signaled to compatible WebRTC and RTP senders as part of Kurento's REMB bandwidth estimations, and also as an SDP bitrate attribute (b=AS:{value}, see RFC 8866 Section 5.8. Bandwidth Information) in sendrecv and recvonly SDP Offers.
      • Unit: kbps (kilobits per second).
      • Default: 0 (unlimited).
    • getMaxVideoRecvBandwidth

      void getMaxVideoRecvBandwidth(Continuation<Integer> cont)
      Get Maximum inbound bitrate requested by this endpoint. Signaled to compatible WebRTC and RTP senders as part of Kurento's REMB bandwidth estimations, and also as an SDP bitrate attribute (b=AS:{value}, see RFC 8866 Section 5.8. Bandwidth Information) in sendrecv and recvonly SDP Offers.
      • Unit: kbps (kilobits per second).
      • Default: 0 (unlimited).
    • getMaxVideoRecvBandwidth

      TFuture<Integer> getMaxVideoRecvBandwidth(Transaction tx)
      Get Maximum inbound bitrate requested by this endpoint. Signaled to compatible WebRTC and RTP senders as part of Kurento's REMB bandwidth estimations, and also as an SDP bitrate attribute (b=AS:{value}, see RFC 8866 Section 5.8. Bandwidth Information) in sendrecv and recvonly SDP Offers.
      • Unit: kbps (kilobits per second).
      • Default: 0 (unlimited).
    • setMaxVideoRecvBandwidth

      void setMaxVideoRecvBandwidth(int maxVideoRecvBandwidth)
      Set Maximum inbound bitrate requested by this endpoint. Signaled to compatible WebRTC and RTP senders as part of Kurento's REMB bandwidth estimations, and also as an SDP bitrate attribute (b=AS:{value}, see RFC 8866 Section 5.8. Bandwidth Information) in sendrecv and recvonly SDP Offers.
      • Unit: kbps (kilobits per second).
      • Default: 0 (unlimited).
    • setMaxVideoRecvBandwidth

      void setMaxVideoRecvBandwidth(int maxVideoRecvBandwidth, Continuation<Void> cont)
      Set Maximum inbound bitrate requested by this endpoint. Signaled to compatible WebRTC and RTP senders as part of Kurento's REMB bandwidth estimations, and also as an SDP bitrate attribute (b=AS:{value}, see RFC 8866 Section 5.8. Bandwidth Information) in sendrecv and recvonly SDP Offers.
      • Unit: kbps (kilobits per second).
      • Default: 0 (unlimited).
    • setMaxVideoRecvBandwidth

      void setMaxVideoRecvBandwidth(int maxVideoRecvBandwidth, Transaction tx)
      Set Maximum inbound bitrate requested by this endpoint. Signaled to compatible WebRTC and RTP senders as part of Kurento's REMB bandwidth estimations, and also as an SDP bitrate attribute (b=AS:{value}, see RFC 8866 Section 5.8. Bandwidth Information) in sendrecv and recvonly SDP Offers.
      • Unit: kbps (kilobits per second).
      • Default: 0 (unlimited).
    • generateOffer

      String generateOffer(OfferOptions options)
      Generates an SDP offer with media capabilities of the Endpoint. Throws:
      • SDP_END_POINT_ALREADY_NEGOTIATED If the endpoint is already negotiated.
      • SDP_END_POINT_GENERATE_OFFER_ERROR if the generated offer is empty. This is most likely due to an internal error.
      Parameters:
      options - An OfferOptions providing options requested for the offer.
      Returns:
      The SDP offer. *
    • generateOffer

      void generateOffer(OfferOptions options, Continuation<String> cont)
      Asynchronous version of generateOffer: Continuation.onSuccess(F) is called when the action is done. If an error occurs, Continuation.onError(java.lang.Throwable) is called.
      Parameters:
      options - An OfferOptions providing options requested for the offer.
      See Also:
    • generateOffer

      TFuture<String> generateOffer(Transaction tx, OfferOptions options)
      Generates an SDP offer with media capabilities of the Endpoint. Throws:
      • SDP_END_POINT_ALREADY_NEGOTIATED If the endpoint is already negotiated.
      • SDP_END_POINT_GENERATE_OFFER_ERROR if the generated offer is empty. This is most likely due to an internal error.
      Parameters:
      options - An OfferOptions providing options requested for the offer.
      Returns:
      The SDP offer. *
    • processOffer

      String processOffer(String offer)
      Processes SDP offer of the remote peer, and generates an SDP answer based on the endpoint's capabilities.

      If no matching capabilities are found, the SDP will contain no codecs.

      Throws:
      • SDP_PARSE_ERROR If the offer is empty or has errors.
      • SDP_END_POINT_ALREADY_NEGOTIATED If the endpoint is already negotiated.
      • SDP_END_POINT_PROCESS_OFFER_ERROR if the generated offer is empty. This is most likely due to an internal error.
      Parameters:
      offer - SessionSpec offer from the remote User Agent
      Returns:
      The chosen configuration from the ones stated in the SDP offer. *
    • processOffer

      void processOffer(String offer, Continuation<String> cont)
      Asynchronous version of processOffer: Continuation.onSuccess(F) is called when the action is done. If an error occurs, Continuation.onError(java.lang.Throwable) is called.
      Parameters:
      offer - SessionSpec offer from the remote User Agent
      See Also:
    • processOffer

      TFuture<String> processOffer(Transaction tx, String offer)
      Processes SDP offer of the remote peer, and generates an SDP answer based on the endpoint's capabilities.

      If no matching capabilities are found, the SDP will contain no codecs.

      Throws:
      • SDP_PARSE_ERROR If the offer is empty or has errors.
      • SDP_END_POINT_ALREADY_NEGOTIATED If the endpoint is already negotiated.
      • SDP_END_POINT_PROCESS_OFFER_ERROR if the generated offer is empty. This is most likely due to an internal error.
      Parameters:
      offer - SessionSpec offer from the remote User Agent
      Returns:
      The chosen configuration from the ones stated in the SDP offer. *
    • processAnswer

      String processAnswer(String answer)
      Generates an SDP offer with media capabilities of the Endpoint. Throws:
      • SDP_PARSE_ERROR If the offer is empty or has errors.
      • SDP_END_POINT_ALREADY_NEGOTIATED If the endpoint is already negotiated.
      • SDP_END_POINT_PROCESS_ANSWER_ERROR if the result of processing the answer is an empty string. This is most likely due to an internal error.
      • SDP_END_POINT_NOT_OFFER_GENERATED If the method is invoked before the generateOffer method.
      Parameters:
      answer - SessionSpec answer from the remote User Agent
      Returns:
      Updated SDP offer, based on the answer received. *
    • processAnswer

      void processAnswer(String answer, Continuation<String> cont)
      Asynchronous version of processAnswer: Continuation.onSuccess(F) is called when the action is done. If an error occurs, Continuation.onError(java.lang.Throwable) is called.
      Parameters:
      answer - SessionSpec answer from the remote User Agent
      See Also:
    • processAnswer

      TFuture<String> processAnswer(Transaction tx, String answer)
      Generates an SDP offer with media capabilities of the Endpoint. Throws:
      • SDP_PARSE_ERROR If the offer is empty or has errors.
      • SDP_END_POINT_ALREADY_NEGOTIATED If the endpoint is already negotiated.
      • SDP_END_POINT_PROCESS_ANSWER_ERROR if the result of processing the answer is an empty string. This is most likely due to an internal error.
      • SDP_END_POINT_NOT_OFFER_GENERATED If the method is invoked before the generateOffer method.
      Parameters:
      answer - SessionSpec answer from the remote User Agent
      Returns:
      Updated SDP offer, based on the answer received. *
    • getLocalSessionDescriptor

      String getLocalSessionDescriptor()
      Returns the local SDP.
      • No offer has been generated: returns null.
      • Offer has been generated: returns the SDP offer.
      • Offer has been generated and answer processed: returns the agreed SDP.
      Returns:
      The last agreed SessionSpec. *
    • getLocalSessionDescriptor

      void getLocalSessionDescriptor(Continuation<String> cont)
      Asynchronous version of getLocalSessionDescriptor: Continuation.onSuccess(F) is called when the action is done. If an error occurs, Continuation.onError(java.lang.Throwable) is called.
      See Also:
    • getLocalSessionDescriptor

      TFuture<String> getLocalSessionDescriptor(Transaction tx)
      Returns the local SDP.
      • No offer has been generated: returns null.
      • Offer has been generated: returns the SDP offer.
      • Offer has been generated and answer processed: returns the agreed SDP.
      Returns:
      The last agreed SessionSpec. *
    • getRemoteSessionDescriptor

      String getRemoteSessionDescriptor()
      This method returns the remote SDP. If the negotiation process is not complete, it will return NULL.
      Returns:
      The last agreed User Agent session description. *
    • getRemoteSessionDescriptor

      void getRemoteSessionDescriptor(Continuation<String> cont)
      Asynchronous version of getRemoteSessionDescriptor: Continuation.onSuccess(F) is called when the action is done. If an error occurs, Continuation.onError(java.lang.Throwable) is called.
      See Also:
    • getRemoteSessionDescriptor

      TFuture<String> getRemoteSessionDescriptor(Transaction tx)
      This method returns the remote SDP. If the negotiation process is not complete, it will return NULL.
      Returns:
      The last agreed User Agent session description. *
    • generateOffer

      String generateOffer()
      Generates an SDP offer with media capabilities of the Endpoint. Throws:
      • SDP_END_POINT_ALREADY_NEGOTIATED If the endpoint is already negotiated.
      • SDP_END_POINT_GENERATE_OFFER_ERROR if the generated offer is empty. This is most likely due to an internal error.
      Returns:
      The SDP offer. *
    • generateOffer

      void generateOffer(Continuation<String> cont)
      Asynchronous version of generateOffer: Continuation.onSuccess(F) is called when the action is done. If an error occurs, Continuation.onError(java.lang.Throwable) is called.
      See Also:
    • generateOffer

      TFuture<String> generateOffer(Transaction tx)
      Generates an SDP offer with media capabilities of the Endpoint. Throws:
      • SDP_END_POINT_ALREADY_NEGOTIATED If the endpoint is already negotiated.
      • SDP_END_POINT_GENERATE_OFFER_ERROR if the generated offer is empty. This is most likely due to an internal error.
      Returns:
      The SDP offer. *