Commit Graph
20 Commits
Author SHA1 Message Date
Bi-Ruei, Chiu 6b4419ad13 Update ASN.1 to newest version
LTE-RRC 15.6.0
NR-RRC  15.6.0
S1AP    15.6.0
X2AP    15.6.0 and 14.7.0
2019-07-29 20:35:33 +08:00
Bi-Ruei, Chiu b11f6b07f2 Update asn1c commit to solve three issues
1. Fix code generated from ASN.1 of F1AP v15.4.0 failed to be compiled
2. Fix incorrect UPER encoding for empty extensible SEQUENCE in 38.331
3. Fix the problem that duplicate type names exist in OPEN TYPE
2019-04-24 23:54:00 +08:00
Bi-Ruei, Chiu 342972c2ea Update asn1c to commit 0a7524184f16e7093990a31d8d4db487a16e5782
Fix the problem that duplicate type names exist in OPEN TYPE.

The following excerpt of ASN.1 of X2AP is one example.

  HandoverRequestAcknowledge-IEs X2AP-PROTOCOL-IES ::= {
    { ID id-Old-eNB-UE-X2AP-ID  CRITICALITY ignore  TYPE UE-X2AP-ID  PRESENCE mandatory}|
    { ID id-New-eNB-UE-X2AP-ID  CRITICALITY ignore  TYPE UE-X2AP-ID  PRESENCE mandatory}|
    ...
  }
2018-10-25 10:59:13 +08:00
Bi-Ruei, Chiu c35867e910 Upgrade ASN.1 of S1AP and X2AP to 15.3.0 2018-10-17 20:37:33 +08:00
Bi-Ruei, Chiu c7aa94c3fa Upgrade ASN.1 of NR-RRC to 15.3.0 2018-10-17 19:17:20 +08:00
Bi-Ruei, Chiu 99e8dea6d4 Upgrade ASN.1 of LTE-RRC to 15.3.0 2018-10-17 19:17:20 +08:00
Bi-Ruei, Chiu d4eb822615 Update asn1c to commit d3aed06bb2bec7df1b5c6d0333f8c7dfc5993372
1. Fix the problem of compiling NR_RangeToBestCell.c of NR-RRC 15.3.0
2. Fix the problem that default OCTET/BIT STRING value not used in APER
3. Add support of extension group inside CHOICE type used in LTE-RRC 15.3.0
4. Fix the problem that NGAP 15.0.0 ASN.1 can not generate C files
2018-10-17 16:14:57 +08:00
Bi-Ruei, Chiu f58ad3c39f Add prefix LTE_ to LTE-RRC generated data types by ASN1C_PREFIX=LTE_
1. Modify all expressions using original LTE-RRC data types for new generated ones
2. Does not change any program logic
2018-10-17 15:46:12 +08:00
Bi-Ruei, Chiu 5eceff9ff0 Update asn1c to commit d3aed06bb2bec7df1b5c6d0333f8c7dfc5993372
1. Fix the problem of compiling NR_RangeToBestCell.c of NR-RRC 15.3.0
2. Fix the problem that default OCTET/BIT STRING value not used in APER
3. Add support of extension group inside CHOICE type used in LTE-RRC 15.3.0
4. Fix the problem that NGAP 15.0.0 ASN.1 can not generate C files
2018-10-09 09:18:27 +08:00
Bi-Ruei, Chiu 6562577e96 Update asn1c commit with two new fixes 2018-08-16 16:36:41 +08:00
Bi-Ruei, Chiu 79827d6bac Add missing S1AP 15.2.0 ASN.1 S1AP-Containers module 2018-08-16 16:36:41 +08:00
Bi-Ruei, Chiu a3e9c48006 Create configure file for asn1c
Add `autoreconf -iv` in build_helper to create configure file for asn1c.
2018-07-13 17:10:27 +08:00
Bi-Ruei, Chiu 0071fb6173 Add ASN files of LTE-RRC, S1AP and X2AP of 2018 Jun release 2018-07-13 10:04:46 +08:00
Bi-Ruei, Chiu a247907d3a Use an un-official community collaboration version of asn1c
1. It's no need to modify LTE-RRC's ASN.1 file for enabling option group
   feature in generate_asn1.
2. It's no need to patch the C header files generated from
   LTE-RRC/S1AP/X2AP's ASN.1 in fix_asn1.
3. It's no need to pre-process S1AP/X2AP's ASN.1 for enabling information
   object class feature by asn1tostruct.py.

This commit requires an un-official version of asn1c which are
collaboration of asn1c community members and `build_helper` is modified
in this commit accordingly :

  https://github.com/brchiu/asn1c/tree/velichkov_s1ap_plus_option_group

This asn1c can also convert ASN.1 of 5G NR RRC (38.331, v15.1.0) and
generate C files with -findirect-choice command line option without
tweaking ASN.1 file.

Examples for how to use this asn1c for S1AP are in S1AP files, e.g.
s1ap_eNB_nas_procedures.c and s1ap_eNB_handler.c.

There is an modified openair-cn (based on tag 0.5.0) with this new asn1c at :

  https://github.com/brchiu/openair-cn/tree/new-asn1c

Basic S1AP interaction and data transfer operation between OAI eNB and
this modified openair-cn has been tested.

Note: Community version of asn1c is keeping evolved to provide better usage.
2018-07-13 10:04:46 +08:00
Bi-Ruei, Chiu df1e5b21c8 Change 'RRC/LITE' to 'RRC/LTE' 2018-07-12 15:33:31 +08:00
Bi-Ruei, Chiu f097cca7a5 Compare RRC_VERSION with MAKE_VERSION(x,y,z) macro to provide better SW configuration
To minimize migration effort, we follow the logic of legacy macro Rel10 and Rel14 used
for conditional compilation of current code.

In the future, they might be changed to accommodate finer software configuration, e.g.
MAKE_VERSION(12,2,0) or MAKE_VERSION(13,1,0) .... etc.
2018-05-29 18:00:58 +08:00
Bi-Ruei, Chiu 02aeb1c16d Build eNB using USRP on Ubuntu 18.04 2018-05-13 10:45:48 +08:00
Bi-Ruei, Chiu f994140a3c Fix S1AP error indication message sent from MME not handled in eNB 2018-05-02 23:40:11 +08:00
Bi-Ruei, Chiu 5c23af773a Compare version number using MAKE_VERSION macro to provide better SW configuration:
1. Previous SW configuration for different RRC version relies on whether macro Rel10,
   Rel14 defined or not by checking #ifdef Rel14 or #if defined(Rel10) || defined(R14).
   Whenever there is a newer RRC version, e.g. Rel15, it will be very a tedious and
   error-prone job to add defined(Rel15) in every place.

2. Some RRC messages are defined in release 13 instead of release 14, NB-IoT
   feature is one of such example. Our code shall reflect this fact instead of using
   an afterward version number in software configuration.

3. Some RRC messages or some fields of certain RRC messages are added in the middle
   a release, e.g. SystemInformationBlockType1_v1310_IEs_t defined in RRC 13.1.0
   and RRC 9.2.0 made some changes to SIB12 and SIB13 so we have sib12_v920 and
   sib13_v920 fields in SIB12 and SIB13's struct.
   We need a finer grain of control when using ASN1 from different RRC version.

4. S1AP also has this problem that it use UPDATE_RELEASE_9 and UPDATE_RELEASE_10 to
   differentiate between various S1AP version.

This commit propose using MAKE_VERSION(x,y,z) to designate the version number and
modify current conditional compilation accordingly.

Note: 2018/04/16, Modified based on Cedric's comment.
2018-04-16 12:32:29 +02:00
Bi-Ruei, Chiu 7321aab67e Add S1AP R14 based on new asn1c
This feature requires an un-official version of asn1c :

https://github.com/velichkov/asn1c/tree/s1ap
2018-03-28 00:19:01 +08:00