The Policy and Charging Control architecture in the Release 1 of the OpenEPC project consists of a comprehensive set of components and reference points which have been implemented with respect to the 3GPP TS 29.203 recommendations. The PCRF features a policy-based decision engine, which has been extended with the newly proposed Sp interface at the HSS/SPR. The PCRF, PCEF and BBERF functions cooperate in pushing rules from the Application Functions (AF) towards the access gateways where charging and QoS can be provided. Events are also pushed back towards the AF, such that the application can dynamically react in changes at the access level. Experimental QoS enforcing functionality is provided in Release 1, with charging being deferred for a future release on customer demand.

1. OpenEPC Release 1 Policy and Charging Rules Function (PCRF)
The PCRF component has been realized according to the 3GPP TS29.203 Policy and charging control Architecture Rel.9. Besides a central part, a modular model is following the specifications based on the respective interface specifications:
Besides bearer and session binding operations, the PCRF features an integrated Policy Engine, which can check the incoming events and requests and apply specific actions accordingly. These policy rules can be applied at the following 4 levels, based on the functional requirements:
The input parameters and output actions, although currently limited to the following lists, can be easily extended. These allow for customizations based on subscriber profiles, service profiles, access networks, etc and provide a dynamic PCC Rule authorization and selection of QoS parameters.
For the PCRF, PCEF and BBERF the set of predefined PCC rules can be edited through the OpenEPC Web GUI.
Limitations:
The Rx interface is provided as a submodule of the PCRF with the role of managing the state of the AF sessions based on the available PCC and QoS rules.
The implementation is based on:
Supported features:
Limitations:
1.2 PCRF Gx and Gxx Reference Points
The Gx and Gxx interfaces are also implemented as a submodules of the PCRF component.
The implementations are based on: 3GPP TS29.212 and they support pushing rules towards the PCEF/BBERF components and receiving events from them.
2. OpenEPC Release 1 Policy and Charging Enforcement Function
The PCEF component manages and enforces the PCC rules received from the PCRF, providing gating support by using a separate IP-CAN enforcement module (such an implementation using the Linux kernel is provided in the IPCAN Linux Gateay module - see below). The PCEF module supports pulling for PCC rules from the PCRF and modification of gating rules at IP-CAN session establishment or modification in the PCRF. It can also act upon the messages received from the PCRF regarding IP-CAN session release or installation, modification and removal of PCC rules.
The implementation is based on: 3GPP TS29.212 Policy and Charging Control over the Gx reference point.
Limitations:
3. OpenEPC Release 1 Bearer Binding and Event Reporting Function
The BBERF component manages and enforces the QoS rules received from the PCRF using the aforementioned IP-CAN enforcement modules. The BBERF module supports pulling for QoS rules at Gateway Control session establishment or modification to the PCRF. It can also act upon the messages received from the PCRF regarding Gateway Control session release or installation, modification and removal of QoS rules.
Limitations:
4. OpenEPC Release 1 IP-CAN Linux Gateway
A module to be used by both PCEF and BBERF modules for the purposes of gating/QoS enforcing and bearer event reporting is provided as part of Release 1, through an implementation based on the Linux kernel and tools. From the PCC/QoS rules received, this module will allocate/deallocate the required bandwidth (for both upload and download link) using the www.linux.org/docs/ldp/howto/Traffic-Control-HOWTO/index.html Linux kernel Traffic Control mechanisms and operations. The identification and classification of the IP flows, described by the PCC entities through the IPFilterRule conventions, is done using the Linux packet filtering framework www.netfilter.org/.
The interface of this module is standardized and not specific to the used Linux kernel facilities. As such, for optimizations or support of different platforms, alternative IP-CAN functionality could be used from the PCEF and BBERF functions.
Supported features:
Limitations:
5. OpenEPC Release 1 Rx Client
A sample implementation of the Rx client interface for other applications to use is also part of the Release 1. This allows for internal or external Application Functions, as an option, to abstract from the Rx and Diameter details and as such be realized much quicker.

One such example which uses this module, through the console exported functions over TCP, is the adaptations to the Squid HTTP-proxy. There a small and light external ACL program has been developed, named Rx_auth, as a proof of concept. This is used by Squid to authorize any HTTP request proxies. For this purpose, the Rx_auth program re-uses the Rx Client module to allocate IP bearer resources between the HTTP client and the HTTP proxy.
The Client_Rx module has been implemented based on:
Supported Features:
Limitations:
6. Open Source IMS Core PCC implementation
The Proxy-CSCF component of the The Open IMS Core Project is based upon Open Source software(e.g. the SIP Express Router (SER) or MySQL). We have extended it to fully support the standard PCC procedures on the Rx reference points towards the PCRF instance, in order to manage service authorization and resource reservation. These extensions are and will be supported by the OpenEPC development team such that the Open Source IMS Core will integrate smoothly with the OpenEPC components.
The implementation is based on:
Supported features:
Limitations:
| back top |