5.3.3. 外观号码和转接
在转接操作期间, 外观号码在操作期间不改变是很重要的。考虑这样一个例子: Alice 是共享外观组的成员, 她正在与不在共享外观组内的 Carol 通话。Carol 将 Alice 转接到同样不在共享外观组内的 David。例如, 如果 Alice 使用外观 3 与 Carol 进行会话, 则与 David 的结果会话也应使用外观号码 3。否则, 外观号码更改可能会导致 UI 上的"跳转"并使用户感到困惑。使用 RFC 5589 的术语有两种可能的场景: Alice 是任何类型转接中的被转接者 (接收 REFER) 或参加转接中的转接目标 (接收带有 Replaces 的 INVITE)。
如果 Alice 是被转接者, 则来自 REFER 的触发 INVITE 被视为咨询呼叫。Alice 应该发布请求外观代理不为此 INVITE 分配外观号码。当转接完成时, Alice 应该再次发布以将外观号码从与 Carol 的对话移动到与 David 的对话。如果发送 PUBLISH 以移动外观号码, 则必须在向 Carol 发送 BYE 之前发送发布, 以避免外观代理在看到 BYE 后重新分配外观号码的竞态条件。
如果 Alice 是目标, 则传入的 INVITE 将包含 Replaces 头字段。结果, 外观代理将重用与 Carol 的对话的外观号码, 并且在与 Carol 的对话终止后将继续使用此外观号码。