Skip to content
/ open5gs Public
forked from open5gs/open5gs

Open5GS is a C-language Open Source implementation for 5G Core and EPC, i.e. the core network of LTE/NR network (Release-17)

License

Notifications You must be signed in to change notification settings

JanF01/open5gs

 
 

Repository files navigation

Open5GS logo

Getting Started

Please follow the documentation at open5gs.org!

Fork Modifications: Blockchain Integration

This fork extends the standard Open5GS architecture to introduce blockchain signaling, Deep Packet Inspection (DPI) for blockchain-related packets, and specific application server handling. These changes were developed in the context of the accompanying engineering thesis.

Core Network Functions

Modifications have been made to the following source directories to accommodate blockchain signaling handling:

  • /src/amf (Access and Mobility Management Function)
  • /src/smf (Session Management Function)
  • /src/upf (User Plane Function)
  • /src/udm (Unified Data Management)
  • /src/udr (Unified Data Repository)

Libraries & Protocols

  • PFCP (/lib/pfcp): Modified to introduce blockchain-related handling in the PFCP protocol.
    • DPI & Packet Construction: Specifically, /lib/pfcp/rule-match.c includes functions for Deep Packet Inspection and building blockchain-related packets for transmission back to the User Equipment (UE).
  • SBI (/lib/sbi): New blockchain-related services have been introduced here.
    • Models (/lib/sbi/openapi/model): Custom models (e.g., sdm_blockchain...) have been created to support the new signaling data structures.
  • DBI (/lib/dbi): Modifications in subscription.c and subscription.h to support blockchain subscription data.

Application & Services

  • Blockchain Application Server: The implementation is provided via the tcp_server file.
  • Thesis Services: Additional services described in the engineering thesis are located in the /services directory.

Configuration

  • configs/open5gs/: Modified configuration files with the testing environment in mind.

Sponsors

If you find Open5GS useful for work, please consider supporting this Open Source project by Becoming a sponsor. To manage the funding transactions transparently, you can donate through OpenCollective.

Special Sponsor

special sponsor mobi

sponsors

Community

  • Problem with Open5GS can be filed as issues in this repository.
  • Other topics related to this project are happening on the discussions.
  • Voice and text chat are available in Open5GS's Discord workspace. Use this link to get started.

Contributing

If you're contributing through a pull request to Open5GS project on GitHub, please read the Contributor License Agreement in advance.

License

Support

Technical support and customized services for Open5GS are provided by NewPlane at support@newplane.io.

About

Open5GS is a C-language Open Source implementation for 5G Core and EPC, i.e. the core network of LTE/NR network (Release-17)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 97.5%
  • Mustache 0.9%
  • JavaScript 0.5%
  • Meson 0.5%
  • Python 0.4%
  • Shell 0.2%