tree: 34f5d9c84c4594a6ed89f3eee926e2c9774768b7 [path history] [tgz]
  1. ASN1c/
  2. docker/
  3. helm/
  4. src/
  5. test/
  6. tools/
  7. .gitignore
  8. build_e2sim
  9. CMakeLists.txt
  10. e2sim.cpp
  11. README.md
  12. ricsim.cpp
simulators/e2sim/README.md

#/*****************************************************************************

*

Copyright 2019 AT&T Intellectual Property *

Copyright 2019 Nokia *

*

Licensed under the Apache License, Version 2.0 (the "License"); *

you may not use this file except in compliance with the License. *

You may obtain a copy of the License at *

*

http://www.apache.org/licenses/LICENSE-2.0 *

*

Unless required by applicable law or agreed to in writing, software *

distributed under the License is distributed on an "AS IS" BASIS, *

WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *

See the License for the specific language governing permissions and *

limitations under the License. *

*

#******************************************************************************/

INSTALLATION (tested on Ubuntu 16.04)

  1. 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

  2. SET ENVIRONMENT VARIABLE Add this line to ~/.bashrc export E2SIM_DIR=

  3. Build the official e2sim $ ./build_e2sim

USAGE

$ $E2SIM_DIR/build/e2sim [SERVER IP] [PORT]

By default, SERVER IP = 127.0.0.1, PORT = 36421 The RIC (i.e., E2 Manager) will need to setup X2 or E2 connection to e2sim on this SERVER IP and PORT

DOCKER

  • Build docker image: run this command from $E2SIM_DIR $ sudo docker build -f docker/Dockerfile -t [DOCKER_IMAGE]:[TAG] .

  • Example how to run docker container $ sudo docker run --rm --net host -it [DOCKER_IMAGE]:[TAG] sh -c "./build/e2sim [SERVER IP] [PORT]" ex: sudo docker run --rm --net host -it e2sim:1.0.0 sh -c "./build/e2sim 127.0.0.1 36422"

SUPPORTED MESSAGE FLOWS

  • RESOURCE STATUS REQUEST (RIC -> RAN) version 1.4.0 November 16, 2019

  • RESOURCE STATUS RESPONSE (RAN -> RIC)

  • RESOURCE STATUS UPDATE (RAN -> RIC)

  • RIC INDICATION (RAN -> RIC) version 1.3.0 September 13, 2019 SgNBAdditionRequest

  • RIC SUBSCRIPTION REQUEST (RIC -> RAN) version 1.2.0 May 24, 2019

  • RIC SUBSCRIPTION RESPONSE (RAN -> RIC)

  • RIC SUBSCRIPTION FAILURE (RAN -> RIC)

  • ENDC X2 SETUP REQUEST (RIC -> RAN)

  • ENDC X2 SETUP RESPONSE (RAN -> RIC)

  • X2 SETUP REQUEST (RIC -> RAN)

  • X2 SETUP RESPONSE (RAN -> RIC)

GENERATING ASN1C CODES FOR E2AP, E2SM, X2AP

  1. Install asn1c compiler ./tools/install_asn1c

  2. Generate asn1c codes using e2ap, e2sm and x2ap specs This requires the following files in tools/asn_defs

  • e2ap-v031.asn
  • e2sm-gNB-X2-release-1-v041.asn
  • x2ap-no-desc-15-04.asn

Change logs:

11/16/2019: - Switch back to using asn1c compiler - add support to Resource Status Request, Response, and Update (over X2) 05/24/2019: add support for RIC SUBSCRIPTION REQUEST, RESPONSE, and FAILURE 05/21/2019: add support for ENDC X2 SETUP
no longer use asn1c all X2AP and E2AP messages are encapsulated into E2AP-PDU 03/12/2019: currently supports sending and receiving X2 SETUP messages