Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangwenhui
OpenXG-RAN
Commits
a487b71b
Commit
a487b71b
authored
Jul 18, 2018
by
WEI-TAI CHEN
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update RRC .asn to f21
parent
754c92d4
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
4456 additions
and
362 deletions
+4456
-362
cmake_targets/CMakeLists.txt
cmake_targets/CMakeLists.txt
+7
-8
openair2/RRC/NR/MESSAGES/asn1c/ASN1_files/NR-InterNodeDefinitions.asn
.../NR/MESSAGES/asn1c/ASN1_files/NR-InterNodeDefinitions.asn
+0
-282
openair2/RRC/NR/MESSAGES/asn1c/ASN1_files/NR-RRC-38331-f21.asn
...ir2/RRC/NR/MESSAGES/asn1c/ASN1_files/NR-RRC-38331-f21.asn
+4421
-0
openair2/RRC/NR/MESSAGES/asn1c/ASN1_files/NR-UE-Variables.asn
...air2/RRC/NR/MESSAGES/asn1c/ASN1_files/NR-UE-Variables.asn
+0
-46
openair2/RRC/NR/MESSAGES/asn1c/ASN1_files/extract_asn1_from_spce.pl
...RC/NR/MESSAGES/asn1c/ASN1_files/extract_asn1_from_spce.pl
+28
-26
No files found.
cmake_targets/CMakeLists.txt
View file @
a487b71b
...
@@ -350,7 +350,7 @@ add_custom_command (
...
@@ -350,7 +350,7 @@ add_custom_command (
add_list2_option
(
NR_RRC_ASN1_VERSION
"NR_Rel15"
"ASN.1 version of NR_RRC interface"
)
add_list2_option
(
NR_RRC_ASN1_VERSION
"NR_Rel15"
"ASN.1 version of NR_RRC interface"
)
if
(
${
NR_RRC_ASN1_VERSION
}
STREQUAL
"NR_Rel15"
)
if
(
${
NR_RRC_ASN1_VERSION
}
STREQUAL
"NR_Rel15"
)
set
(
NR_RRC_GRAMMAR
${
OPENAIR2_DIR
}
/RRC/NR/MESSAGES/asn1c/ASN1_files/NR-RRC-38331-f
10
.asn
)
set
(
NR_RRC_GRAMMAR
${
OPENAIR2_DIR
}
/RRC/NR/MESSAGES/asn1c/ASN1_files/NR-RRC-38331-f
21
.asn
)
endif
(
${
NR_RRC_ASN1_VERSION
}
STREQUAL
"NR_Rel15"
)
endif
(
${
NR_RRC_ASN1_VERSION
}
STREQUAL
"NR_Rel15"
)
set
(
NR_RRC_FULL_DIR
${
asn1_generated_dir
}
/
${
NR_RRC_ASN1_VERSION
}
)
set
(
NR_RRC_FULL_DIR
${
asn1_generated_dir
}
/
${
NR_RRC_ASN1_VERSION
}
)
...
@@ -2200,7 +2200,6 @@ add_executable(nr-softmodem
...
@@ -2200,7 +2200,6 @@ add_executable(nr-softmodem
${
OPENAIR_TARGETS
}
/RT/USER/nr-ru.c
${
OPENAIR_TARGETS
}
/RT/USER/nr-ru.c
${
OPENAIR_TARGETS
}
/RT/USER/nr-softmodem.c
${
OPENAIR_TARGETS
}
/RT/USER/nr-softmodem.c
${
OPENAIR1_DIR
}
/SIMULATION/TOOLS/taus.c
${
OPENAIR1_DIR
}
/SIMULATION/TOOLS/taus.c
${
OPENAIR_TARGETS
}
/COMMON/create_tasks.c
${
OPENAIR_TARGETS
}
/COMMON/create_nr_tasks.c
${
OPENAIR_TARGETS
}
/COMMON/create_nr_tasks.c
${
OPENAIR_TARGETS
}
/ARCH/COMMON/common_lib.c
${
OPENAIR_TARGETS
}
/ARCH/COMMON/common_lib.c
${
OPENAIR1_DIR
}
/SIMULATION/ETH_TRANSPORT/netlink_init.c
${
OPENAIR1_DIR
}
/SIMULATION/ETH_TRANSPORT/netlink_init.c
...
@@ -2218,7 +2217,7 @@ target_link_libraries (nr-softmodem
...
@@ -2218,7 +2217,7 @@ target_link_libraries (nr-softmodem
-Wl,--start-group
-Wl,--start-group
UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB SCHED_RU_LIB SCHED_NR_LIB PHY_NR PHY PHY_COMMON PHY_RU LFDS GTPV1U SECU_CN SECU_OSA
UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB SCHED_RU_LIB SCHED_NR_LIB PHY_NR PHY PHY_COMMON PHY_RU LFDS GTPV1U SECU_CN SECU_OSA
${
ITTI_LIB
}
${
FLPT_MSG_LIB
}
${
ASYNC_IF_LIB
}
${
FLEXRAN_AGENT_LIB
}
LFDS7
${
MSC_LIB
}
${
RAL_LIB
}
${
NAS_UE_LIB
}
${
ITTI_LIB
}
${
FLPT_MSG_LIB
}
${
ASYNC_IF_LIB
}
${
FLEXRAN_AGENT_LIB
}
LFDS7
${
MSC_LIB
}
${
RAL_LIB
}
${
NAS_UE_LIB
}
RRC_LIB S1AP_LIB S1AP_ENB L2
RRC_LIB
NR_RRC_LIB
S1AP_LIB S1AP_ENB L2
NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB
NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB
-Wl,--end-group z dl
)
-Wl,--end-group z dl
)
...
@@ -2254,7 +2253,7 @@ add_executable(nr-softmodem-nos1
...
@@ -2254,7 +2253,7 @@ add_executable(nr-softmodem-nos1
${
SHLIB_LOADER_SOURCES
}
${
SHLIB_LOADER_SOURCES
}
)
)
target_link_libraries
(
nr-softmodem
target_link_libraries
(
nr-softmodem
-nos1
-Wl,--start-group
-Wl,--start-group
UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB SCHED_RU_LIB SCHED_NR_LIB PHY_NR PHY PHY_COMMON PHY_RU LFDS GTPV1U SECU_CN SECU_OSA
UTIL HASHTABLE SCTP_CLIENT UDP SCHED_LIB SCHED_RU_LIB SCHED_NR_LIB PHY_NR PHY PHY_COMMON PHY_RU LFDS GTPV1U SECU_CN SECU_OSA
${
ITTI_LIB
}
${
FLPT_MSG_LIB
}
${
ASYNC_IF_LIB
}
${
FLEXRAN_AGENT_LIB
}
LFDS7
${
MSC_LIB
}
${
RAL_LIB
}
${
NAS_UE_LIB
}
${
MIH_LIB
}
${
ITTI_LIB
}
${
FLPT_MSG_LIB
}
${
ASYNC_IF_LIB
}
${
FLEXRAN_AGENT_LIB
}
LFDS7
${
MSC_LIB
}
${
RAL_LIB
}
${
NAS_UE_LIB
}
${
MIH_LIB
}
...
@@ -2262,10 +2261,10 @@ target_link_libraries (nr-softmodem
...
@@ -2262,10 +2261,10 @@ target_link_libraries (nr-softmodem
NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB
NFAPI_COMMON_LIB NFAPI_LIB NFAPI_VNF_LIB NFAPI_PNF_LIB NFAPI_USER_LIB
-Wl,--end-group z dl
)
-Wl,--end-group z dl
)
target_link_libraries
(
nr-softmodem
${
LIBXML2_LIBRARIES
}
)
target_link_libraries
(
nr-softmodem
-nos1
${
LIBXML2_LIBRARIES
}
)
target_link_libraries
(
nr-softmodem pthread m
${
CONFIG_LIBRARIES
}
rt crypt
${
CRYPTO_LIBRARIES
}
${
OPENSSL_LIBRARIES
}
${
NETTLE_LIBRARIES
}
sctp
${
XFORMS_LIBRARIES
}
${
PROTOBUF_LIB
}
${
CMAKE_DL_LIBS
}
${
LIBYAML_LIBRARIES
}
)
target_link_libraries
(
nr-softmodem
-nos1
pthread m
${
CONFIG_LIBRARIES
}
rt crypt
${
CRYPTO_LIBRARIES
}
${
OPENSSL_LIBRARIES
}
${
NETTLE_LIBRARIES
}
sctp
${
XFORMS_LIBRARIES
}
${
PROTOBUF_LIB
}
${
CMAKE_DL_LIBS
}
${
LIBYAML_LIBRARIES
}
)
target_link_libraries
(
nr-softmodem
${
LIB_LMS_LIBRARIES
}
)
target_link_libraries
(
nr-softmodem
-nos1
${
LIB_LMS_LIBRARIES
}
)
target_link_libraries
(
nr-softmodem
${
T_LIB
}
)
target_link_libraries
(
nr-softmodem
-nos1
${
T_LIB
}
)
# nr-uesoftmodem is UE implementation
# nr-uesoftmodem is UE implementation
#######################################
#######################################
...
...
openair2/RRC/NR/MESSAGES/asn1c/ASN1_files/NR-InterNodeDefinitions.asn
deleted
100644 → 0
View file @
754c92d4
NR-InterNodeDefinitions DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
-- TAG-HANDOVER-COMMAND-START
HandoverCommand ::= SEQUENCE {
criticalExtensions CHOICE {
c1 CHOICE{
handoverCommand HandoverCommand-IEs,
spare3 NULL, spare2 NULL, spare1 NULL
},
criticalExtensionsFuture SEQUENCE {}
}
}
HandoverCommand-IEs ::= SEQUENCE {
handoverCommandMessage OCTET STRING (CONTAINING RRCReconfiguration),
nonCriticalExtension SEQUENCE {} OPTIONAL
}
-- TAG-HANDOVER-COMMAND-STOP
-- TAG-HANDOVER-PREPARATION-INFORMATION-START
HandoverPreparationInformation ::= SEQUENCE {
criticalExtensions CHOICE {
c1 CHOICE{
handoverPreparationInformation HandoverPreparationInformation-IEs,
spare3 NULL, spare2 NULL, spare1 NULL
},
criticalExtensionsFuture SEQUENCE {}
}
}
HandoverPreparationInformation-IEs ::= SEQUENCE {
ue-CapabilityRAT-List UE-CapabilityRAT-ContainerList,
sourceConfig OCTET STRING (CONTAINING RRCReconfiguration),
rrm-Config RRM-Config OPTIONAL,
as-Context AS-Context OPTIONAL,
nonCriticalExtension SEQUENCE {} OPTIONAL
}
AS-Context ::= SEQUENCE {
reestablishmentInfo SEQUENCE {
sourcePhysCellId PhysCellId,
targetCellShortMAC-I ShortMAC-I,
additionalReestabInfoList ReestabNCellInfoList OPTIONAL
} OPTIONAL,
-- FFS Whether to change e.g. move all re-establishment info to Xx
configRestrictInfo ConfigRestrictInfoSCG OPTIONAL,
...
}
ReestabNCellInfoList ::= SEQUENCE ( SIZE (1..maxCellPrep) ) OF ReestabNCellInfo
ReestabNCellInfo::= SEQUENCE{
cellIdentity CellIdentity,
key-gNodeB-Star BIT STRING (SIZE (256)),
shortMAC-I ShortMAC-I
}
RRM-Config ::= SEQUENCE {
ue-InactiveTime ENUMERATED {
s1, s2, s3, s5, s7, s10, s15, s20,
s25, s30, s40, s50, min1, min1s20c, min1s40,
min2, min2s30, min3, min3s30, min4, min5, min6,
min7, min8, min9, min10, min12, min14, min17, min20,
min24, min28, min33, min38, min44, min50, hr1,
hr1min30, hr2, hr2min30, hr3, hr3min30, hr4, hr5, hr6,
hr8, hr10, hr13, hr16, hr20, day1, day1hr12, day2,
day2hr12, day3, day4, day5, day7, day10, day14, day19,
day24, day30, dayMoreThan30} OPTIONAL ,
candidateCellInfoList CandidateCellInfoList OPTIONAL,
...
}
-- TAG-HANDOVER-PREPARATION-INFORMATION-STOP
-- TAG-CG-CONFIG-START
CG-Config ::= SEQUENCE {
criticalExtensions CHOICE {
c1 CHOICE{
cg-Config CG-Config-IEs,
spare3 NULL, spare2 NULL, spare1 NULL
},
criticalExtensionsFuture SEQUENCE {}
}
}
CG-Config-IEs ::= SEQUENCE {
scg-CellGroupConfig OCTET STRING (CONTAINING RRCReconfiguration) OPTIONAL,
scg-RB-Config OCTET STRING (CONTAINING RadioBearerConfig) OPTIONAL,
configRestrictModReq ConfigRestrictModReqSCG OPTIONAL,
drx-InfoSCG DRX-Info OPTIONAL,
candidateCellInfoListSN OCTET STRING (CONTAINING CandidateCellInfoList) OPTIONAL,
measConfigSN MeasConfigSN OPTIONAL,
selectedBandCombinationNR BandCombinationIndex OPTIONAL,
nonCriticalExtension SEQUENCE {} OPTIONAL
}
MeasConfigSN ::= SEQUENCE {
measuredFrequenciesFR1 SEQUENCE (SIZE (1..maxMeasFreqsMN)) OF NR-FreqInfo OPTIONAL,
...
}
NR-FreqInfo ::= SEQUENCE {
measuredFrequency ARFCN-ValueNR OPTIONAL,
...
}
ConfigRestrictModReqSCG ::= SEQUENCE {
requestedBC-MRDC BandCombinationIndex OPTIONAL,
requestedBPC-ListMRDC BPC-IndexList OPTIONAL,
requestedP-MaxFR1 P-Max OPTIONAL,
...
}
BandCombinationIndex ::= INTEGER (1..maxBandComb)
-- TAG-CG-CONFIG-STOP
-- TAG-CG-CONFIG-INFO-START
CG-ConfigInfo ::= SEQUENCE {
criticalExtensions CHOICE {
c1 CHOICE{
cg-ConfigInfo CG-ConfigInfo-IEs,
spare3 NULL, spare2 NULL, spare1 NULL
},
criticalExtensionsFuture SEQUENCE {}
}
}
CG-ConfigInfo-IEs ::= SEQUENCE {
ue-CapabilityInfo OCTET STRING (CONTAINING UE-CapabilityRAT-ContainerList) OPTIONAL,-- Cond SN-Addition
candidateCellInfoListMN CandidateCellInfoList OPTIONAL,
candidateCellInfoListSN OCTET STRING (CONTAINING CandidateCellInfoList) OPTIONAL,
measResultCellListSFTD MeasResultCellListSFTD OPTIONAL,
scgFailureInfo SEQUENCE {
failureType ENUMERATED { t310-Expiry, randomAccessProblem,
rlc-MaxNumRetx, scg-ChangeFailure,
scg-reconfigFailure,
srb3-IntegrityFailure},
measResultSCG OCTET STRING (CONTAINING MeasResultSCG-Failure)
} OPTIONAL,
configRestrictInfo ConfigRestrictInfoSCG OPTIONAL,
drx-InfoMCG DRX-Info OPTIONAL,
measConfigMN MeasConfigMN OPTIONAL,
sourceConfigSCG OCTET STRING (CONTAINING RRCReconfiguration) OPTIONAL,
scg-RB-Config OCTET STRING (CONTAINING RadioBearerConfig) OPTIONAL,
mcg-RB-Config OCTET STRING (CONTAINING RadioBearerConfig) OPTIONAL,
nonCriticalExtension SEQUENCE {} OPTIONAL
}
ConfigRestrictInfoSCG ::= SEQUENCE {
allowedBC-ListMRDC BandCombinationIndexList OPTIONAL,
allowedBPC-ListMRDC BPC-IndexList OPTIONAL,
powerCoordination-FR1 SEQUENCE {
p-maxNR P-Max OPTIONAL,
p-maxEUTRA P-Max OPTIONAL
} OPTIONAL,
servCellIndexRangeSCG SEQUENCE {
lowBound ServCellIndex,
upBound ServCellIndex
} OPTIONAL, -- Cond SN-Addition
maxMeasFreqsSCG-NR INTEGER(1..maxMeasFreqsMN) OPTIONAL,
...
}
BandCombinationIndexList ::= SEQUENCE (SIZE (1..maxBandComb)) OF BandCombinationIndex
BPC-IndexList ::= SEQUENCE (SIZE (1..maxBasebandProcComb)) OF BPC-Index
BPC-Index ::= INTEGER (1..maxBasebandProcComb)
DRX-Info ::= SEQUENCE {
drx-LongCycleStartOffset CHOICE {
ms10 INTEGER(0..9),
ms20 INTEGER(0..19),
ms32 INTEGER(0..31),
ms40 INTEGER(0..39),
ms60 INTEGER(0..59),
ms64 INTEGER(0..63),
ms70 INTEGER(0..69),
ms80 INTEGER(0..79),
ms128 INTEGER(0..127),
ms160 INTEGER(0..159),
ms256 INTEGER(0..255),
ms320 INTEGER(0..319),
ms512 INTEGER(0..511),
ms640 INTEGER(0..639),
ms1024 INTEGER(0..1023),
ms1280 INTEGER(0..1279),
ms2048 INTEGER(0..2047),
ms2560 INTEGER(0..2559),
ms5120 INTEGER(0..5119),
ms10240 INTEGER(0..10239)
},
shortDRX SEQUENCE {
drx-ShortCycle ENUMERATED {
ms2, ms3, ms4, ms5, ms6, ms7, ms8, ms10, ms14, ms16, ms20, ms30, ms32,
ms35, ms40, ms64, ms80, ms128, ms160, ms256, ms320, ms512, ms640, spare9,
spare8, spare7, spare6, spare5, spare4, spare3, spare2, spare1 },
drx-ShortCycleTimer INTEGER (1..16)
} OPTIONAL
}
MeasConfigMN ::= SEQUENCE {
measuredFrequenciesMN SEQUENCE (SIZE (1..maxMeasFreqsMN)) OF NR-FreqInfo OPTIONAL,
measGapConfigFR1 GapConfig OPTIONAL,
gapPurpose ENUMERATED {perUE, perFR1} OPTIONAL,
...
}
-- TAG-CG-CONFIG-INFO-STOP
-- TAG-MEASUREMENT-TIMING-CONFIGURATION-START
MeasurementTimingConfiguration ::= SEQUENCE {
criticalExtensions CHOICE {
c1 CHOICE{
measTimingConf MeasurementTimingConfiguration-IEs,
spare3 NULL, spare2 NULL, spare1 NULL
},
criticalExtensionsFuture SEQUENCE {}
}
}
MeasurementTimingConfiguration-IEs ::= SEQUENCE {
measTiming MeasTimingList OPTIONAL,
nonCriticalExtension SEQUENCE {} OPTIONAL
}
MeasTimingList ::= SEQUENCE (SIZE (1..maxMeasFreqsMN)) OF MeasTiming
MeasTiming ::= SEQUENCE {
carrierFreq ARFCN-ValueNR OPTIONAL,
ssb-MeasurementTimingConfiguration ENUMERATED {ffsTypeAndValue} OPTIONAL,
...
}
-- TAG-MEASUREMENT-TIMING-CONFIGURATION-STOP
-- TAG-CANDIDATE-CELL-INFO-LIST-START
CandidateCellInfoList ::= SEQUENCE (SIZE (1.. maxNrofSCells)) OF CandidateCellInfo
CandidateCellInfo ::= SEQUENCE {
cellIdentification SEQUENCE {
physCellId PhysCellId,
dl-CarrierFreq ARFCN-ValueNR
},
measResultCell MeasQuantityResults OPTIONAL,
candidateRS-IndexListSSB CandidateRS-IndexInfoListSSB OPTIONAL,
candidateRS-IndexListCSI-RS CandidateRS-IndexInfoListCSI-RS OPTIONAL,
...
}
CandidateRS-IndexInfoListSSB ::= SEQUENCE (SIZE (1..maxNrofIndexesToReport)) OF CandidateRS-IndexInfoSSB
CandidateRS-IndexInfoSSB ::= SEQUENCE {
ssb-Index SSB-Index,
measResultSSB MeasQuantityResults OPTIONAL,
...
}
CandidateRS-IndexInfoListCSI-RS ::= SEQUENCE (SIZE (1..maxNrofIndexesToReport)) OF CandidateRS-IndexInfoCSI-RS
CandidateRS-IndexInfoCSI-RS ::= SEQUENCE {
csi-RS-Index CSI-RS-Index,
measResultCSI-RS MeasQuantityResults OPTIONAL,
...
}
-- TAG-CANDIDATE-CELL-INFO-LIST-STOP
-- TAG_NR-MULTIPLICITY-AND-CONSTRAINTS-START
maxMeasFreqsMN INTEGER ::= 32 -- Maximum number of MN-configured measurement frequencies
maxCellPrep INTEGER ::= 32 -- Maximum number of cells prepared for handover
-- TAG_NR-MULTIPLICITY-AND-CONSTRAINTS-STOP
-- TAG_NR-INTER-NODE-DEFINITIONS-END-START
END
openair2/RRC/NR/MESSAGES/asn1c/ASN1_files/NR-RRC-
Definitions
.asn
→
openair2/RRC/NR/MESSAGES/asn1c/ASN1_files/NR-RRC-
38331-f21
.asn
View file @
a487b71b
This source diff could not be displayed because it is too large. You can
view the blob
instead.
openair2/RRC/NR/MESSAGES/asn1c/ASN1_files/NR-UE-Variables.asn
deleted
100644 → 0
View file @
754c92d4
NR-UE-Variables DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
-- TAG-VAR-MEAS-CONFIG-START
VarMeasConfig ::= SEQUENCE {
-- Measurement identities
measIdList MeasIdToAddModList OPTIONAL,
-- Measurement objects
measObjectList MeasObjectToAddModList OPTIONAL,
-- Reporting configurations
reportConfigList ReportConfigToAddModList OPTIONAL,
-- Other parameters
quantityConfig QuantityConfig OPTIONAL,
s-MeasureConfig CHOICE {
ssb-RSRP RSRP-Range,
csi-RSRP RSRP-Range
} OPTIONAL
}
-- TAG-VAR-MEAS-CONFIG-STOP
-- TAG-VAR-MEAS-REPORT-START
VarMeasReportList ::= SEQUENCE (SIZE (1..maxNrofMeasId)) OF VarMeasReport
VarMeasReport ::= SEQUENCE {
-- List of measurement that have been triggered
measId MeasId,
cellsTriggeredList CellsTriggeredList OPTIONAL,
numberOfReportsSent INTEGER
}
CellsTriggeredList ::= SEQUENCE (SIZE (1..maxNrofCellMeas)) OF CHOICE {
physCellId PhysCellId,
-- Not needed for EN-DC.
physCellIdEUTRA ENUMERATED {ffsTypeAndValue}
}
-- TAG-VAR-MEAS-REPORT-STOP
END
openair2/RRC/NR/MESSAGES/asn1c/ASN1_files/extract_asn1_from_spce.pl
View file @
a487b71b
...
@@ -4,13 +4,10 @@
...
@@ -4,13 +4,10 @@
# Then in "view" menu, select normal or web layout (needed to removed page header and footers)
# Then in "view" menu, select normal or web layout (needed to removed page header and footers)
# Finally save the document as a text file
# Finally save the document as a text file
# Call the script: "perl extract_asn1_from_spec.pl 38331-xxx.txt"
# Call the script: "perl extract_asn1_from_spec.pl 38331-xxx.txt"
# It should generate: NR-RRC-
Definitions.asn, NR-UE-Variables.asn and NR-InterNodeDefinitions
# It should generate: NR-RRC-
38331.asn
use
warnings
;
use
warnings
;
$input_file
=
$ARGV
[
0
];
$input_file
=
$ARGV
[
0
];
$NR_def_output_file
=
"
NR-RRC-Definitions.asn
";
$NR_asn_output_file
=
"
NR-RRC-38331.asn
";
$NR_var_output_file
=
"
NR-UE-Variables.asn
";
$NR_internode_output_file
=
"
NR-InterNodeDefinitions.asn
";
sub
extract_asn1
;
sub
extract_asn1
;
...
@@ -20,7 +17,7 @@ while (<INPUT_FILE>) {
...
@@ -20,7 +17,7 @@ while (<INPUT_FILE>) {
# Process the NR-RRC-Definitions section
# Process the NR-RRC-Definitions section
if
(
m/NR-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::=/
){
if
(
m/NR-RRC-Definitions DEFINITIONS AUTOMATIC TAGS ::=/
){
open
(
OUTPUT_FILE
,
"
>
$NR_
def_output_file
")
or
die
"
Can not open file
$def
_output_file
";
open
(
OUTPUT_FILE
,
"
>
$NR_
asn_output_file
")
or
die
"
Can not open file
$NR_asn
_output_file
";
syswrite
OUTPUT_FILE
,"
$_
\n
";
syswrite
OUTPUT_FILE
,"
$_
\n
";
syswrite
OUTPUT_FILE
,"
BEGIN
\n\n
";
syswrite
OUTPUT_FILE
,"
BEGIN
\n\n
";
...
@@ -28,34 +25,39 @@ while (<INPUT_FILE>) {
...
@@ -28,34 +25,39 @@ while (<INPUT_FILE>) {
extract_asn1
();
extract_asn1
();
syswrite
OUTPUT_FILE
,"
END
\n\n
";
syswrite
OUTPUT_FILE
,"
END
\n\n
";
close
(
OUTPUT_FILE
);
}
# Process the NR-UE-Variables section
while
(
<
INPUT_FILE
>
)
{
if
(
m/NR-UE-Variables DEFINITIONS AUTOMATIC TAGS ::=/
){
if
(
m/NR-UE-Variables DEFINITIONS AUTOMATIC TAGS ::=/
){
open
(
OUTPUT_FILE
,
"
>
$NR_var_output_file
")
or
die
"
Can not open file
$def_output_file
";
syswrite
OUTPUT_FILE
,"
$_
\n
";
syswrite
OUTPUT_FILE
,"
$_
\n
";
syswrite
OUTPUT_FILE
,"
BEGIN
\n\n
";
syswrite
OUTPUT_FILE
,"
BEGIN
\n\n
";
# Get all the text delimited by -- ASN1START and -- ASN1STOP
# Get all the text delimited by -- ASN1START and -- ASN1STOP
extract_asn1
();
extract_asn1
();
syswrite
OUTPUT_FILE
,"
END
\n\n
";
syswrite
OUTPUT_FILE
,"
END
\n\n
";
close
(
OUTPUT_FILE
);
}
while
(
<
INPUT_FILE
>
)
{
# Process the NR-InterNodeDefinitions section
if
(
m/NR-InterNodeDefinitions DEFINITIONS AUTOMATIC TAGS ::=/
){
if
(
m/NR-InterNodeDefinitions DEFINITIONS AUTOMATIC TAGS ::=/
){
open
(
OUTPUT_FILE
,
"
>
$NR_internode_output_file
")
or
die
"
Can not open file
$def_output_file
";
syswrite
OUTPUT_FILE
,"
$_
\n
";
syswrite
OUTPUT_FILE
,"
$_
\n
";
syswrite
OUTPUT_FILE
,"
BEGIN
\n\n
";
syswrite
OUTPUT_FILE
,"
BEGIN
\n\n
";
# Get all the text delimited by -- ASN1START and -- ASN1STOP
# Get all the text delimited by -- ASN1START and -- ASN1STOP
extract_asn1
();
extract_asn1
();
syswrite
OUTPUT_FILE
,"
END
\n\n
";
}
}
}
}
syswrite
OUTPUT_FILE
,"
END
\n\n
";
close
(
OUTPUT_FILE
);
close
(
OUTPUT_FILE
);
}
}
}
}
close
(
INPUT_FILE
);
close
(
INPUT_FILE
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment