6.1 Unicast Streams (单播流)
6.1 Unicast Streams (单播流)
若以单播地址提供某流, 则该流的应答中必须包含单播地址. 应答中该流的媒体类型必须与提议中的一致.
若以 sendonly 提供某流, 则对应流在应答中必须标记为 recvonly 或 inactive. 若媒体流在提议中列为 recvonly, 则应答必须标记为 sendonly 或 inactive. 若所提供的媒体流列为 sendrecv (或在媒体级或会话级没有方向属性, 此时流默认为 sendrecv), 则应答中的对应流可以标记为 sendonly, recvonly, sendrecv 或 inactive. 若所提供的媒体流列为 inactive, 则应答中必须标记为 inactive.
对在应答中标记为 recvonly 的流, m= 行必须至少包含一种应答方愿意从提议所列格式中接收的媒体格式. 该流可以指出附加的媒体格式, 这些格式未出现在提议的对应流中, 但应答方愿意接收. 对在应答中标记为 sendonly 的流, m= 行必须至少包含一种应答方愿意从提议所列格式中发送的媒体格式. 对在应答中标记为 sendrecv 的流, m= 行必须至少包含一种应答方愿意同时发送和接收的编解码器, 且该编解码器在提议所列范围之内. 该流可以指出附加的媒体格式, 这些格式未出现在提议的对应流中, 但应答方愿意发送或接收 (当然, 此时无法发送它们, 因为提议中未列出). 对在应答中标记为 inactive 的流, 媒体格式列表根据提议构造. 若提议为 sendonly, 则按应答为 recvonly 的方式构造列表. 类似地, 若提议为 recvonly, 则按应答为 sendonly 构造; 若提议为 sendrecv, 则按应答为 sendrecv 构造. 若提议为 inactive, 则按提议实际为 sendrecv 且应答为 sendrecv 的方式构造列表.
应答中的连接地址与端口表示应答方希望接收媒体的位置 (对 RTP 而言, 除非另有明确说明, RTCP 在比该端口高一号的端口上接收). 即使对 sendonly 的流, 也必须出现该地址与端口; 对 RTP 而言, 仍使用高一号的端口接收 RTCP.
对 RTP, 若提议中以特定净荷类型编号引用某编解码器, 则应答中对该编解码器应使用相同的净荷类型编号. 即使使用相同净荷类型编号, 应答也必须包含 rtpmap 属性以定义动态净荷类型的映射, 并应对静态净荷类型包含映射. m= 行中的媒体格式必须按偏好顺序列出, 第一种为最受偏好. 此处的偏好是指, 提议方应使用应答中偏好最高的一种格式.
尽管应答方可以按其期望的偏好顺序列出格式, 建议除非有特定理由, 应答方按格式在提议中出现的相同相对顺序列出. 换言之, 若提议某流按顺序列出音频编解码器 8, 22 和 48, 而应答方仅支持 8 与 48, 建议在没有理由改变时, 应答中的编解码器顺序为 8, 48, 而不是 48, 8. 这有助于确保两个方向使用相同编解码器.
提议中 fmtp 参数的解释取决于参数本身. 在许多情况下, 这些参数描述媒体格式的具体配置, 因此应按处理媒体格式取值本身的方式处理. 这意味着, 若应答中存在其所描述的媒体格式, 则必须与提议中相同且取相同值的 fmtp 参数必须出现在应答中. 其他 fmtp 参数更像普通参数, 各方使用不同取值完全可以接受. 此时, 应答可以包含 fmtp 参数, 可以与提议中的取值相同, 也可以不同. 定义新参数的 SDP 扩展应说明其在提议/应答中的正确解释.
应答方可以为任意媒体流包含非零 ptime 属性; 表示应答方希望接收的分组化间隔. 不要求特定流两个方向的分组化间隔相同.
应答方可以为任意媒体流包含带宽属性; 表示应答方希望提议方在发送媒体时使用的带宽. 允许值为零, 解释见第 5 节.
若对某条所提供的流没有任何共同媒体格式, 应答方必须通过将端口设为零来拒绝该媒体流.
若所有流都没有共同媒体格式, 则整个所提供的会话被拒绝.
应答方发出应答后, 必须准备好接收该应答所描述的任意 recvonly 流的媒体. 必须准备好对应答中任意 sendrecv 流同时发送和接收媒体, 并可以立即发送媒体. 应答方必须准备好使用应答中为 recvonly 或 sendrecv 流列出的任意媒体格式接收媒体, 并可以立即发送媒体. 发送媒体时, 若提议中存在 ptime 属性, 应使用与该值相等的分组化间隔. 若提议中存在带宽属性, 发送媒体所使用的带宽不应高于该值. 应答方必须使用既在提议中也在应答中列出的媒体格式发送, 并应使用在提议中列出且在应答中也列出的最受偏好的媒体格式. 对 RTP, 必须使用提议中的净荷类型编号, 即使与应答中的不同.