中国电信在线计费系统OCP接口规范
“V”比特,称作制造商定义(Vendor-Specific)比特,指明在AVP头中是否出现可选的制造商ID字段。当设置时,该AVP码属于某特定制造商编码地址空间。
除非另外注明,AVP将拥有以下缺省AVP标记字段设置: “M”比特必须设置。“V”比特不可以设置。 ? 制造商ID(Vendor-ID)
如果在AVP标记字段中设置了“V”比特,则会出现制造商ID字段。可选的四个八位组的制造商ID字段包含IANA分配的“SMI网络管理私有企业码”值,按网络顺序编码。
任何希望实现制造商定义(vendor-specific)Diameter的制造商必须使用它们自己的制造商ID,顺着它们的私有管理AVP地址空间,以保证它们与其它制造商的vendor-specific AVP 以及将来的IETF应用的AVP都不会冲突。制造商ID值为0符合IETF采用的AVP值,由IANA管理。
由于制造商ID字段缺失暗示该AVP不是制造商定义的,应用不可以使用值为0的制造商ID。
该字段为可选字段,如果该AVP值为IETF所定义,则该字段不出现;如果该AVP值为3GPP所定义,则该值为10415;如果该AVP值为中国电信所定义,则该值为81000。 ? AVP Length
AVP长度字段为3个八位组,指明在这个AVP中的八位组的数量,包括AVP码、AVP长度、AVP标记、Vendor-ID字段(如果出现)以及AVP数据。如果接收到一个消息,其带有无效属性长度,该消息应被拒绝。
4.2.4 AVP数据格式
数据字段为0到多个八位组,包含属性定义的信息。数据字段的格式和长度由AVP码和AVP长度字段决定。数据字段的格式必须是以下基本数据类型中的一种。
? OctetString
该数据包含任意可变长的数据。除非另外注明,AVP长度字段必须至少设置为8(如果“V”比特有效,则为12)。这种类型的AVP值的长度如果不是4个八位
21
中国电信在线计费系统OCP接口规范
组的倍数,应按照需要填充,这样下一个AVP(如果有)才能够在一个32比特边界开始。 ? Integer32
32比特有符号整数,按照网络字节顺序。AVP长度字段必须设置为12(如果“V”比特有效,则为16)。 ? Integer64
64比特有符号整数,按照网络字节顺序。AVP长度字段必须设置为16(如果“V”比特有效,则为20)。 ? Unsigned32
32比特无符号整数,按照网络字节顺序。AVP长度字段必须设置为12(如果“V”比特有效,则为16)。 ? Unsigned64
64比特无符号整数,按照网络字节顺序。AVP长度字段必须设置为16(如果“V”比特有效,则为20)。 ? Float32
该类型表示单精度浮点数,遵循IEEE标准754-1985中关于浮点的描述。该32比特值按网络字节顺序传送。AVP长度字段必须设置为12(如果“V”比特有效,则为16)。 ? Float64
该类型表示双精度浮点值,遵循IEEE标准754-1985中关于浮点的描述。该64比特值按网络字节顺序传送。AVP长度字段必须设置为16(如果“V”比特有效,则为20)。 ? Grouped
该数据字段定义为一个AVP序列。这些AVP按其定义的顺序排列,每一个都包括它们的头和填充位。AVP长度字段值设置为8(如果“V”比特有效,则为12),加上所有序列内的AVP的长度总和。因此Grouped类型的AVP的AVP长度字段总是4的倍数。 ? Address
地址格式是从OctetString AVP基本格式导出的。它与其它数据格式不同,
22
中国电信在线计费系统OCP接口规范
例如需要区分32比特(IPV4)或128比特(IPV6)地址。地址AVP的头两个八位组为AddressType,其包含一个在[IANA的“地址簇号码”]中定义的地址簇。AddressType用来区别剩下八位组的内容和格式。
IANA的“地址簇号码”的定义参见【16】 ? Time
时间格式是从OctetString AVP基本格式导出的。该字符串必须包含4个八位组,与NTP时间戳格式的前4个字节格式相同。NTP时间戳在NTP协议规范[RFC2030]第3章中定义。本格式描述的时间,从通用协调时间(UTC)1900年1月1日0点开始。在UTC时间2036年二月7日6点28分16秒,时间值将溢出。SNTP规范中描述了将时间扩展到2104年的程序,所有DIAMETER节点都必须支持该程序。 ? UTF8String
UTF8String格式是从OctetString AVP基本格式导出的。该格式是使用ISO/IEC IS 10646-1字符集表示的可读的字符串,使用RFC 2279中描述的UTF-8转换格式,编码为一个OctetString。 ? DiameterIdentity
DiameterIdentity格式是从OctetString AVP基本格式导出的。 DiameterIdentity = FQDN
DiameterIdentity值唯一标识一个Diameter节点,以用于重复连接和路由环路检测。
字符串的内容必须是Diameter节点的FQDN。如果多个Diameter节点在同一台主机上运行,每个Diameter节点必须分配一个唯一的DiameterIdentity。如果一个Diameter节点可以由若干个FQDN标识,其中一个FQDN应在启动时被挑选出来,并作为该节点唯一的DiameterIdentity。 ? Enumerated
Enumerated是从Integer32 AVP基本格式导出的。该定义包含一个有效值的列表及相关解释,并在引入该AVP的Diameter应用中有所描述。
23
中国电信在线计费系统OCP接口规范
第5章 接口描述
5.1 外部接口逻辑结构
OCS与外部实时计费上报网元间采用OCP协议,处理实时的计费请求。外部实时计费上报网元包括ISMP、SCP、CCG及其它可触发计费请求的网元。其中,OCS为OCP的服务器端,外部实时计费上报网元为客户端。OCS外部接口逻辑接口如图4所示:
ISMP ocp SCP ocp OCS ocp ocp 其它网元 CCG
图 4 OCS外部接口逻辑接口
5.2 与ISMP的接口关系
对于由ISMP管理的增值数据业务,由ISMP向OCS发送在线计费请求,通过OCP协议携带相关计费参数传递给OCS,OCS执行计费逻辑,再通过OCP协议返回给ISMP,完成整个在线计费过程。
5.3 与SCP的接口关系
对于智能网业务,由SCP向OCS发送在线计费请求,通过OCP协议携带相关计费参数传递给OCS,OCS执行计费逻辑,再通过OCP协议返回给SCP,完成整个在线计费过程。
5.4 与CCG的接口关系
24
中国电信在线计费系统OCP接口规范
对于可区分内容的流量计费,由CCG向OCS发送在线计费请求,通过OCP协议携带相关计费参数传递给OCS,OCS执行计费逻辑,再通过OCP协议返回给CCG,完成整个在线计费过程。
25