Moving in e2sim originally from it/test/simulators
[sim/e2-interface.git] / e2sim / README.md
diff --git a/e2sim/README.md b/e2sim/README.md
new file mode 100644 (file)
index 0000000..ed260c3
--- /dev/null
@@ -0,0 +1,95 @@
+#/*****************************************************************************
+#                                                                            *
+# 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=<your e2sim directory>
+
+  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