Git Product home page Git Product logo

madbananas / nextepc Goto Github PK

View Code? Open in Web Editor NEW

This project forked from open5gs/open5gs

0.0 1.0 0.0 16.08 MB

NextEPC is an open source implementation of the Evolved Packet Core of LTE networks supporting 3GPP Release 13

Home Page: http://nextepc.org

License: GNU Affero General Public License v3.0

Makefile 0.63% M4 0.18% C 93.40% C++ 1.50% CMake 0.50% PHP 0.24% Shell 0.13% Perl 0.02% Lex 0.58% Yacc 0.90% Python 0.50% Awk 0.02% JavaScript 1.38% CSS 0.02%

nextepc's Introduction

What's NextEPC

NextEPC is a C-language Open Source implementation of the 3GPP Evolved Packet Core, i.e. the core network of an LTE network.

NextEPC provides the MME (Mobility Management Engine), which terminates the S1 interfaces from the eNodeBs cells in the cellular network, and interfaces via S11 to the SGW as well as via S6a to the HSS.

NextEPC provides the SGW (Serving Gateway) which is situated between the MME and PGW. It implements the S11 interface to the MME, and the S5 interface to the PGW.

NextEPC provides the PGW or PDN-GW (Packet Data Network Gateway) element of the EPC, i.e. the gateway between the EPC and the external packet data network, such as the public Internet. It implements the S5 interface towards the S-GW, the SGi interface towards the Internet, and the S7 interface towards the PCRF.

NextEPC provides the HSS (Home Subscriber Server) element of the EPC, i.e. the central database of mobile network subscribers, with their IMSI, MSISDN, cryptographic key materials, service subscription information, etc. It implements the S6a interface towards the MME using the DIAMETER protocol.

NextEPC contains the PCRF (Policy and Charging Rules Function), which controls the service quality (QoS) of individual connections and how to account/charge related traffic. It implements the Gx interface towards the PGW using the DIAMETER protocol.

Installation

  • MME, SGW, PGW, HSS, and PCRF

The NextEPC package is available on the recent versions of Ubuntu.

sudo add-apt-repository ppa:acetcom/nextepc
sudo apt-get update
sudo apt-get -y install nextepc

This will create a virtual network interface named as pgwtun. It is automatically removed by uninstalling NextEPC.

ifconfig pgwtun
pgwtun    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:45.45.0.1  P-t-P:45.45.0.1  Mask:255.255.0.0
          inet6 addr: fe80::50f6:182c:5aa3:16bb/64 Scope:Link
          inet6 addr: cafe::1/64 Scope:Global
          ...

The NextEPC service is registered in systemd environment, and is started automatically during the installation phase. The service names are nextepc-mmed, nextepc-sgwd, nextepc-pgwd, nextepc-hssd, and nextepc-pcrfd. You can use the systemctl command to control specific services.

sudo systemctl status nextepc-mmed (Check the service status)
sudo systemctl stop nextepc-mmed (Stop the service)
sudo systemctl disable nextepc-mmed (Will not be started after rebooting)
sudo systemctl enable nextepc-mmed (Will be started after rebooting)
sudo systemctl start nextepc-mmed (Start the service)
sudo systemctl restart nextepc-mmed (Stop and start)
  • Web User Interface

sudo apt-get -y install curl
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
curl -sL http://nextepc.org/static/webui/install | sudo -E bash -

The service name is nextepc-webui, and it will be running on http://localhost:3000.

sudo systemctl start nextepc-webui
  • Uninstall NextEPC

curl -sL http://nextepc.org/static/webui/uninstall | sudo -E bash -
sudo apt-get purge nextepc*

You may need to remove manually /var/log/nextepc unless it is empty.

sudo rm -Rf /var/log/nextepc

Documentation

If you don't understand something about NextEPC, the http://nextepc.org is a great place to look for answers.

Support

Problem with NextEPC can be filed as issues in this repository. And also, we've created slack workspace named nextepc.slack.com. Use this link to get started.

License

NextEPC source files are made available under the terms of the GNU Affero General Public License (GNU AGPLv3). See this link for details.

nextepc's People

Contributors

acetcom avatar jyounggo avatar brandonjlee avatar laf0rge avatar medeiros405 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.