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。