首页 > 代码库 > 开源PCRF、PCRF体验与PCRF实现

开源PCRF、PCRF体验与PCRF实现

什么是PCRF?

PCRF是LTE网络EPC子系统中策略与计费控制(PCC)子系统中的网络实体。LTE网络或EPC网络的规范文档可到参考3GPP官方网站,FTP下载地址。与PCC相关的规范是:

3GPP TS 23.203; 3GPP TS 29.208-3GPP TS 29.219.如图:

技术分享

简单而言,PCRF就是利用Diameter协议通过Rx接口从AF(IMS),Sp接口从SPR,Sy接口从OCS获取相关信息,利用这些信息制定一种策略与计费相关的规则。然后,通过Gx将这些规则提供给PCEF执行(其他接口,实现中未涉及,暂不提及)。

Diameter协议实现

Diameter协议栈,是实现PCRF必须的组件。开源的Diameter协议栈不少OpenIMSCore中就包含C语言版本的CDiameter协议栈和JAVA版的JDiameter协议栈。OpenIMSCore是LTE网络中IMS系统中的CSCF及HSS的实验版本,可参考相关设计及作为开发测试工具。功能描述如下图:

技术分享

该开源项目的官网提供了详细的设计文档和使用手则。向开源而又提供详细文档的无私奉献者致以崇高的敬意。另外,Trillium & CCPU (Continuous Computing)公司的商用Diameter,Sip等LTE相关协议相比开源的协议,则提供了更细化的功能,更好的封装及性能。Developing Solutions官网提供的Diameter Dictionary 对于利用Diameter实现LTE网络中相关的Diameter接口,是一个方便而又精美的资源。

开源的PCRF

人们在做一件事之前,都习惯参考现有经验。牛顿谓之:站在巨人的肩上。实现软件,借用或修整现有的“车轮”不是为一种快捷的手段。受能力所限,能找到的真正开源的pcrf实现,是 UCT PCF是由南非开普敦大学的JAVA实现。该版本只是简单实现了策略控制功能。其Diameter协议使用的是OpenIMSCore中的JAVA版,其测试平台也配合OpenIMSCore系统搭建。该软件时间久远,极度难找。近期在CDSN资源库可以下载。  基于OpenIMSCore衍生了一系列商用LTE网络,如OpenEPC,Open5GCore。他们都来自同一个组织:FOKUS.

功能完善的PCRF体验版

freePCRF,官方网站.别被这个名字所欺骗。这里的free不是open source,而是该公司提供了一个可以供体验的pcrf版本。通过VM Image模式提供使用。下载如下图:

技术分享

 

选择属性的镜像文件下载,启动后即可使用体验。网站提供了详尽近乎优雅的文档,如果看了问题还有疑问,可去官网的论坛中查找或咨询。鄙人将另立一文,记录freePCRF的安装与体验心得。该软件提供了商业版本。

PCRF实现

为了实现PCRF,做了如下准备:

1、阅读研究3GPP相关规范文档TS 29.207-29.219;整理了PCRF实现需求;

2、参考了国内运营商的一些技术规范文档,对比了和3GPP规范文档的内容;

3、阅读研究了Diameter RFC文档,并参考开源Diameter与商用Diameter的透露文档。裁剪并增强了Diameter协议栈

4、试用体验了freePCRF软件,详细研究了相关功能。并仔细对比并该进了PCRF系统方案和设计文档。

5、利用C++编码实现相关功能

6、利用Seagull traffic模拟器和Sipp测试工具做PCRF的bench测试

7、对接内部PCEF和IMS及OCS网元,验证PCRF功能与性能

8、另立一文总结该实现细节

开源PCRF、PCRF体验与PCRF实现