1. Introduction (简介)
1. Introduction (简介)
Session Description Protocol (会话描述协议, SDP) [1] 最初被设想为一种描述在 Mbone 上传送的多播会话的方式. Session Announcement Protocol (会话通告协议, SAP) [6] 被设计为承载 SDP 消息的多播机制. 尽管 SDP 规范允许单播操作, 它并不完整. 与多播不同, 在多播中所有参与者使用对会话的全局视图, 单播会话涉及两个参与者, 而对会话的完整视图需要来自双方的信息以及双方对参数的协商一致.
例如, 多播会话需要为特定媒体流传递单个多播地址. 然而, 对于单播会话, 需要两个地址, 即每个参与者各一个. 又例如, 多播会话需要指明会话中将使用哪些编解码器 (codecs). 然而, 对于单播, 编解码器集合需要通过找出各方所支持集合的交集来确定.
因此, 尽管 SDP 具备描述单播会话的表达能力, 却缺少关于具体如何操作的语义与实现细节. 本文通过基于 SDP 定义一种简单的 offer/answer (提供/应答) 模型来弥补这一点. 在该模型中, 会话中的一方参与者生成构成 offer (提供) 的 SDP 消息, 即 offerer (提供方) 希望使用的媒体流与编解码器集合, 以及 offerer 希望用来接收媒体的 IP 地址与端口. 该 offer 被传送给称为 answerer (应答方) 的另一方参与者. answerer 生成 answer (应答), 即针对 offerer 给出的 offer 做出响应的 SDP 消息. answer 对 offer 中的每一个媒体流都有对应的媒体流, 指明该流是否被接受, 以及将使用的编解码器, 还有 answerer 希望用来接收媒体的 IP 地址与端口.
多播会话也可以采用与单播类似的方式工作, 其参数在一对用户之间如同单播情形那样协商, 但双方都将分组发送到同一多播地址, 而不是单播地址. 本文还讨论将 offer/answer 模型应用于多播流.
我们还定义了在初始 offer/answer 交换之后, 如何使用 offer/answer 模型更新会话的指南.
offer 与 answer 的承载方式不在本文范围之内. 本文定义的 offer/answer 模型是 Session Initiation Protocol (会话初始协议, SIP) [7] 所使用的强制性基线机制.