Skip to main content

10. 与RFC 4566的变更摘要 (Summary of Changes from RFC 4566)

  • 总体上澄清和完善了术语。使文本中使用的术语与ABNF对齐。术语<attribute><att-field>和"att-field"现在是<attribute-name>。术语<value><att-value>现在是<attribute-value>。术语"media"现在是<media>

  • 确定了现已过时的项目:"a=cat:"(第6.1节)、"a=keywds:"(第6.2节)和"k="(第5.12节)。

  • 更新了规范性和信息性引用,并添加了对其他相关RFC的引用。

  • 重新格式化了SDP属性部分(第6节)以提高可读性。属性值的语法现在用ABNF给出。

  • 使得在非活动媒体流中发送RTCP成为强制性(第6.7.4节)。

  • 删除了"私有会话"部分。该部分可以追溯到SDP的主要用途是与SAP(会话公告协议Session Announcement Protocol)一起使用的时代,该协议已不再使用。现在SDP的绝大多数用途是用于建立私有会话。相关考虑在第7节中涵盖。

  • 扩展并澄清了"a=lang:"(第6.12节)和"a=sdplang:"(第6.11节)属性的规范。

  • 删除了一些对SAP的引用,因为它不再广泛使用。

  • 更改了UDP传输的<fmt>值的注册方式(第8.2.3节)。

  • 更改了注册新属性所需的机制和文档(第8.2.4.1节)。

  • 收紧了扩展的IANA注册程序。删除了电话号码和长格式名称(第8.2节)。

  • 扩展了IANA <nettype>注册表以识别有效的<addrtype>子字段(第8.2.6节)。

  • 将几个IANA "att-field"注册表重组为单个<attribute-name>注册表(第8.2.4节)。

  • 修订了ABNF语法(第9节)以提高清晰度并与文本对齐。向后兼容性得以保持,但有少数例外。特别值得注意的是:

    • 修订了时间描述("t="、"r="、"z=")的语法以消除歧义。澄清了"z="仅修改紧接在前的"r="行。使没有前置"r="的"z="成为语法错误(第5.11节)。(这与某些异常用法不兼容)。

    • 更新了"IP6-address"和"IP6-multicast"规则,与[RFC3986]中的语法一致,镜像了[RFC5954]对[RFC3261]所做的错误修复。删除了因此更改而未使用的规则。

    • "att-field"规则已重命名为"attribute-name",因为在其他地方"*-field"始终指完整的行。但是,规则名"att-field"仍然定义为同义词,以便与其他RFC的引用向后兼容。

    • "att-value"规则已重命名为"attribute-value"。

  • 修订了与ABNF语法冗余的规范性陈述,使文本成为非规范性的。

  • 根据[RFC5735]和[RFC5771]修订了示例SDP描述中的IPv4单播和多播地址。

  • 更改了一些示例以使用IPv6地址,并添加了使用IPv6的其他示例。

  • 纳入了[RFC4855]的不区分大小写规则。

  • 在第5.14.2节中添加了关于"m="行中端口号0的用法的说明。

  • 澄清了对某些字段使用域名的要求,特别是使用国际化域名(IDN)时(第5节)。

  • 澄清了"a=charset:"属性(第6.10节)不适用于"e="和"p="字段。

  • 更新了"a=orient:"属性(第6.8节)以使用区分大小写的字符串匹配。

  • 更新了"a=type:"属性(第6.9节)以使用区分大小写的字符串匹配。

  • 澄清了"a=rtpmap:"属性(第6.6节)中编码参数的使用。

  • 澄清了"b=CT:"和"b=AS:"带宽修饰符(第5.8节)的含义。

  • 澄清了多个"c="行和端口范围的使用(第5.7节和第5.14.2节)。

  • 澄清了会话级和媒体级属性之间的交互(第5.13节)。

  • 添加了关于SDP中URI用法的安全考虑(第7节)。

  • 更新了第7节以反映SDP的当前使用模式,特别是与SIP一起使用。

  • 澄清了"t="字段(第5.9节)中NTP时间戳的使用。

  • 在第5.10节中添加了关于"r="字段用法的示例和说明。

  • 澄清了"z="字段(第5.11节)与"t="和"r="字段的关系。

  • 更新了第8节的IANA考虑,以反映当前的注册程序和要求。