Seite Drucken

EPC Framework for Testbed Prototyping and Experimentation

 

The baseline building blocks which allowed a rapid prototyping and implementation can be used also in a stand-alone manner.

The Wharf EPC Component Framework

Wharf (synonym to dock) is a new framework developed at Fraunhofer FOKUS and target specifically at providing a flexible and powerful prototyping platform for NGN components. Wharf draws on its software architecture from a very successful project also originally started at Fraunhofer FOKUS, SIP Express Router (www.iptel.org/ser, http://sip-router.org). However, instead of being targeted at an individual protocol stack, it offers a convening C framework and a modular approach towards supporting multiple protocols and applications.

The core of Wharf provides a set of functionality which accelerate the development of prototypes:

  • managed multi-process architecture
  • managed process-local and shared memory routines, with debug capabilities, safety checks and improved performance
  • standard data structures and operations
  • pool of workers for processing tasks
  • precise timer and task scheduling
  • pluggable modules interface

Additionally a set of utility modules are maintained, which extend the Wharf's core functionality with features like local and remote console, protocol stacks or database storage abstractions.

All the core network components are developed on top on this platform, as modules. The functional parts and separate interfaces are split into various parts as modules, which allows for a structuring of the functionality and also for combinations of different optional components as required by individual test-bed deployment scenarios.

Graphical User Interfaces and RPC capabilities

All the components that would benefit from exposing their internal state in an user-friendly manner, have attached Web interfaces. The covered functions are: HSS/SPR (IMS/EPC), PCRF, PCEF, BBERF, ANDSF, LMA, MAG.

Besides providing provisioning functionality for elements like subscriber profiles, PCC policies, ANDSF coverage maps, extensive component state is exposed and debugging interfaces are provided with the full convenience of the ubiquitous web interface.

Additionally, interfaces are provided for controlling, debugging and information-querying all the core network components, through local and remote consoles.

Open databases, open web interfaces and open component control, all participate towards providing an extensive under-the-hood perspective for the OpenEPC components, while also allowing for own customer extensions and plug-ins.

OpenEPC Protocols and Protocol Stacks

 

1. OpenEPC Diameter Stack - CDiameterPeer

The CDiameterPeer stack implements the Diameter protocol as specified in  RFC3588. The stack has been initially developed as a SIP Express Router (SER) module called cdp into  The Open IMS Core Project. The same module has been adapted to be compiled also under the newer  SIP Router architecture as well as for the OpenEPC Wharf.

Supported features (for both the OpenEPC and the Open IMS Core):

  • Diameter communication
  • Capabilities exchange
  • Complete Peer State Machine
  • Realm routing
  • Support for Diameter Transactions
  • Support for Diameter Sessions
  • Complete Authentication Session State Machine

Limitations:

  • The communication is not secured as RFC3588 requires
  • No Accounting Session State Machine

Additional functionality is provided through the cdp_avp module, which acts as a wrapper for the manipulation of the Diameter AVPs. This provides a convenient and safe interface to create, add, retrieve, group, ungroup etc. AVP and data, which hides complexity, enforces correct behavior and correct data encoding/decoding. This module is very easily extensible with typically one new line required for adding support for one new AVP type. Currently the following AVPs and data types are already defined:

 

2. OpenEPC Mobile-IP stack

The Mobile IP stack is a light implementation of the Mobile IP protocol as specified in  RFC3775. Support is added for many, although not all, of the Mobility Headers and Mobility Option types defined in the following specifications:

Supported Features:

  • Encapsulation into IPv4 or IPv6
  • Supported Mobility Headers:
    • Binding-Refresh-Request
    • Home-Test-Init
    • Care-of-Test-Init
    • Home-Test
    • Care-of-Test
    • Binding-Update
    • Binding-Ack
    • Binding-Error

Supported Mobility Options:

Limitations:

  • No support for encapsulation in ICMP
  • No byte-alignment of Mobility Options on encoding

  back     top