摘要
- 在 RFC 3960 中,
180 Ringing证明的是被叫正在接受提醒,不证明带内回铃音或语音提示已经到达主叫。 - 类传统电话的终端可以在没有媒体包时生成本地回铃,收到媒体后切换播放;协商、鉴别、解码和最终通话结果仍须分别判断。
主叫听见“嘟——嘟——”时,声音未必来自远端。终端可能只收到一条“被叫正在振铃”的 SIP 消息,然后在本地合成用户熟悉的回铃音。稍后,远端语音提示或特殊铃声的包抵达,终端停止本地声音,转而播放网络媒体。人的感受连续,证据来源却在中途换了主人。
RFC 3960在 2004 年讨论早期媒体:初始 INVITE 之后、最终响应之前交换的音视频。它可以是回铃、排队通知、失败说明或交互式提示。这份文档的重要之处不是规定一种统一铃声,而是拒绝把 SIP 信令状态当成媒体存在证明。
文档给出的 POTS 风格策略有三步。没收到 180 Ringing,不生成本地回铃;收到 180 但没有媒体包,就本地生成;收到 180 且已有媒体包,就播放媒体并停止本地回铃。180 的含义是被叫正在接受提醒。只要这一状态成立,服务器就应发送该响应,不论早期媒体会话处于什么状态。
为什么不能只看信令?简单服务器可能不使用可靠临时响应也直接发送早期媒体;另一个服务器可能为了预条件而在可靠临时响应里给出 SDP answer,却暂时根本不打算发送媒体。RFC 3262用 RSeq、RAck 与 PRACK 让临时响应可靠,但可靠到达的控制消息不是 RTP 收据。RFC 3312让会话先等待资源条件;条件协商和声音到达仍不是一件事。
两条路径还会互相超车。SIP 信令通常经过提供业务的多个代理,媒体则倾向走低时延路径。媒体包可能先于描述它们的 SIP 消息到达;相反,180 也可能先到,媒体连通性仍在建立。一个“将有早期媒体”的标志无法消除两种竞态。RFC 3960 因而选择本地可观察的判断:先让用户得到进展反馈,一旦实际媒体出现就让位。
“包到了”也不是证据链终点。包里可能只有静音或舒适噪声。RFC 3711为 SRTP 提供鉴别、完整性、重放保护与可选保密性,但密码学验收也不等于解码成功、扬声器发声、用户听清或作出回应。180、媒体参数、首包、首个通过鉴别的有用音频和人类结果必须分栏记录。
RFC 3264定义 offer/answer,RFC 3261定义承载它们的 SIP 流程。协商完成说明参数相容,不说明媒体已传输。终端甚至应在 200 OK 到达前准备播放,因为媒体可能先到;若坚持等最终响应,接听者开口的前几个音节就可能被截掉。
分叉让“一通电话”同时出现多个候选现实。一个 INVITE 可以抵达多个终端,每个终端形成早期对话并发出媒体。把多路音频一起播放会让人困惑,带宽也可能不允许全部接收。在网关模型里,主叫终端往往选一条早期分支,把其他分支静音。后来返回 2xx 的恰好可能是先前被静音的分支;再解除静音时,开头又可能丢失。先听到的分支没有权力决定最终接通的是谁。
应用服务器模型把早期媒体与常规媒体进一步分离。RFC 3959定义 early-session disposition 与 option tag,使两类媒体使用不同的 offer/answer 交换。终端可以拒绝或静音早期 offer,而不破坏最终要继续的常规会话。这减少了分叉切换的混乱,却仍不能替终端决定该呈现哪一路,也不证明包已经到达。
Alert-Info 也没有获得时间控制权。它可以在终端已经决定本地生成回铃时指定替代声音,却不告诉终端何时开始响。
安全问题说明这不是单纯的用户界面细节。SDP 里的 IP 地址和端口不自带身份;攻击者可能获知或猜中它,恶意 offer 还可能诱导终端向受害者发送大量流量。RFC 建议保护会话描述、在媒体层鉴别,并在大量发送前验证对方愿意接收。它还指出计费激励:若早期媒体免费、正式通话收费,恶意终端可能维持双向早期媒体而永不发送 200 OK。但一刀切禁止双向早期媒体又会破坏接通前收集输入的合法 IVR。
RFC 3960 留下的历史教训很具体:“正在振铃”可能指远端提醒、本地合成声音、收到的带内媒体,或用户实际听见。系统可以把体验衔接得顺滑,却不能让其中一个事实冒充另一个事实的收据。
RFC Editor 的文档记录与勘误查询固定了出版证据;相关标准包括 RFC 3261、RFC 3262、RFC 3264、RFC 3959、RFC 3312与 RFC 3711。
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
