9. 与非共享外观 UA 的互操作性 (Interoperability with Non-shared Appearance UAs)
允许不直接支持共享外观的基本 UA 成为共享外观组的一部分是理想的。为了支持这一点,代理必须与外观代理协作。这在基本的共享外观架构中不是必需的; 因此,与非共享外观 UA 的共享外观互操作性并不会在所有共享外观部署中可用。
首先,将讨论不支持对话事件或共享外观功能的 UA。然后,将讨论支持对话事件但不支持共享外观功能的 UA。
9.1. 外观分配 (Appearance Assignment)
不了解外观的 UA 仅在由外观代理分配时才会拥有拨出呼叫的外观号码。如果非共享外观 UA 不支持 Join 或 Replaces,则所有对话都应该 (SHOULD) 标记为 "exclusive" (独占),以指示这些选项不可用。将这些对话标记为 "exclusive" 可提供更好的用户体验并避免额外的 SIP 消息传递失败。
9.2. 外观释放 (Appearance Release)
在所有情况下,外观代理必须了解对话生命周期以将外观释放回组中。
还希望通过对话事件包将任何对话状态更改 (例如保持等) 提供给组中的其他 UA。如果外观代理包括一个为来自非共享外观感知 UA 的对话执行 Record-Route 的代理,则外观代理将了解对话的状态,包括保持等。此信息可以通过检查非端到端加密的 INVITE 和 re-INVITE 消息来确定,并添加到传递给其他 UA 的对话信息中。
9.3. 支持对话事件但不支持共享外观的 UA (UAs Supporting Dialog Events but Not Shared Appearance)
与支持对话事件但不支持共享外观功能的 UA 的互操作性更直接。如前所述,所有外观号码分配必须由外观代理完成。外观代理仍然应该 (SHOULD) 在 NOTIFY 中包含外观信息 -- 此 UA 将简单地忽略此额外信息。这种类型的 UA 还将忽略外观号码限制,并可能尝试加入或替换标记为独占的对话。因此,代理或 UA 需要拒绝此类请求,否则对话将被加入或被接管。