#/*****************************************************************************
#******************************************************************************/
This is an update to E2 Simulator, based on E2AP v1 defined in ORAN E2 Simulator is built as a library that supports basic functions and is linked by an E2 Simulation application.
The E2 Simulator breaks up the simulation roles into two:
#1 is the role supported by E2 Simulator library, while #2 is supported by the calling application. An example of a calling application is provided in this repo under the
E2 Simulator enables a specific E2SM to be supported by the calling application in the following way:
Registration of an E2SM with the E2 Simulator entails the following:
The following is the E2 Simulator Main Program Flow
Upon startup, Simulator generates E2 Setup Request For each E2SM that is registered, include RAN function definition
Upon receiving incoming requests, decode Identify RAN function ID Call appropriate callback function for RAN function ID and request type Provide entire encoded request If no callback is provided, we return an error response
Upon receiving responses, decode: Identify RAN function ID If a callback is registered for this message type, call it based on RAN function ID and request type Provide entire encoded response If no callback is registered, no action is taken
E2SM Callback Functions:
Install dependencies $ sudo apt-get update $ sudo apt-get install -y build-essential git cmake libsctp-dev lksctp-tools autoconf automake libtool bison flex libboost-all-dev $ sudo apt-get clean
Build the official e2sim $ mkdir build $ cd build $ cmake .. $ make package $ cmake .. -DDEV_PKG=1 $ make package
To start building docker image one should generate the .deb
packages using following commands :
$ cd build // create folder if not present
Generate .deb packages and move it to e2sm_examples/kpm_e2sm
folder :
cmake .. && make package && cmake .. -DDEV_PKG=1 && make package cp *.deb ../e2sm_examples/kpm_e2sm/
Now we are ready to build the docker image using below command :
cd ../e2sm_examples/kpm_e2sm/ docker build -t <simulator-image-name> .
if you wish to change the e2t address to connect then modify the Dockerfile
in e2sm_examples/kpm_e2sm/
path.
CMD kpm_sim 10.110.102.29 36422
Create instance of simulator :
$ docker run <simulator-image-name>
It will connect to specified e2t instance.