ASN.1 Editor
ASN.1 editor is a new software tool supported from 2023-08-22 release. It is a tool by which you can create a signaling message in ASN.1 format in GUI (Graphical User Interface). Once the creation is done, it can be saved in the format of JER (JSON representation) and the tool can import the ready made jer (JSON text file) as well.
RUN ASN.1 Editor from tech-academy
Table of Contents
- ASN.1 Editor
How to Run
You can run the tool directly from your callbox or UEsim, or run it from tech-academy
If you want to run it from callbox/UEsim, go to http://<ip>/lte/asn1.html in a browser
You can run the ASN.1 editor from tech academy as shown below or simply click on this.
Icons
The ASN.1 editor shows several different types and input fields that shows up depending on different context. These icons can be a good guide on what to do next or what you can do with a current item. Some of the icons you would see frequently and short descriptions are listed below :
Creating a New ASN.1
ASN.1 is a tree format and there would be almost a infinite number of different path to create a same tree. The example shown here is just one way and you may go through a little bit different path. This tool is very intuitive and just following the instruction in [Info] field and take actions until the [Info] field gets cleared as shown in this tutorial. You do not need to follow the exact steps shown here. Just take a look at the overall flow from start to the end and try yourself.
Automatic Mandatory IE Creation
You might have noticed that a large portions of ASN.1 message creation is to add various mandatory IEs. Since they are mandatory IE, there is no other choices. You just have to create those IEs mechanically. This process can now be automated by single button click as shown below.
Ready-Made Templates
Here goes some example ASN.1 files that I created. Most of the examples are duplicated from some of working logs. You can take this as practically meaningful. You may take one of these example and modify as you like if you don't want to create everything from scratch.
LTE - SIB1 LTE - SIB2 LTE - SIB2,3 LTE - MeasConfig-A3 LTE - MeasConfig-CGI-LtoL NB IoT - SIB1 Cat M - SIB2,3 : 2CE Levels Redirection Carrier Info - NR
Tips
Compatibility between *.jer and *.asn file
Here *.jer indicates the file that is saved by ASN Editor(GUI) and *.asn indicates the asn file that are used in enb configuration files (e.g, *.asn files located in /root/enb/config directory). These two files are compatible without any specific format changes.
For example, you may try followings to confirm.
- i) Open sib2_3.asn (located in /root/enb/config) in ASN Editor GUI (You should see that the file is read without any error)
- ii) Save it to a file (e.g, sib2_3.jer) in ASN Editor GUI
- iii) Specify sib2_3.jer in any lte configuration file (e.g, enb.default.cfg) as follows.
sib_sched_list: [ { filename: "sib2_3.jer", /* the file created by ASN Editor GUI */ content_type: "application/json", /* Specify the contents type when you using *.jer file */ si_periodicity: 16, /* frames */ }, ], |
- iv) Run lte service ('service lte restart') and confirm there is no error in (enb) screen
Conversion between *.jer and *.asn file
If you want to convert between *.jer and *.asn, you can do it with the program lte_toolbox located in /root/ots. Following is an example.
./lte_toolbox asn1-convert /tmp/sib1_orig.asn sib gser jer > /tmp/sib1_orig.jer ==> Convert *.asn to *.jer (Convert gser format to jer format) ./lte_toolbox asn1-convert /tmp/sib1.jer sib jer gser > /tmp/sib1.asn ==> Convert *.jer to *.asn (Convert jer format to gser format) |