#/***************************************************************************** # * # 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