You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
pyEPS is a Long Term Evolution (LTE) Evolved Packet System (EPS) Emulation software written in Python.
The software implements the signalling procedures of LTE EPS.
The following nodes are implemented: UE, eNB, MME, SGW/PGW, and HSS.
The initial goal is to implement the signaling procedures to enable a UE to login to an LTE system (LTE Initial Attach).
Additional procedures will be added as the project progresses.
Overview
One objective of the project is to be educational
to enable the developer to write code quickly and in a step wise fashion from specifications. Hence, the use of Python
to enable new enterants into LTE to understand the signalling procedures of LTE system: the messages passed, the parameters used and underlying state-transition logic.
to act as a software supplement for people wanting to understand 3GPP LTE Specifications.
Software Overview
Each node is a software module that communicate using UDP sockets.
The messages use simple Python dictionary. (ASN.1 encoding is not required).
The software consists of the following key directories:
messages: Describes the messages and the parameters used in the messages.
nodes: Contains the logic of each node (ue, enb, mme, hss, sgwpgw)
procedures: Contains logic for elementary procedures on a per-node basis.
utils: Most important directory containing the main procedures used for communication and state transition. io.py is the key file to look at.
Make sure you investigate the Test Cases contained in folders named 'tests'. Even though their purpose is to test the corresponding modules, they also expose the usage of the modules.