RFC 3605 (rfc3605) - Page 2 of 8


Real Time Control Protocol (RTCP) attribute in Session Description Protocol (SDP)



Alternative Format: Original Text Document



RFC 3605                 RTCP attribute in SDP              October 2003


   states that "other ports used by the media application (such as the
   RTCP port) should be derived algorithmically from the base media
   port."  RTCP port numbers were necessarily derived from the base
   media port in older versions of RTP (such as [RFC 1889]), but now that
   this restriction has been lifted, there is a need to specify RTCP
   ports explicitly in SDP.  Note, however, that implementations of RTP
   adhering to the earlier [RFC 1889] specification may not be able to
   make use of the SDP attributes specified in this document.

   When the NAT device performs port mapping, there is no guarantee that
   the mappings of two separate ports reflects the sequencing and the
   parity of the original port numbers; in fact, when the NAT manages a
   pool of IP addresses, it is even possible that the RTP and the RTCP
   ports may be mapped to different addresses.  In order to successfully
   establish connections despite the misordering of the port numbers and
   the possible parity switches caused by the NAT, we propose to use a
   specific SDP attribute to document the RTCP port and optionally the
   RTCP address.

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC 2119].

2.  Description of the Solution

   The main part of our solution is the declaration of an SDP attribute
   for documenting the port used by RTCP.

2.1.  The RTCP Attribute

   The RTCP attribute is used to document the RTCP port used for media
   stream, when that port is not the next higher (odd) port number
   following the RTP port described in the media line.  The RTCP
   attribute is a "value" attribute, and follows the general syntax
   specified page 18 of [RFC 2327]: "a=:".  For the
   RTCP attribute:

   *  the name is the ascii string "rtcp" (lower case),

   *  the value is the RTCP port number and optional address.

   The formal description of the attribute is defined by the following
   ABNF [RFC 2234] syntax:

   rtcp-attribute =  "a=rtcp:" port  [nettype space addrtype space
                         connection-address] CRLF





Huitema                     Standards Track