Zum Hauptinhalt springen

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) 是发送数据的远程地址和远程端口。某些媒体类型可能会重新定义此行为,但这不推荐 (NOT RECOMMENDED),因为它会使实现复杂化(包括必须解析地址以打开网络地址转换 (NAT) 或防火墙针孔的中间设备)。

4.2 Timing Information (时间信息)

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

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

这些时间信息是全局一致的,与本地时区或夏令时无关(参见第5.9节)。

4.3 Private Sessions (私有会话)

可以创建公共会话和私有会话。SDP本身不区分这些;私有会话通常通过在分发期间加密会话描述来传达。如何执行加密的详情取决于用于传达SDP的机制;目前为使用SAP [14] 和 SIP [15] 传输的SDP定义了机制,将来可能会定义其他机制。

如果会话通告是私有的,则可以使用该私有通告来传达解码会议中每个媒体所需的加密密钥,包括足够的信息以了解每个媒体使用哪种加密方案。

4.4 Obtaining Further Information about a Session (获取关于会话的更多信息)

会话描述应该传达足够的信息以决定是否参与会话。SDP可能以统一资源标识符 (Uniform Resource Identifiers, URIs) 的形式包含关于会话的更多信息的附加指针。

4.5 Categorisation (分类)

当SAP或任何其他通告机制正在分发许多会话描述时,可能需要从那些不感兴趣的会话通告中过滤感兴趣的会话通告。SDP支持能够自动化的会话分类机制("a=cat:" 属性;参见第6节)。

4.6 Internationalisation (国际化)

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