Skip to main content

5.3.2. 外观号码和呼叫控制

当生成 INVITE 以尝试桥接或接管呼叫时 (即, 包含具有共享外观组中另一个对话的对话标识符的 Join 或 Replaces), UA 必须首先向外观代理发送 PUBLISH。此 PUBLISH 将包含:

  1. <appearance> 元素中被加入或替换的呼叫的外观号码

  2. 如果正在加入对话, 则 <joined-dialog> 元素中来自 Join 头字段的对话信息

  3. 如果正在替换对话, 则 <replaced-dialog> 元素中来自 Replaces 头字段的对话信息

请注意, 向外观代理提供此信息是为了使其能够提供适当的外观分配行为。如果在未首先发布的情况下发送 INVITE Join 或 Replaces, 外观代理可能会为此 INVITE 分配新的外观号码, 这将是一个错误。对于 Join, 发布具有 <joined-dialog> 元素以防止外观代理由于重用外观号码而生成 400 (Bad Request) 响应。对于 Replaces, <replaced-dialog> 的目的是防止在 BYE 可能导致外观号码被释放时应该保留在替换对话中的竞态条件。