p; |
| ... |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
The SDES packet is a three-level structure composed of a header and
zero or more chunks, each of of which is composed of items describing
the source identified in that chunk. The items are described
individually in subsequent sections.
version (V), padding (P), length:
As described for the SR packet (see Section 6.3.1).
packet type (PT): 8 bits
Contains the constant 202 to identify this as an RTCP SDES
packet.
source count (SC): 5 bits
The number of SSRC/CSRC chunks contained in this SDES packet. A
value of zero is valid but useless.
Each chunk consists of an SSRC/CSRC identifier followed by a list of
zero or more items, which carry information about the SSRC/CSRC. Each
chunk starts on a 32-bit boundary. Each item consists of an 8-bit
type field, an 8-bit octet count describing the length of the text
(thus, not including this two-octet header), and the text itself.
Note that the text can be no longer than 255 octets, but this is
consistent with the need to limit RTCP bandwidth consumption.
The text is encoded according to the UTF-2 encoding specified in
Annex F of ISO standard 10646 [12,13]. This encoding is also known as
UTF-8 or UTF-FSS. It is described in "File System Safe UCS
Transformation Format (FSS_UTF)", X/Open Preliminary Specification,
Document Number P316 and Unicode Technical Report #4. US-ASCII is a
subset of this encoding and requires no additional encoding. The
Schulzrinne, et al Standards Track [Page 31]
RFC 1889 RTP January 1996
presence of multi-octet encodings is indicated by setting the most
significant bit of a character to a value of one.
Items are contiguous, i.e., items are not individually padded to a
32-bit boundary. Text is not null terminated because some multi-octet
encodings include null octets. The list of items in each chunk is
terminated by one or more null octets, the first of which is
interpreted as an item type of zero to denote the end of the list,
and the remainder as needed to pad until the next 32-bit boundary. A
chunk with zero items (four null octets) is valid but useless.
End systems send one SDES packet containing their own source
identifier (the same as the SSRC in the fixed RTP header). A mixer
sends one SDES packet containing a chunk for each contributing source
from which it is receiving SDES information, or multiple complete
SDES packets in the format above if there are more than 31 such
sources (see Section 7).
The SDES items currently defined are described in the next sections.
Only the CNAME item is mandatory. Some items shown here may be useful
only for particular profiles, but the item types are all assigned
from one common space to promote shared use and to simplify profile-
independent applications. Additional items may be defined in a
profile by registering the type numbers with IANA.
6.4.1 CNAME: Canonical end-point identifier SDES item