Skip to content. | Skip to navigation

Personal tools


You are here: Home / Wiki / PhantomNet / OpenEPC General Information

OpenEPC General Information

General Information on PhantomNet's OpenEPC support.


One of the key components available to PhantomNet users (who have agreed to the sub-license agreement) is the OpenEPC 3GPP framework implementation.  Binary components are included on specially managed OpenEPC disk images. PhantomNet contains hooks to provision a collection of nodes into a functional OpenEPC instance.  Each node runs one or more 3GPP components, as implemented by OpenEPC.  PhantomNet assists users in setting up OpenEPC environments in two ways: First, it provides a template NS file that wraps many of the details of provisioning an OpenEPC instance.  Second, backend scripts in the OpenEPC disk images take care of mixing OpenEPC setup into the traditional Emulab client-side, automatically bringing up components to create a fully functional OpenEPC instance.  


OpenEPC under PhantomNet provides the following:

  • Flexible component provisioning
Users may allocate a bare minimum of OpenEPC components, up through a full test environment setup.  At a minimum, an OpenEPC setup will include a single client, a single eNodeB (Access Point), gateways (S-GW and P-GW), mobility manager (MME), AAA services (sphere), subscriber information database (HSS), and external network proxy.  More complex setups with multiple clients, multiple access points (eNodeB), and other mobile access methodologies (wifi, wimax, GSM).  Note that all of these "wireless" mediums currently operate through wired emulation.
  • EPC host access
Individual testbed nodes which host the EPC components are accessible.  Users may log into them (as they would a traditional Emulab node) to perform local operations such as network device sniffing.  From the EPC nodes, users can stop/start/restart OpenEPC components and modify their (XML-based) configuration.  From these nodes, it is also possible to connect to the text console of the running OpenEPC services.
  • Mix in non-OpenEPC resources
PhantomNet includes the full set of resources available in the underlying Emulab infrastructure on which it is built.  Users may interpose on links by adding interstitial nodes, add their own non-OpenEPC client nodes, connect proxies to the "backhaul" lan, etc.  We provide some guidance on mixing in these types of resources in the PhantomNet tutorials.
  • Emulate network conditions
Another feature enabled by the underlying Emulab technology is link/lan network shaping.  Users may create EPC configurations with realistic (emulated) network conditions between components.

Restrictions and Limitations

There are some restrictions and limitations related to PhantomNet's OpenEPC support.

  • Restricted Binary-only OpenEPC images
PhantomNet's OpenEPC components run from disk images with restricted user environments.  Users are not given root privileges, and access to the actual OpenEPC binary components is prohibited.  Experimenters may interact with the OpenEPC components only through control scripts, configuration files, and services consoles.  PhantomNet allows a limited set of privileged operations, such as capturing network interface traffic and node shutdown/reboot.  Node console access and custom image creation are also disabled.
  • Topology limitations
OpenEPC in PhantomNet is limited to using the network subnets and addresses that the OpenEPC environment uses by default.  This means, for example, that PhantomNet currently does not assist users in creating arbitrary layer 3 topologies with EPC components scattered throughout.  Such constructions would have to be managed outside of PhantomNet's OpenEPC automation.  Please refer to the OpenEPC tutorial and documentation for more details on the network setup.