Skip to main content

4. 要求和建议 (Requirements and Recommendations)

SDP的目的是传达多媒体会话中的媒体流信息,以允许会话描述的接收者参与会话。SDP主要用于互联网协议,尽管它足够通用,可以描述其他网络环境中的多媒体会议。媒体流可以是多对多的。会话不需要持续活动。

到目前为止,互联网上基于组播的会话与许多其他形式的会议不同之处在于,任何接收流量的人都可以加入会话(除非会话流量被加密)。在这样的环境中,SDP有两个主要目的。它是传达会话存在的一种方式,并且它是传达足够信息以能够加入和参与会话的一种方式。在单播环境中,只有后一个目的可能是相关的。

SDP描述包括以下内容:

  • 会话名称和目的
  • 会话活动的时间
  • 组成会话的媒体
  • 接收这些媒体所需的信息(地址、端口、格式等)

由于参与会话所需的资源可能有限,因此可能还需要一些额外的信息:

  • 关于会话将使用的带宽的信息
  • 负责会话的人员的联系信息

一般来说,SDP必须传达足够的信息以使应用程序能够加入会话(可能的例外是加密密钥),并向任何可能需要知道的非参与者宣布将要使用的资源。(后一个功能主要在SDP与组播会话公告协议一起使用时有用。)

4.1. 媒体和传输信息 (Media and Transport Information)

SDP描述包括以下媒体信息:

  • 媒体类型(视频、音频等)
  • 媒体传输协议(RTP/UDP/IP、H.320等)
  • 媒体格式(H.261视频、MPEG视频等)

除了媒体格式和传输协议外,SDP还传达地址和端口详细信息。对于IP组播会话,这些包括:

  • 媒体的组播组地址
  • 媒体的传输端口

无论是发送、接收还是两者,该地址和端口都是组播流的目标地址和目标端口。

对于单播IP会话,传达以下内容:

  • 媒体的远程地址
  • 媒体的远程传输端口

地址和端口的语义取决于上下文。通常,这应该 (SHOULD) 是要向其发送或从中接收媒体的远程地址和远程端口。详细信息可能因指定的网络类型、地址类型、协议和媒体而异,以及SDP是作为通告分发还是在提议/应答 [RFC3264] 交换中协商而异。(例如,某些地址类型或协议可能没有端口的概念。)偏离典型行为应谨慎进行,因为这会使实现复杂化(包括必须解析地址以打开网络地址转换(Network Address Translation, NAT)或防火墙针孔的中间盒)。

4.2. 时间信息 (Timing Information)

会话在时间上可以是有界的或无界的。无论它们是否有界,它们都可能仅在特定时间活动。SDP可以传达:

  • 限制会话的任意开始和停止时间列表
  • 对于每个边界,重复时间,例如"每周三上午10点持续一小时"

此时间信息在全球范围内是一致的,与本地时区或夏令时无关(请参见第5.9节)。

4.3. 获取有关会话的更多信息 (Obtaining Further Information about a Session)

会话描述可以传达足够的信息来决定是否参与会话。SDP可能包括统一资源标识符 (Uniform Resource Identifiers, URIs) [RFC3986] 形式的附加指针,用于获取有关会话的更多信息。(请注意,使用URI指示远程资源受 [RFC3986] 的安全考虑的约束。)

4.4. 国际化 (Internationalization)

SDP规范建议使用UTF-8编码 [RFC3629] 的ISO 10646字符集,以允许表示许多不同的语言。但是,为了协助紧凑表示,SDP还允许在需要时使用其他字符集,例如 [ISO.8859-1.1998]。国际化仅适用于自由文本子字段(会话名称和背景信息),而不适用于整个SDP。