Enum DSCPValue
- All Implemented Interfaces:
Serializable
,Comparable<DSCPValue>
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
-
NO_VALUE
-
AUDIO_VERYLOW
-
AUDIO_LOW
-
AUDIO_MEDIUM
-
AUDIO_HIGH
-
VIDEO_VERYLOW
-
VIDEO_LOW
-
VIDEO_MEDIUM
-
VIDEO_MEDIUM_THROUGHPUT
-
VIDEO_HIGH
-
VIDEO_HIGH_THROUGHPUT
-
DATA_VERYLOW
-
DATA_LOW
-
DATA_MEDIUM
-
DATA_HIGH
-
CHROME_HIGH
-
CHROME_MEDIUM
-
CHROME_LOW
-
CHROME_VERYLOW
-
CS0
-
CS1
-
CS2
-
CS3
-
CS4
-
CS5
-
CS6
-
CS7
-
AF11
-
AF12
-
AF13
-
AF21
-
AF22
-
AF23
-
AF31
-
AF32
-
AF33
-
AF41
-
AF42
-
AF43
-
EF
-
VOICEADMIT
-
LE
-
-
Method Details
-
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
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 nameNullPointerException
- if the argument is null
-