5.3.1. 外观编号和呼叫上下文
在某些情况下, UA 上的两个独立对话 (dialog) 并未混合, 但共享同一个 "上下文" (context). 也就是说, 它们彼此相关, 不应像组内任意另外两个对话那样处理. 一个示例是 "咨询呼叫" (consultation call): 用户先将现有对话置于保持状态, 然后呼叫另一个用户, 最后再切回原始对话. 下面描述的另一种情况发生在转接操作期间: 在一个短暂阶段内, UA 同时参与同另外两个 UA 的对话, 但这些对话彼此相关, 不应视为相互独立的对话. 处理这类情况的最佳方式是: 当新创建的对话与某个现有对话共享上下文时, 不要为该新对话分配外观编号 (appearance number). 但是, 如果先前存在的对话终止, 则应将其外观编号重新分配给新创建的对话.
如果某个 UA 要发起呼叫但尚未分配外观编号, 它会在发送 INVITE 之前发送 PUBLISH. 该 PUBLISH 不包含 'appearance' 元素, 但包含 'shared' Event 头字段参数. 如果外观代理 (Appearance Agent) 的策略不允许没有已分配外观编号的呼叫, 外观代理会发送 400 (Bad Request) 响应, 而 UA 将重新发布: 要么选择/占用一个外观编号, 要么不经发布直接发送 INVITE, 在这种情况下外观代理会为其分配一个编号.
请注意, 如果外观代理拒绝没有外观编号的呼叫, 咨询呼叫, 转接和保持音乐等某些操作可能会受到负面影响.