📄 rfc3455.txt
字号:
P-Charging-Vector 头的适用条件: 1. UA 向位于私有网络的管理区域的 proxy 发送 REGISTER 或对话发起请求(如, INVITE)或单独的对话事务请求. 2. 位于私有网络的管理区域 registrar, proxy 或 UA 期望生成计费记录.Garcia-Martin, et. al. Informational [页 22]RFC 3455 3GPP SIP P-Header 扩展 January 2003 3. 位于私有网络的管理区域 proxy 或 UA 有权使用网络的计费关联信息. 4. 可选地, 作为处于其他的私有网络的第二个管理区域一部份的registrar, proxy或UA, 它的SIP请求和响应在穿越和路由到第一个私有网络的过程中, 期望生成计费记录并与第一个私有网络生成的记录相关联. 这里假定私有网络之间存在信任关系.4.6.2 P-Charging-Vector 头的用法 P-Charging-Vector 头是用来传达计费关联信息, 如全局唯一的IMS计费标识符(ICID)的值. 典型地, 收到不包含 P-Charging-Vector 头的请求的SIP proxy 可插入它 并带上对SIP proxy有效的参数. 收到包含 P-Charging-Vector 头的请求的SIP proxy 可以使用这些值, 如全局唯一ICID, 去生成计费记录.4.6.2.1 UA 的处理流程 本文并没有UA关于P-Charging-Vector 头处理流程的说明. UA 不需要理解该头.4.6.2.2 Proxy 的处理流程 支持该项扩展的SIP proxy 在收到不带P-Charging-Vector 头的请求或响应时, 可以在前转该消息前插入一个P-Charging-Vector头. 该头按语法说明填写一个或多个参数,包含但不只限于一个全局唯一计费标识符. 支持该项扩展的SIP proxy 在收到带有P-Charging-Vector 头的请求或响应时, 它可以从头字段值中获取信息并用于特定的应用逻辑,如计费. 如果消息的下一跳是可信域, 则proxy应该在该出口消息中包含P-Charging-Vector头.Garcia-Martin, et. al. Informational [页 23]RFC 3455 3GPP SIP P-Header 扩展 January 2003 如果消息的下一跳离开了可信域, 则proxy可以删除P-Charging-Function-Addresses 头. 每个特定的本地应用逻辑, proxy在前转该消息前可以修改P-Charging-Vector 头的内容.4.6.2.3 用法示例 我们示例的场景环境如下面的网络图: 场景 UA1 --- P1 --- P2 --- UA2 下面的例子列出由UA1发起最终到达UA2的INVITE事务的消息序列. P1 是UA1的出口proxy. 在这种情形下 P1 也插入计费 信息. 然后P1 通过P2将呼叫路由至UA2. 使用P-Charging-Vector头INVITE的消息序列: F1 Invite UA1 -> P1 INVITE sip:joe@example.com SIP/2.0 Via: SIP/2.0/UDP 192.0.2.4:5060;branch=z9hG4bKnashds7 To: sip:joe@example.com From: sip:ua1@home1.net;tag=456248 Call-ID: 843817637684230998sdasdh09 CSeq: 18 INVITE Contact: sip:ua1@192.0 F2 Invite P1 -> P2 INVITE sip:joe@example.com SIP/2.0 Via: SIP/2.0/UDP P1.home1.net:5060;branch=z9hG4bK34ghi7a Via: SIP/2.0/UDP 192.0.2.4:5060;branch=z9hG4bKnashds7 To: sip:joe@example.com From: sip:ua1@home1.net;tag=456248 Call-ID: 843817637684230998sdasdh09 CSeq: 18 INVITE Contact: sip:ua1@192.0.2.4 P-Charging-Vector: icid-value=1234bc9876e; icid-generated-at=192.0.6.8; orig-ioi=home1.netGarcia-Martin, et. al. Informational [页 24]RFC 3455 3GPP SIP P-Header 扩展 January 20035. 形式语法 本文指明的机制同时使用 RFC 2234 [3]定义的 prose 和 an augmented Backus-Naur Form (BNF)进行描述. 另外, 一些从SIP中继承的 BNF 定义这里不再重复. 要理解本文, 实现者需要先熟悉SIP [1] and RFC 2234 [3]的内容.5.1 P-Associated-URI 头的语法 P-Associated-URI 头的语法描述如下: P-Associated-URI = "P-Associated-URI" HCOLON (p-aso-uri-spec) *(COMMA p-aso-uri-spec) p-aso-uri-spec = name-addr *(SEMI ai-param) ai-param = generic-param5.2 P-Called-Party-ID 头的语法 P-Called-Party-ID 头的语法描述如下: P-Called-Party-ID = "P-Called-Party-ID" HCOLON called-pty-id-spec called-pty-id-spec = name-addr *(SEMI cpid-param) cpid-param = generic-param5.3 P-Visited-Network-ID 头的语法 P-Visited-Network-ID 头的语法描述如下: P-Visited-Network-ID = "P-Visited-Network-ID" HCOLON vnetwork-spec *(COMMA vnetwork-spec) vnetwork-spec = (token / quoted-string) *(SEMI vnetwork-param) vnetwork-param = generic-param5.4 P-Access-Network-Info 头的语法 P-Access-Network-Info 头的语法描述如下: P-Access-Network-Info = "P-Access-Network-Info" HCOLON access-net-spec access-net-spec = access-type *(SEMI access-info)Garcia-Martin, et. al. Informational [页 25]RFC 3455 3GPP SIP P-Header 扩展 January 2003 access-type = "IEEE-802.11a" / "IEEE-802.11b" / "3GPP-GERAN" / "3GPP-UTRAN-FDD" / "3GPP-UTRAN-TDD" / "3GPP-CDMA2000" / token access-info = cgi-3gpp / utran-cell-id-3gpp / extension-access-info extension-access-info = gen-value cgi-3gpp = "cgi-3gpp" EQUAL (token / quoted-string) utran-cell-id-3gpp = "utran-cell-id-3gpp" EQUAL (token / quoted-string) access-info 可以包含有关接入网的附加信息. "cgi-3gpp" 和 "utran-cell-id-3gpp" 在3GPP TS 24.229 [15]中定义.5.5 P-Charging-Function-Addresses 头的语法 P-Charging-Function-Addresses 头的语法描述如下: P-Charging-Addr = "P-Charging-Function-Addresses" HCOLON charge-addr-params *(SEMI charge-addr-params) charge-addr-params = ccf / ecf / generic-param ccf = "ccf" EQUAL gen-value ecf = "ecf" EQUAL gen-value5.6 P-Charging-Vector 头 syntax P-Charging-Vector 头的语法描述如下: P-Charging-Vector = "P-Charging-Vector" HCOLON icid-value *(SEMI charge-params) charge-params = icid-gen-addr / orig-ioi / term-ioi / generic-param icid-value = "icid-value" EQUAL gen-value icid-gen-addr = "icid-generated-at" EQUAL host orig-ioi = "orig-ioi" EQUAL gen-value term-ioi = "term-ioi" EQUAL gen-value P-Charging-Vector包含必填参数icid-value. icid-value 代表IMS计费标识, 并包含一个用来关联计费记录和事件的标识符. 收到请求的第一个proxy生成该值.Garcia-Martin, et. al. Informational [页 26]RFC 3455 3GPP SIP P-Header 扩展 January 2003 icid-gen-addr 参数包含产生icid-value的proxy的主机名或IP地址. 参数orig-ioi 和 term-ioi分别代表发起和终结的interoperator标识符. 它们被用于在不同的的运营商之间关联计费记录. 发起 ioi 代表网络为会话或单独的请求的发起部份计费记录负责. 同样地, 终结 ioi 代表网络为会话或单独的请求的终结部份计费记录负责.5.7 新头列表 表 1 列出了扩充到 SIP-specific event notification [6]的SIP [1], 章节 7.1的表 2, SIP INFO 方法 [8]中的表 1 和 2 , SIP [7]中临时可靠响应中的表 1 和 2 , SIP 更新方法 [9]中的表 1 and 2 , 即时消息SIP 扩展中[10]的表 1 和 2, 以及SIP REFER 方法 [11] 中的表 1 的头 : 头字段 where proxy ACK BYE CAN INV OPT REG ___________________________________________________________ P-Associated-URI 2xx - - - - - o P-Called-Party-ID R amr - - - o o - P-Visited-Network-ID R ad - - - o o o P-Access-Network-Info dr - o - o o o P-Charging-Vector admr - o - o o o P-Charging-Function- adr - o - o o o Addresses 头字段 SUB NOT PRA INF UPD MSG REF ___________________________________________________________ P-Associated-URI - - - - - - - P-Called-Party-ID o - - - - o o P-Visited-Network-ID o - - - - o o P-Access-Network-Info o o o o o o o P-Charging-Vector o o o o o o o P-Charging-Function- o o o o o o o Addresses 表 1: 支持的头字段Garcia-Martin, et. al. Informational [页 27]RFC 3455 3GPP SIP P-Header 扩展 January 20036. 安全考虑6.1 P-Associated-URI 因为特定的敏感性, P-Associated-URI 头返回的信息不能被观察. 更恰当的说, 它本质上是向UAC提供开放registrar执行自动关联相关信息的简单通知. 如果端到端保护没有在 SIP 层使用, registrar和UA之间的代理服务器就有可能修改该头的内容. 这些攻击, 虽然令人讨厌, 但应该不会造成重大影响. 缺少加密的话, 不管是端到端还是逐跳, 都可能导致 一些关于授权标识列表的隐私的泄漏. 例如, 用户注册了一个 AOR sip:user1@example.com 他可以从P-Associated-URI 头中得到其他并联的SIP URI 如: sip:first.last@example.com . 窃听者可以收集这些信息. 如果用户不想 暴露这些关联 URI, 窃听者可能获得访问这些私有URI的权限. 因此该项扩展建议在提供对SIP消息进行端到端或是逐跳加密的安全环境下使用.6.2 P-Called-Party-ID 因为P-Called-Party-ID 头的自身特性, 该头 没有引入重要的安全考虑. 攻击者可能修改该头的内容. 然而, 这些修改对会话建立不会造成影响. 窃听者可以收集用户注册的标识列表. 这将牵涉到隐私问题. 为了减轻该问题, 该项扩展应该被用在提供对SIP消息进行端到端或是逐跳加密的安全环境.6.3 P-Visited-Network-ID P-Visited-Network-ID 头假定归属网与一个或多个拜访网存在信任关系. 在插入该头的拜访网proxy与registrar或归属代理服务器之间的其他代理服务器 有可能修改P-Visited-Network-ID 头的值. 因此为了防止这些攻击, 该机制的中间加入必须应用逐跳完整性保护机制, 如IPsec或其他有效的机制.Garcia-Martin, et. al. Informational [页 28]RFC 3455 3GPP SIP P-Header 扩展 January 20036.4 P-Access-Network-Info 可信域作为需求缩写在网络维护标识[13] 文档中正式定义.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -