Enum DSCPValue

java.lang.Object
java.lang.Enum<DSCPValue>
org.kurento.client.DSCPValue
All Implemented Interfaces:
Serializable, Comparable<DSCPValue>

public enum DSCPValue extends Enum<DSCPValue>
Possible DSCP values

WebRTC recommended values are taken from RFC 8837 https://datatracker.ietf.org/doc/html/rfc8837#section-5 , These are the values from AUDIO_VERYLOW to DATA_HIGH. First element in the name indicates kind of traffic that it should apply to, the second indicates relative priority. For video, a third field would indicate if the traffic is intended for high throughput or not. As indicated on RFC 8837 section 5 diagram: +=======================+==========+=====+============+============+ | Flow Type | Very Low | Low | Medium | High | +=======================+==========+=====+============+============+ | Audio | LE (1) | DF | EF (46) | EF (46) | | | | (0) | | | +-----------------------+----------+-----+------------+------------+ +-----------------------+----------+-----+------------+------------+ | Interactive Video | LE (1) | DF | AF42, AF43 | AF41, AF42 | | with or without Audio | | (0) | (36, 38) | (34, 36) | +-----------------------+----------+-----+------------+------------+ +-----------------------+----------+-----+------------+------------+ | Non-Interactive Video | LE (1) | DF | AF32, AF33 | AF31, AF32 | | with or without Audio | | (0) | (28, 30) | (26, 28) | +-----------------------+----------+-----+------------+------------+ +-----------------------+----------+-----+------------+------------+ | Data | LE (1) | DF | AF11 | AF21 | | | | (0) | | | +-----------------------+----------+-----+------------+------------+ As indicated also in RFC, non interactive video is not considered

Apart from the WebRTC recommended values, we also include all possible values are referenced in http://www.iana.org/assignments/dscp-registry/dscp-registry.xml of course some of those values are synonyms for the WebRTC recommended ones, they are included mainly for completeness

And as a last point, we include a shorthand for Chrome supported markings for low (CS0), very low (CS1), medium (CS7) and high (CS7) priorities in priority property for RTCRtpSender parameters. See https://developer.mozilla.org/en-US/docs/Web/API/RTCRtpSender/setParameters

This only covers outgoing network packets from KMS, to complete the solution, DSCP must be also requested on client, unfortunately for traffic on the other direction, this must be requested to the browser or client. On browser, the client application needs to use the following API https://www.w3.org/TR/webrtc-priority/

  • Enum Constant Details

    • NO_DSCP

      public static final DSCPValue NO_DSCP
    • NO_VALUE

      public static final DSCPValue NO_VALUE
    • AUDIO_VERYLOW

      public static final DSCPValue AUDIO_VERYLOW
    • AUDIO_LOW

      public static final DSCPValue AUDIO_LOW
    • AUDIO_MEDIUM

      public static final DSCPValue AUDIO_MEDIUM
    • AUDIO_HIGH

      public static final DSCPValue AUDIO_HIGH
    • VIDEO_VERYLOW

      public static final DSCPValue VIDEO_VERYLOW
    • VIDEO_LOW

      public static final DSCPValue VIDEO_LOW
    • VIDEO_MEDIUM

      public static final DSCPValue VIDEO_MEDIUM
    • VIDEO_MEDIUM_THROUGHPUT

      public static final DSCPValue VIDEO_MEDIUM_THROUGHPUT
    • VIDEO_HIGH

      public static final DSCPValue VIDEO_HIGH
    • VIDEO_HIGH_THROUGHPUT

      public static final DSCPValue VIDEO_HIGH_THROUGHPUT
    • DATA_VERYLOW

      public static final DSCPValue DATA_VERYLOW
    • DATA_LOW

      public static final DSCPValue DATA_LOW
    • DATA_MEDIUM

      public static final DSCPValue DATA_MEDIUM
    • DATA_HIGH

      public static final DSCPValue DATA_HIGH
    • CHROME_HIGH

      public static final DSCPValue CHROME_HIGH
    • CHROME_MEDIUM

      public static final DSCPValue CHROME_MEDIUM
    • CHROME_LOW

      public static final DSCPValue CHROME_LOW
    • CHROME_VERYLOW

      public static final DSCPValue CHROME_VERYLOW
    • CS0

      public static final DSCPValue CS0
    • CS1

      public static final DSCPValue CS1
    • CS2

      public static final DSCPValue CS2
    • CS3

      public static final DSCPValue CS3
    • CS4

      public static final DSCPValue CS4
    • CS5

      public static final DSCPValue CS5
    • CS6

      public static final DSCPValue CS6
    • CS7

      public static final DSCPValue CS7
    • AF11

      public static final DSCPValue AF11
    • AF12

      public static final DSCPValue AF12
    • AF13

      public static final DSCPValue AF13
    • AF21

      public static final DSCPValue AF21
    • AF22

      public static final DSCPValue AF22
    • AF23

      public static final DSCPValue AF23
    • AF31

      public static final DSCPValue AF31
    • AF32

      public static final DSCPValue AF32
    • AF33

      public static final DSCPValue AF33
    • AF41

      public static final DSCPValue AF41
    • AF42

      public static final DSCPValue AF42
    • AF43

      public static final DSCPValue AF43
    • EF

      public static final DSCPValue EF
    • VOICEADMIT

      public static final DSCPValue VOICEADMIT
    • LE

      public static final DSCPValue LE
  • Method Details

    • values

      public static DSCPValue[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      Returns:
      an array containing the constants of this enum type, in the order they are declared
    • valueOf

      public static DSCPValue valueOf(String name)
      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum type has no constant with the specified name
      NullPointerException - if the argument is null