Namespace FM.LiveSwitch.Sdp
Classes
AddressType
Defines valid SDP address types.
Attribute
An SDP attribute.
Bandwidth
An SDP bandwidth element.
BandwidthType
Defines valid SDP bandwidth types.
Base64EncryptionKey
An SDP encryption key with a method of "base64".
BundleGroup
A bundle group of SDP Media Description elements.
BundleOnlyAttribute
Defined in draft-ietf-mmusic-sdp-bundle-negotiation. Attribute is used to identify that a gioven media description can only be used in bundled group. Its formatting in SDP is described by the following BNF: Name: bundle-only
Value: N/A
Usage Level: media
Charset Dependent: no
Example:
a=bundle-only
CategoryAttribute
This attribute gives the dot-separated hierarchical category of the session. This is to enable a receiver to filter unwanted sessions by category. There is no central registry of categories. It is a session-level attribute, and it is not dependent on charset.
CharacterSetAttribute
This specifies the character set to be used to display the session name and information data. By default, the ISO-10646 character set in UTF-8 encoding is used. If a more compact representation is required, other character sets may be used. For example, the ISO 8859-1 is specified with the following SDP attribute:
a=charset:ISO-8859-1
ClearEncryptionKey
An SDP encryption key with a method of "clear".
ConferenceType
Defines valid SDP conference types.
ConferenceTypeAttribute
This specifies the type of the conference. Suggested values are "broadcast", "meeting", "moderated", "test", and "H332". "recvonly" should be the default for "type:broadcast" sessions, "type:meeting" should imply "sendrecv", and "type:moderated" should indicate the use of a floor control tool and that the media tools are started so as to mute new sites joining the conference.
ConnectionData
An SDP connection data element.
Content
Defines valid SDP content values.
ContentAttribute
The 'content' attribute contains one or more tokens, which MAY be attached to a media stream by a sending application.An application MAY attach a 'content' attribute to any media stream it describes.
CryptoAttribute
This gives the maximum amount of media that can be encapsulated in each packet, expressed as time in milliseconds. The time SHALL be calculated as the sum of the time the media present in the packet represents. For frame-based codecs, the time SHOULD be an integer multiple of the frame size. This attribute is probably only meaningful for audio data, but may be used with other media types if it makes sense. It is a media-level attribute, and it is not dependent on charset. Note that this attribute was introduced after RFC 2327, and non-updated implementations will ignore this attribute.
CryptoKeyMethod
Defines valid SDP crypto key methods.
CryptoSessionParam
Defines valid SDP crypto session parameters.
CryptoSuite
Defines valid SDP crypto suites.
DirectionAttribute
This specifies the mode in which tools should be started.
EncryptionKey
An SDP encryption key element.
FormatParametersAttribute
This attribute allows parameters that are specific to a particular format to be conveyed in a way that SDP does not have to understand them. The format must be one of the formats specified for the media. Format-specific parameters may be any set of parameters required to be conveyed by SDP and given unchanged to the media tool that will use this format. At most one instance of this attribute is allowed for each format.
FrameRateAttribute
This gives the maximum video frame rate in frames/sec. It is intended as a recommendation for the encoding of video data. Decimal representations of fractional values using the notation "integer.fraction" are allowed. It is a media-level attribute, defined only for video media, and it is not dependent on charset.
GroupAttribute
Defined in RFC 3388. Attribute is used for grouping together different media streams. Its formatting in SDP is described by the following BNF: group-attribute = "a=group:" semantics * (space identification-tag) semantics = "LS" | "FID" | "BUNDLE"
InactiveAttribute
This specifies that the tools should be started in inactive mode. This is necessary for interactive conferences where users can put other users on hold. No media is sent over an inactive media stream. Note that an RTP-based system SHOULD still send RTCP, even if started inactive. It can be either a session or media-level attribute, and it is not dependent on charset.
KeywordsAttribute
Like the cat attribute, this is to assist identifying wanted sessions at the receiver. This allows a receiver to select interesting session based on keywords describing the purpose of the session; there is no central registry of keywords. It is a session-level attribute. It is a charset-dependent attribute, meaning that its value should be interpreted in the charset specified for the session description if one is specified, or by default in ISO 10646/UTF-8.
LanguageAttribute
This can be a session-level attribute or a media-level attribute. As a session-level attribute, it specifies the default language for the session being described. As a media- level attribute, it specifies the language for that media, overriding any session-level language specified. Multiple lang attributes can be provided either at session or media level if the session description or media use multiple languages, in which case the order of the attributes indicates the order of importance of the various languages in the session or media from most important to least important.
MaxPacketTimeAttribute
This gives the maximum amount of media that can be encapsulated in each packet, expressed as time in milliseconds. The time SHALL be calculated as the sum of the time the media present in the packet represents. For frame-based codecs, the time SHOULD be an integer multiple of the frame size. This attribute is probably only meaningful for audio data, but may be used with other media types if it makes sense. It is a media-level attribute, and it is not dependent on charset. Note that this attribute was introduced after RFC 2327, and non-updated implementations will ignore this attribute.
Media
An SDP media element.
MediaDescription
An SDP media description element.
MediaStreamIdAttribute
https://tools.ietf.org/html/rfc5888#page-4 "Media stream identification" media attribute, which is used for identifying media streams within a session description. Its formatting in SDP [RFC4566] is described by the following Augmented Backus-Naur Form(ABNF) [RFC5234]:
mid-attribute = "a=mid:" identification-tag identification-tag = token ; token is defined in RFC 4566 The identification-tag MUST be unique within an SDP session description.
MediaStreamIdSemanticAttribute
https://tools.ietf.org/html/draft-ietf-mmusic-msid-08 - NB: Removed in subsequent drafts, most likely will not be used eventually. Used here for compatibility with Google Chrome and Mozilla Firefox.
A session-level attribute is defined for signalling the semantics associated with an msid grouping.This allows msid groupings with different semantics to coexist.
This OPTIONAL attribute gives the group identifier and its group semantic; it carries the same meaning as the ssrc-group-attr of RFC 5576 section 4.2, but uses the identifier of the group rather than a list of SSRC values.
This attribute MUST be present if "a=msid" is used.
An empty list of identifiers is an indication that the sender supports the indicated semantic, but has no msid groupings of the given type in the present SDP.
An identifier of "" is an indication that all "a=msid" lines in the SDP have this specific semantic. If "" is not used, each msid-id in the SDP MUST appear in one and only one "msid-semantic" line. The name of the attribute is "msid-semantic". The value of the attribute is given by the following ABNF:
msid-semantic-value = msid - semantic msid-list msid-semantic = token ; see RFC 4566 msid-list = *(" " msid-id) / " *"
The semantic field holds values from the IANA registriy "Semantics for the msid-semantic SDP attribute" (which is defined in Section 6 of https://tools.ietf.org/html/draft-ietf-mmusic-msid-08 ).
An example msid-semantic might look like this, if a semantic LS was registered by IANA for the same purpose as the existing LS grouping semantic:
a= msid-semantic:LS xyzzy forolow
This means that the SDP description has two lip sync groups, with the group identifiers xyzzy and forolow, respectively.
The msid-semantic attribute can occur more than once, but MUST NOT occur more than once with the same msid-semantic value.
MediaType
Defines valid SDP media types.
Message
An SDP message.
MutedAttribute
Attribute that indicates if the stream track is muted.
NetworkType
Defines valid SDP network types.
Orientation
Defines valid SDP orientations.
OrientationAttribute
Normally this is only used for a whiteboard or presentation tool. It specifies the orientation of a the workspace on the screen. It is a media-level attribute. Permitted values are "portrait", "landscape", and "seascape" (upside-down landscape). It is not dependent on charset.
Origin
An SDP origin element.
PacketTimeAttribute
This gives the length of time in milliseconds represented by the media in a packet. This is probably only meaningful for audio data, but may be used with other media types if it makes sense. It should not be necessary to know ptime to decode RTP or vat audio, and it is intended as a recommendation for the encoding/packetisation of audio. It is a media-level attribute, and it is not dependent on charset.
PromptEncryptionKey
An SDP encryption key with a method of "prompt".
QualityAttribute
This gives a suggestion for the quality of the encoding as an integer value. The intention of the quality attribute for video is to specify a non-default trade-off between frame-rate and still-image quality. For video, the value is in the range 0 to 10, with the following suggested meaning:
10 - the best still-image quality the compression scheme can give. 5 - the default behaviour given no quality suggestion. 0 - the worst still-image quality the codec designer thinks is still usable.
It is a media-level attribute, and it is not dependent on charset.
ReceiveOnlyAttribute
This specifies that the tools should be started in receive-only mode where applicable. It can be either a session- or media- level attribute, and it is not dependent on charset. Note that recvonly applies to the media only, not to any associated control protocol (e.g., an RTP-based system in recvonly mode SHOULD still send RTCP packets).
RepeatTime
An SDP repeat time element.
SdpLanguageAttribute
This can be a session-level attribute or a media-level attribute. As a session-level attribute, it specifies the language for the session description. As a media-level attribute, it specifies the language for any media-level SDP information field associated with that media. Multiple sdplang attributes can be provided either at session or media level if multiple languages in the session description or media use multiple languages, in which case the order of the attributes indicates the order of importance of the various languages in the session or media from most important to least important.
SendOnlyAttribute
This specifies that the tools should be started in send-only mode. An example may be where a different unicast address is to be used for a traffic destination than for a traffic source. In such a case, two media descriptions may be used, one sendonly and one recvonly. It can be either a session- or media-level attribute, but would normally only be used as a media attribute. It is not dependent on charset. Note that sendonly applies only to the media, and any associated control protocol (e.g., RTCP) SHOULD still be received and processed as normal.
SendReceiveAttribute
This specifies that the tools should be started in send and receive mode. This is necessary for interactive conferences with tools that default to receive-only mode. It can be either a session or media-level attribute, and it is not dependent on charset.
Setup
Defines valid SDP setups.
SetupAttribute
The 'setup' attribute indicates which of the end points should initiate the TCP connection establishment (i.e., send the initial TCP SYN). The 'setup' attribute is charset-independent and can be a session-level or a media-level attribute.
TimeDescription
An SDP time description element.
TimeZone
An SDP time zone element.
TimeZones
An SDP time zones element.
Timing
An SDP timing element.
ToolAttribute
This gives the name and version number of the tool used to create the session description. It is a session-level attribute, and it is not dependent on charset.
UdpMedia
An SDP media description with a transport protocol of "udp".
UnknownAttribute
This attribute is used to encapsulate unrecognized SDP attributes.
UriEncryptionKey
An SDP encryption key with a method of "uri".
Enums
AttributeCategory
Specified Multiplexing category of SDP Attribute. Rules governing SDP Attribute multiplexing are as per draft-ietf-mmusic-sdp-mux-attributes
AttributeType
SDP Attribute types
GroupSemanticsType
SDP Group Semantics
MediaStreamIdSemanticToken
Media Stream Id Semantic Tokens