E2AP 2.01
This commit is contained in:
parent
c8cf2f544c
commit
d46e7f90f2
|
@ -25,7 +25,9 @@ set( ASN_FILE_LIST
|
||||||
E2AP-IEs.asn
|
E2AP-IEs.asn
|
||||||
E2AP-PDU-Contents.asn
|
E2AP-PDU-Contents.asn
|
||||||
E2AP-PDU-Descriptions.asn
|
E2AP-PDU-Descriptions.asn
|
||||||
e2sm-kpm-v1.asn
|
e2sm-v2.01.asn
|
||||||
|
e2sm-ric-v1.02.asn
|
||||||
|
e2sm-kpm-v2.02.asn
|
||||||
)
|
)
|
||||||
|
|
||||||
set( EXTRA_DIST
|
set( EXTRA_DIST
|
||||||
|
|
|
@ -2,12 +2,12 @@
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
--
|
--
|
||||||
-- Common definitions
|
-- Common definitions
|
||||||
-- Derived from 3GPP 38.413 v15.4.0
|
-- Derived from 3GPP 38.413 (NGAP)
|
||||||
--
|
--
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
|
|
||||||
E2AP-CommonDataTypes {
|
E2AP-CommonDataTypes {
|
||||||
iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) 53148 e2(1) version1 (1) e2ap(1) e2ap-CommonDataTypes (3) }
|
iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) 53148 e2(1) version2 (2) e2ap(1) e2ap-CommonDataTypes (3) }
|
||||||
|
|
||||||
DEFINITIONS AUTOMATIC TAGS ::=
|
DEFINITIONS AUTOMATIC TAGS ::=
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
|
|
||||||
E2AP-Constants {
|
E2AP-Constants {
|
||||||
iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) 53148 e2(1) version1 (1) e2ap(1) e2ap-Constants (4) }
|
iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) 53148 e2(1) version2 (2) e2ap(1) e2ap-Constants (4) }
|
||||||
|
|
||||||
DEFINITIONS AUTOMATIC TAGS ::=
|
DEFINITIONS AUTOMATIC TAGS ::=
|
||||||
|
|
||||||
|
@ -31,6 +31,10 @@ id-RICserviceQuery ProcedureCode ::= 6
|
||||||
id-RICserviceUpdate ProcedureCode ::= 7
|
id-RICserviceUpdate ProcedureCode ::= 7
|
||||||
id-RICsubscription ProcedureCode ::= 8
|
id-RICsubscription ProcedureCode ::= 8
|
||||||
id-RICsubscriptionDelete ProcedureCode ::= 9
|
id-RICsubscriptionDelete ProcedureCode ::= 9
|
||||||
|
id-E2nodeConfigurationUpdate ProcedureCode ::= 10
|
||||||
|
id-E2connectionUpdate ProcedureCode ::= 11
|
||||||
|
id-RICsubscriptionDeleteRequired ProcedureCode ::= 12
|
||||||
|
id-E2removal ProcedureCode ::= 13
|
||||||
|
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
--
|
--
|
||||||
|
@ -47,8 +51,12 @@ maxProtocolIEs INTEGER ::= 65535
|
||||||
--
|
--
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
maxnoofErrors INTEGER ::= 256
|
maxnoofErrors INTEGER ::= 256
|
||||||
|
maxofE2nodeComponents INTEGER ::= 1024
|
||||||
maxofRANfunctionID INTEGER ::= 256
|
maxofRANfunctionID INTEGER ::= 256
|
||||||
maxofRICactionID INTEGER ::= 16
|
maxofRICactionID INTEGER ::= 16
|
||||||
|
maxofTNLA INTEGER ::= 32
|
||||||
|
maxofRICrequestID INTEGER ::= 4294967295
|
||||||
|
|
||||||
|
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
--
|
--
|
||||||
|
@ -87,7 +95,33 @@ id-RICrequestID ProtocolIE-ID ::= 29
|
||||||
id-RICsubscriptionDetails ProtocolIE-ID ::= 30
|
id-RICsubscriptionDetails ProtocolIE-ID ::= 30
|
||||||
id-TimeToWait ProtocolIE-ID ::= 31
|
id-TimeToWait ProtocolIE-ID ::= 31
|
||||||
id-RICcontrolOutcome ProtocolIE-ID ::= 32
|
id-RICcontrolOutcome ProtocolIE-ID ::= 32
|
||||||
|
id-E2nodeComponentConfigUpdate ProtocolIE-ID ::= 33
|
||||||
|
id-E2nodeComponentConfigUpdate-Item ProtocolIE-ID ::= 34
|
||||||
|
id-E2nodeComponentConfigUpdateAck ProtocolIE-ID ::= 35
|
||||||
|
id-E2nodeComponentConfigUpdateAck-Item ProtocolIE-ID ::= 36
|
||||||
|
id-E2connectionSetup ProtocolIE-ID ::= 39
|
||||||
|
id-E2connectionSetupFailed ProtocolIE-ID ::= 40
|
||||||
|
id-E2connectionSetupFailed-Item ProtocolIE-ID ::= 41
|
||||||
|
id-E2connectionFailed-Item ProtocolIE-ID ::= 42
|
||||||
|
id-E2connectionUpdate-Item ProtocolIE-ID ::= 43
|
||||||
|
id-E2connectionUpdateAdd ProtocolIE-ID ::= 44
|
||||||
|
id-E2connectionUpdateModify ProtocolIE-ID ::= 45
|
||||||
|
id-E2connectionUpdateRemove ProtocolIE-ID ::= 46
|
||||||
|
id-E2connectionUpdateRemove-Item ProtocolIE-ID ::= 47
|
||||||
|
id-TNLinformation ProtocolIE-ID ::= 48
|
||||||
|
id-TransactionID ProtocolIE-ID ::= 49
|
||||||
|
id-E2nodeComponentConfigAddition ProtocolIE-ID ::= 50
|
||||||
|
id-E2nodeComponentConfigAddition-Item ProtocolIE-ID ::= 51
|
||||||
|
id-E2nodeComponentConfigAdditionAck ProtocolIE-ID ::= 52
|
||||||
|
id-E2nodeComponentConfigAdditionAck-Item ProtocolIE-ID ::= 53
|
||||||
|
id-E2nodeComponentConfigRemoval ProtocolIE-ID ::= 54
|
||||||
|
id-E2nodeComponentConfigRemoval-Item ProtocolIE-ID ::= 55
|
||||||
|
id-E2nodeComponentConfigRemovalAck ProtocolIE-ID ::= 56
|
||||||
|
id-E2nodeComponentConfigRemovalAck-Item ProtocolIE-ID ::= 57
|
||||||
|
id-E2nodeTNLassociationRemoval ProtocolIE-ID ::= 58
|
||||||
|
id-E2nodeTNLassociationRemoval-Item ProtocolIE-ID ::= 59
|
||||||
|
id-RICsubscriptionToBeRemoved ProtocolIE-ID ::= 60
|
||||||
|
id-RICsubscription-withCause-Item ProtocolIE-ID ::= 61
|
||||||
|
|
||||||
END
|
END
|
||||||
-- ASN1STOP
|
-- ASN1STOP
|
||||||
|
|
|
@ -3,11 +3,11 @@
|
||||||
--
|
--
|
||||||
-- Container definitions
|
-- Container definitions
|
||||||
--
|
--
|
||||||
-- derived from 3GPP 38.413 v15.4.0
|
-- derived from 3GPP 38.413 (NGAP)
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
|
|
||||||
E2AP-Containers {
|
E2AP-Containers {
|
||||||
iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) 53148 e2(1) version1 (1) e2ap(1) e2ap-Containers (5) }
|
iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) 53148 e2(1) version2 (2) e2ap(1) e2ap-Containers (5) }
|
||||||
|
|
||||||
DEFINITIONS AUTOMATIC TAGS ::=
|
DEFINITIONS AUTOMATIC TAGS ::=
|
||||||
|
|
||||||
|
@ -23,8 +23,6 @@ IMPORTS
|
||||||
|
|
||||||
Criticality,
|
Criticality,
|
||||||
Presence,
|
Presence,
|
||||||
PrivateIE-ID,
|
|
||||||
ProtocolExtensionID,
|
|
||||||
ProtocolIE-ID
|
ProtocolIE-ID
|
||||||
FROM E2AP-CommonDataTypes
|
FROM E2AP-CommonDataTypes
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
|
|
||||||
E2AP-IEs {
|
E2AP-IEs {
|
||||||
iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) 53148 e2(1) version1 (1) e2ap(1) e2ap-IEs (2)}
|
iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) 53148 e2(1) version2 (2) e2ap(1) e2ap-IEs (2)}
|
||||||
|
|
||||||
DEFINITIONS AUTOMATIC TAGS ::=
|
DEFINITIONS AUTOMATIC TAGS ::=
|
||||||
|
|
||||||
|
@ -25,17 +25,29 @@ maxProtocolIEs
|
||||||
FROM E2AP-Constants;
|
FROM E2AP-Constants;
|
||||||
|
|
||||||
-- A
|
-- A
|
||||||
|
|
||||||
|
-- **************************************************************
|
||||||
|
-- [New for E2AP v02.00] copied from 3GPP 38.413 (NGAP) IEs
|
||||||
|
-- **************************************************************
|
||||||
|
AMFName ::= PrintableString (SIZE(1..150, ...))
|
||||||
|
|
||||||
-- B
|
-- B
|
||||||
-- C
|
-- C
|
||||||
Cause ::= CHOICE {
|
Cause ::= CHOICE {
|
||||||
ricRequest CauseRIC,
|
ricRequest CauseRICrequest,
|
||||||
ricService CauseRICservice,
|
ricService CauseRICservice,
|
||||||
|
e2Node CauseE2node,
|
||||||
transport CauseTransport,
|
transport CauseTransport,
|
||||||
protocol CauseProtocol,
|
protocol CauseProtocol,
|
||||||
misc CauseMisc,
|
misc CauseMisc,
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CauseE2node ::= ENUMERATED {
|
||||||
|
e2node-component-unknown,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
CauseMisc ::= ENUMERATED {
|
CauseMisc ::= ENUMERATED {
|
||||||
control-processing-overload,
|
control-processing-overload,
|
||||||
hardware-failure,
|
hardware-failure,
|
||||||
|
@ -43,6 +55,7 @@ om-intervention,
|
||||||
unspecified,
|
unspecified,
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
|
||||||
CauseProtocol ::= ENUMERATED {
|
CauseProtocol ::= ENUMERATED {
|
||||||
transfer-syntax-error,
|
transfer-syntax-error,
|
||||||
abstract-syntax-error-reject,
|
abstract-syntax-error-reject,
|
||||||
|
@ -54,23 +67,26 @@ unspecified,
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
|
||||||
CauseRIC ::= ENUMERATED {
|
CauseRICrequest ::= ENUMERATED {
|
||||||
ran-function-id-Invalid,
|
ran-function-id-invalid,
|
||||||
action-not-supported,
|
action-not-supported,
|
||||||
excessive-actions,
|
excessive-actions,
|
||||||
duplicate-action,
|
duplicate-action,
|
||||||
duplicate-event,
|
duplicate-event-trigger,
|
||||||
function-resource-limit,
|
function-resource-limit,
|
||||||
request-id-unknown,
|
request-id-unknown,
|
||||||
inconsistent-action-subsequent-action-sequence,
|
inconsistent-action-subsequent-action-sequence,
|
||||||
control-message-invalid,
|
control-message-invalid,
|
||||||
call-process-id-invalid,
|
ric-call-process-id-invalid,
|
||||||
|
control-timer-expired,
|
||||||
|
control-failed-to-execute,
|
||||||
|
system-not-ready,
|
||||||
unspecified,
|
unspecified,
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
|
||||||
CauseRICservice ::= ENUMERATED{
|
CauseRICservice ::= ENUMERATED{
|
||||||
function-not-required,
|
ran-function-not-supported,
|
||||||
excessive-functions,
|
excessive-functions,
|
||||||
ric-resource-limit,
|
ric-resource-limit,
|
||||||
...
|
...
|
||||||
|
@ -82,7 +98,7 @@ transport-resource-unavailable,
|
||||||
}
|
}
|
||||||
|
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
-- copied from 3GPP 38.413 NGAP IEs v15.5.0
|
-- copied from 3GPP 38.413 (NGAP) IEs
|
||||||
-- note: ie-Extensions removed
|
-- note: ie-Extensions removed
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
CriticalityDiagnostics ::= SEQUENCE {
|
CriticalityDiagnostics ::= SEQUENCE {
|
||||||
|
@ -106,8 +122,70 @@ typeOfError TypeOfError,
|
||||||
-- D
|
-- D
|
||||||
-- E
|
-- E
|
||||||
|
|
||||||
|
-- Following IE used to carry 3GPP defined SETUP and RAN Configuration messages defined in F1AP, E1AP, XnAP, etc.
|
||||||
|
E2nodeComponentConfiguration ::= SEQUENCE{
|
||||||
|
e2nodeComponentRequestPart OCTET STRING,
|
||||||
|
e2nodeComponentResponsePart OCTET STRING,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2nodeComponentConfigurationAck ::= SEQUENCE{
|
||||||
|
updateOutcome ENUMERATED {success, failure, ...},
|
||||||
|
failureCause Cause OPTIONAL,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2nodeComponentInterfaceType ::= ENUMERATED {ng, xn, e1, f1, w1, s1, x2,...}
|
||||||
|
|
||||||
|
E2nodeComponentID ::= CHOICE{
|
||||||
|
e2nodeComponentInterfaceTypeNG E2nodeComponentInterfaceNG,
|
||||||
|
e2nodeComponentInterfaceTypeXn E2nodeComponentInterfaceXn,
|
||||||
|
e2nodeComponentInterfaceTypeE1 E2nodeComponentInterfaceE1,
|
||||||
|
e2nodeComponentInterfaceTypeF1 E2nodeComponentInterfaceF1,
|
||||||
|
e2nodeComponentInterfaceTypeW1 E2nodeComponentInterfaceW1,
|
||||||
|
e2nodeComponentInterfaceTypeS1 E2nodeComponentInterfaceS1,
|
||||||
|
e2nodeComponentInterfaceTypeX2 E2nodeComponentInterfaceX2,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2nodeComponentInterfaceE1 ::= SEQUENCE{
|
||||||
|
gNB-CU-CP-ID GNB-CU-UP-ID,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2nodeComponentInterfaceF1 ::= SEQUENCE{
|
||||||
|
gNB-DU-ID GNB-DU-ID,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2nodeComponentInterfaceNG ::= SEQUENCE{
|
||||||
|
amf-name AMFName,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2nodeComponentInterfaceS1 ::= SEQUENCE{
|
||||||
|
mme-name MMEname,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2nodeComponentInterfaceX2 ::= SEQUENCE{
|
||||||
|
global-eNB-ID GlobalENB-ID OPTIONAL,
|
||||||
|
global-en-gNB-ID GlobalenGNB-ID OPTIONAL,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2nodeComponentInterfaceXn ::= SEQUENCE{
|
||||||
|
global-NG-RAN-Node-ID GlobalNG-RANNode-ID,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2nodeComponentInterfaceW1 ::= SEQUENCE{
|
||||||
|
ng-eNB-DU-ID NGENB-DU-ID,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
-- copied from 3GPP X2AP IEs v15.4.0
|
-- copied from 3GPP 36.423 (X2AP) IEs
|
||||||
-- note: ie-Extensions removed
|
-- note: ie-Extensions removed
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
ENB-ID ::= CHOICE {
|
ENB-ID ::= CHOICE {
|
||||||
|
@ -118,7 +196,7 @@ short-Macro-eNB-ID BIT STRING (SIZE(18)),
|
||||||
long-Macro-eNB-ID BIT STRING (SIZE(21))
|
long-Macro-eNB-ID BIT STRING (SIZE(21))
|
||||||
}
|
}
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
-- copied from 3GPP 38.423 v15.5.0 XnAP IEs
|
-- copied from 3GPP 38.423 (XnAP) IEs
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
ENB-ID-Choice ::= CHOICE {
|
ENB-ID-Choice ::= CHOICE {
|
||||||
enb-ID-macro BIT STRING (SIZE(20)),
|
enb-ID-macro BIT STRING (SIZE(20)),
|
||||||
|
@ -128,7 +206,7 @@ enb-ID-longmacro BIT STRING (SIZE(21)),
|
||||||
}
|
}
|
||||||
|
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
-- copied from 3GPP X2AP IEs v15.4.0
|
-- copied from 3GPP 36.423 (X2AP) IEs
|
||||||
-- note: ie-Extensions removed
|
-- note: ie-Extensions removed
|
||||||
-- Note: to avoid duplicate names with XnAP, GNB-ID renamed ENGNB-ID, GlobalGNB-ID renamed GlobalenGNB-ID
|
-- Note: to avoid duplicate names with XnAP, GNB-ID renamed ENGNB-ID, GlobalGNB-ID renamed GlobalenGNB-ID
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
|
@ -148,7 +226,9 @@ eNB GlobalE2node-eNB-ID,
|
||||||
}
|
}
|
||||||
|
|
||||||
GlobalE2node-en-gNB-ID ::= SEQUENCE{
|
GlobalE2node-en-gNB-ID ::= SEQUENCE{
|
||||||
global-gNB-ID GlobalenGNB-ID,
|
global-en-gNB-ID GlobalenGNB-ID,
|
||||||
|
en-gNB-CU-UP-ID GNB-CU-UP-ID OPTIONAL,
|
||||||
|
en-gNB-DU-ID GNB-DU-ID OPTIONAL,
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
GlobalE2node-eNB-ID ::= SEQUENCE{
|
GlobalE2node-eNB-ID ::= SEQUENCE{
|
||||||
|
@ -157,16 +237,19 @@ global-eNB-ID GlobalENB-ID,
|
||||||
}
|
}
|
||||||
GlobalE2node-gNB-ID ::= SEQUENCE{
|
GlobalE2node-gNB-ID ::= SEQUENCE{
|
||||||
global-gNB-ID GlobalgNB-ID,
|
global-gNB-ID GlobalgNB-ID,
|
||||||
|
global-en-gNB-ID GlobalenGNB-ID OPTIONAL,
|
||||||
gNB-CU-UP-ID GNB-CU-UP-ID OPTIONAL,
|
gNB-CU-UP-ID GNB-CU-UP-ID OPTIONAL,
|
||||||
gNB-DU-ID GNB-DU-ID OPTIONAL,
|
gNB-DU-ID GNB-DU-ID OPTIONAL,
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
GlobalE2node-ng-eNB-ID ::= SEQUENCE{
|
GlobalE2node-ng-eNB-ID ::= SEQUENCE{
|
||||||
global-ng-eNB-ID GlobalngeNB-ID,
|
global-ng-eNB-ID GlobalngeNB-ID,
|
||||||
|
global-eNB-ID GlobalENB-ID OPTIONAL,
|
||||||
|
ngENB-DU-ID NGENB-DU-ID OPTIONAL,
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
-- copied from 3GPP X2AP IEs v15.4.0
|
-- copied from 3GPP 36.423 (X2AP) IEs
|
||||||
-- note: ie-Extensions removed
|
-- note: ie-Extensions removed
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
|
|
||||||
|
@ -176,7 +259,7 @@ eNB-ID ENB-ID,
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
-- copied from 3GPP X2AP IEs v15.4.0
|
-- copied from 3GPP 36.423 (X2AP) IEs
|
||||||
-- Note: to avoid duplicate names with XnAP, GNB-ID renamed ENGNB-ID, GlobalGNB-ID renamed GlobalenGNB-ID
|
-- Note: to avoid duplicate names with XnAP, GNB-ID renamed ENGNB-ID, GlobalGNB-ID renamed GlobalenGNB-ID
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
GlobalenGNB-ID ::= SEQUENCE {
|
GlobalenGNB-ID ::= SEQUENCE {
|
||||||
|
@ -185,7 +268,7 @@ gNB-ID ENGNB-ID,
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
-- copied from 3GPP 38.423 v15.5.0 XnAP IEs
|
-- copied from 3GPP 38.423 (XnAP) IEs
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
GlobalgNB-ID ::= SEQUENCE {
|
GlobalgNB-ID ::= SEQUENCE {
|
||||||
plmn-id PLMN-Identity,
|
plmn-id PLMN-Identity,
|
||||||
|
@ -195,7 +278,7 @@ gnb-id GNB-ID-Choice,
|
||||||
|
|
||||||
|
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
-- copied from 3GPP 38.423 v15.5.0 XnAP IEs
|
-- copied from 3GPP 38.423 (XnAP) IEs
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
GlobalngeNB-ID ::= SEQUENCE {
|
GlobalngeNB-ID ::= SEQUENCE {
|
||||||
plmn-id PLMN-Identity,
|
plmn-id PLMN-Identity,
|
||||||
|
@ -203,6 +286,17 @@ enb-id ENB-ID-Choice,
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
|
||||||
|
-- **************************************************************
|
||||||
|
-- [NEW for E2AP v02.00] copied from 3GPP 38.423 (XnAP) IEs
|
||||||
|
-- Note: extension field removed
|
||||||
|
-- **************************************************************
|
||||||
|
|
||||||
|
GlobalNG-RANNode-ID ::= CHOICE {
|
||||||
|
gNB GlobalgNB-ID,
|
||||||
|
ng-eNB GlobalngeNB-ID,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
GlobalRIC-ID ::= SEQUENCE{
|
GlobalRIC-ID ::= SEQUENCE{
|
||||||
pLMN-Identity PLMN-Identity,
|
pLMN-Identity PLMN-Identity,
|
||||||
ric-ID BIT STRING (SIZE (20)),
|
ric-ID BIT STRING (SIZE (20)),
|
||||||
|
@ -210,13 +304,13 @@ ric-ID BIT STRING (SIZE (20)),
|
||||||
}
|
}
|
||||||
|
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
-- copied from 3GPP 38.463 v15.5.0 E1AP IEs
|
-- copied from 3GPP 38.463 (E1AP) IEs
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
GNB-CU-UP-ID::= INTEGER (0..68719476735)
|
GNB-CU-UP-ID::= INTEGER (0..68719476735)
|
||||||
GNB-DU-ID::= INTEGER (0..68719476735)
|
GNB-DU-ID::= INTEGER (0..68719476735)
|
||||||
|
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
-- copied from 3GPP 38.423 v15.5.0 XnAP IEs
|
-- copied from 3GPP 38.423 (XnAP) IEs
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
GNB-ID-Choice ::= CHOICE {
|
GNB-ID-Choice ::= CHOICE {
|
||||||
gnb-ID BIT STRING (SIZE(22..32)),
|
gnb-ID BIT STRING (SIZE(22..32)),
|
||||||
|
@ -228,11 +322,24 @@ gnb-ID BIT STRING (SIZE(22..32)),
|
||||||
-- K
|
-- K
|
||||||
-- L
|
-- L
|
||||||
-- M
|
-- M
|
||||||
|
|
||||||
|
-- **************************************************************
|
||||||
|
-- [New for E2AP v02.00] copied from 3GPP 36.413 (S1AP) IEs
|
||||||
|
-- **************************************************************
|
||||||
|
MMEname ::= PrintableString (SIZE (1..150,...))
|
||||||
|
|
||||||
-- N
|
-- N
|
||||||
|
|
||||||
|
-- **************************************************************
|
||||||
|
-- copied from 3GPP 37.473 (W1AP) IEs
|
||||||
|
-- **************************************************************
|
||||||
|
NGENB-DU-ID ::= INTEGER (0..68719476735)
|
||||||
|
|
||||||
|
|
||||||
-- O
|
-- O
|
||||||
-- P
|
-- P
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
-- copied from 3GPP X2AP IEs v15.4.0
|
-- copied from 3GPP 36.423 (X2AP) IEs
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
PLMN-Identity ::= OCTET STRING (SIZE(3))
|
PLMN-Identity ::= OCTET STRING (SIZE(3))
|
||||||
|
|
||||||
|
@ -245,6 +352,8 @@ RANfunctionDefinition ::= OCTET STRING
|
||||||
|
|
||||||
RANfunctionID ::= INTEGER (0..4095)
|
RANfunctionID ::= INTEGER (0..4095)
|
||||||
|
|
||||||
|
RANfunctionOID ::= PrintableString(SIZE(1..1000,...))
|
||||||
|
|
||||||
RANfunctionRevision ::= INTEGER (0..4095)
|
RANfunctionRevision ::= INTEGER (0..4095)
|
||||||
|
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
|
@ -269,7 +378,6 @@ RICcallProcessID ::= OCTET STRING
|
||||||
RICcontrolAckRequest ::= ENUMERATED{
|
RICcontrolAckRequest ::= ENUMERATED{
|
||||||
noAck,
|
noAck,
|
||||||
ack,
|
ack,
|
||||||
nAck,
|
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -288,13 +396,6 @@ RICcontrolMessage ::= OCTET STRING
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
RICcontrolOutcome ::= OCTET STRING
|
RICcontrolOutcome ::= OCTET STRING
|
||||||
|
|
||||||
RICcontrolStatus ::= ENUMERATED{
|
|
||||||
success,
|
|
||||||
rejected,
|
|
||||||
failed,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
-- Following IE defined in E2SM
|
-- Following IE defined in E2SM
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
|
@ -337,7 +438,6 @@ wait,
|
||||||
}
|
}
|
||||||
|
|
||||||
RICtimeToWait ::= ENUMERATED{
|
RICtimeToWait ::= ENUMERATED{
|
||||||
zero,
|
|
||||||
w1ms,
|
w1ms,
|
||||||
w2ms,
|
w2ms,
|
||||||
w5ms,
|
w5ms,
|
||||||
|
@ -360,12 +460,23 @@ w60s,
|
||||||
-- S
|
-- S
|
||||||
-- T
|
-- T
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
-- copied from 3GPP 38.413 NGAP IEs v15.5.0
|
-- copied from 3GPP 38.413 (NGAP) IEs
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
TimeToWait ::= ENUMERATED {v1s, v2s, v5s, v10s, v20s, v60s, ...}
|
TimeToWait ::= ENUMERATED {v1s, v2s, v5s, v10s, v20s, v60s, ...}
|
||||||
|
|
||||||
|
|
||||||
|
TNLinformation ::= SEQUENCE{
|
||||||
|
tnlAddress BIT STRING (SIZE(1..160,...)),
|
||||||
|
tnlPort BIT STRING (SIZE(16)) OPTIONAL,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
TNLusage ::= ENUMERATED{ric-service, support-function, both, ...}
|
||||||
|
|
||||||
|
TransactionID ::= INTEGER (0..255,...)
|
||||||
|
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
-- copied from 3GPP 38.413 NGAP IEs v15.5.0
|
-- copied from 3GPP 38.413 (NGAP) IEs
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
TypeOfError ::= ENUMERATED {
|
TypeOfError ::= ENUMERATED {
|
||||||
not-understood,
|
not-understood,
|
||||||
|
|
|
@ -2,12 +2,12 @@
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
--
|
--
|
||||||
-- PDU definitions for E2AP
|
-- PDU definitions for E2AP
|
||||||
-- Derived from 3GPP 38.413 v15.4.0 NGAP
|
-- Derived from 3GPP 38.413 (NGAP)
|
||||||
--
|
--
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
|
|
||||||
E2AP-PDU-Contents {
|
E2AP-PDU-Contents {
|
||||||
iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) 53148 e2(1) version1 (1) e2ap(1) e2ap-PDU-Contents (1) }
|
iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) 53148 e2(1) version2 (2) e2ap(1) e2ap-PDU-Contents (1) }
|
||||||
|
|
||||||
DEFINITIONS AUTOMATIC TAGS ::=
|
DEFINITIONS AUTOMATIC TAGS ::=
|
||||||
|
|
||||||
|
@ -22,10 +22,15 @@ BEGIN
|
||||||
IMPORTS
|
IMPORTS
|
||||||
Cause,
|
Cause,
|
||||||
CriticalityDiagnostics,
|
CriticalityDiagnostics,
|
||||||
|
E2nodeComponentConfiguration,
|
||||||
|
E2nodeComponentConfigurationAck,
|
||||||
|
E2nodeComponentID,
|
||||||
|
E2nodeComponentInterfaceType,
|
||||||
GlobalE2node-ID,
|
GlobalE2node-ID,
|
||||||
GlobalRIC-ID,
|
GlobalRIC-ID,
|
||||||
RANfunctionDefinition,
|
RANfunctionDefinition,
|
||||||
RANfunctionID,
|
RANfunctionID,
|
||||||
|
RANfunctionOID,
|
||||||
RANfunctionRevision,
|
RANfunctionRevision,
|
||||||
RICactionDefinition,
|
RICactionDefinition,
|
||||||
RICactionID,
|
RICactionID,
|
||||||
|
@ -35,7 +40,6 @@ RICcontrolAckRequest,
|
||||||
RICcontrolHeader,
|
RICcontrolHeader,
|
||||||
RICcontrolMessage,
|
RICcontrolMessage,
|
||||||
RICcontrolOutcome,
|
RICcontrolOutcome,
|
||||||
RICcontrolStatus,
|
|
||||||
RICeventTriggerDefinition,
|
RICeventTriggerDefinition,
|
||||||
RICindicationHeader,
|
RICindicationHeader,
|
||||||
RICindicationMessage,
|
RICindicationMessage,
|
||||||
|
@ -43,7 +47,10 @@ RICindicationSN,
|
||||||
RICindicationType,
|
RICindicationType,
|
||||||
RICrequestID,
|
RICrequestID,
|
||||||
RICsubsequentAction,
|
RICsubsequentAction,
|
||||||
TimeToWait
|
TimeToWait,
|
||||||
|
TNLinformation,
|
||||||
|
TNLusage,
|
||||||
|
TransactionID
|
||||||
FROM E2AP-IEs
|
FROM E2AP-IEs
|
||||||
|
|
||||||
ProtocolIE-Container{},
|
ProtocolIE-Container{},
|
||||||
|
@ -55,6 +62,29 @@ FROM E2AP-Containers
|
||||||
|
|
||||||
id-Cause,
|
id-Cause,
|
||||||
id-CriticalityDiagnostics,
|
id-CriticalityDiagnostics,
|
||||||
|
id-E2connectionSetup,
|
||||||
|
id-E2connectionSetupFailed,
|
||||||
|
id-E2connectionSetupFailed-Item,
|
||||||
|
id-E2connectionFailed-Item,
|
||||||
|
id-E2connectionUpdate-Item,
|
||||||
|
id-E2connectionUpdateAdd,
|
||||||
|
id-E2connectionUpdateModify,
|
||||||
|
id-E2connectionUpdateRemove,
|
||||||
|
id-E2connectionUpdateRemove-Item,
|
||||||
|
id-E2nodeComponentConfigAddition,
|
||||||
|
id-E2nodeComponentConfigAddition-Item,
|
||||||
|
id-E2nodeComponentConfigAdditionAck,
|
||||||
|
id-E2nodeComponentConfigAdditionAck-Item,
|
||||||
|
id-E2nodeComponentConfigRemoval,
|
||||||
|
id-E2nodeComponentConfigRemoval-Item,
|
||||||
|
id-E2nodeComponentConfigRemovalAck,
|
||||||
|
id-E2nodeComponentConfigRemovalAck-Item,
|
||||||
|
id-E2nodeComponentConfigUpdate,
|
||||||
|
id-E2nodeComponentConfigUpdate-Item,
|
||||||
|
id-E2nodeComponentConfigUpdateAck,
|
||||||
|
id-E2nodeComponentConfigUpdateAck-Item,
|
||||||
|
id-E2nodeTNLassociationRemoval,
|
||||||
|
id-E2nodeTNLassociationRemoval-Item,
|
||||||
id-GlobalE2node-ID,
|
id-GlobalE2node-ID,
|
||||||
id-GlobalRIC-ID,
|
id-GlobalRIC-ID,
|
||||||
id-RANfunctionID,
|
id-RANfunctionID,
|
||||||
|
@ -77,7 +107,6 @@ id-RICcontrolAckRequest,
|
||||||
id-RICcontrolHeader,
|
id-RICcontrolHeader,
|
||||||
id-RICcontrolMessage,
|
id-RICcontrolMessage,
|
||||||
id-RICcontrolOutcome,
|
id-RICcontrolOutcome,
|
||||||
id-RICcontrolStatus,
|
|
||||||
id-RICindicationHeader,
|
id-RICindicationHeader,
|
||||||
id-RICindicationMessage,
|
id-RICindicationMessage,
|
||||||
id-RICindicationSN,
|
id-RICindicationSN,
|
||||||
|
@ -85,12 +114,20 @@ id-RICindicationType,
|
||||||
id-RICrequestID,
|
id-RICrequestID,
|
||||||
id-RICserviceQuery,
|
id-RICserviceQuery,
|
||||||
id-RICsubscriptionDetails,
|
id-RICsubscriptionDetails,
|
||||||
|
id-RICsubscriptionToBeRemoved,
|
||||||
|
id-RICsubscription-withCause-Item,
|
||||||
id-TimeToWait,
|
id-TimeToWait,
|
||||||
|
id-TNLinformation,
|
||||||
|
id-TransactionID,
|
||||||
|
|
||||||
|
maxofE2nodeComponents,
|
||||||
maxofRANfunctionID,
|
maxofRANfunctionID,
|
||||||
maxofRICactionID
|
maxofRICactionID,
|
||||||
|
maxofRICrequestID,
|
||||||
|
maxofTNLA
|
||||||
FROM E2AP-Constants;
|
FROM E2AP-Constants;
|
||||||
|
|
||||||
|
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
--
|
--
|
||||||
-- MESSAGES FOR NEAR-RT RIC FUNCTIONAL PROCEDURES
|
-- MESSAGES FOR NEAR-RT RIC FUNCTIONAL PROCEDURES
|
||||||
|
@ -199,7 +236,7 @@ protocolIEs ProtocolIE-Container {{RICsubscriptionFailure-IEs}},
|
||||||
RICsubscriptionFailure-IEs E2AP-PROTOCOL-IES ::= {
|
RICsubscriptionFailure-IEs E2AP-PROTOCOL-IES ::= {
|
||||||
{ ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory }|
|
{ ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory }|
|
||||||
{ ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory }|
|
{ ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory }|
|
||||||
{ ID id-RICactions-NotAdmitted CRITICALITY reject TYPE RICaction-NotAdmitted-List PRESENCE mandatory }|
|
{ ID id-Cause CRITICALITY reject TYPE Cause PRESENCE mandatory }|
|
||||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
@ -258,6 +295,41 @@ RICsubscriptionDeleteFailure-IEs E2AP-PROTOCOL-IES ::= {
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
|
||||||
|
-- **************************************************************
|
||||||
|
--
|
||||||
|
-- RIC Subscription Delete Required Elementary Procedure
|
||||||
|
--
|
||||||
|
-- **************************************************************
|
||||||
|
-- **************************************************************
|
||||||
|
--
|
||||||
|
-- RIC SUBSCRIPTION DELETE REQUIRED
|
||||||
|
--
|
||||||
|
-- **************************************************************
|
||||||
|
|
||||||
|
RICsubscriptionDeleteRequired ::= SEQUENCE {
|
||||||
|
protocolIEs ProtocolIE-Container {{RICsubscriptionDeleteRequired-IEs}},
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
RICsubscriptionDeleteRequired-IEs E2AP-PROTOCOL-IES ::= {
|
||||||
|
{ ID id-RICsubscriptionToBeRemoved CRITICALITY ignore TYPE RICsubscription-List-withCause PRESENCE mandatory },
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
RICsubscription-List-withCause ::= SEQUENCE (SIZE(1..maxofRICrequestID)) OF ProtocolIE-SingleContainer { {RICsubscription-withCause-ItemIEs} }
|
||||||
|
|
||||||
|
RICsubscription-withCause-ItemIEs E2AP-PROTOCOL-IES ::= {
|
||||||
|
{ ID id-RICsubscription-withCause-Item CRITICALITY ignore TYPE RICsubscription-withCause-Item PRESENCE mandatory },
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
RICsubscription-withCause-Item ::= SEQUENCE {
|
||||||
|
ricRequestID RICrequestID,
|
||||||
|
ranFunctionID RANfunctionID,
|
||||||
|
cause Cause,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
--
|
--
|
||||||
-- RIC Indication Elementary Procedure
|
-- RIC Indication Elementary Procedure
|
||||||
|
@ -323,7 +395,6 @@ RICcontrolAcknowledge-IEs E2AP-PROTOCOL-IES ::= {
|
||||||
{ ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory }|
|
{ ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE mandatory }|
|
||||||
{ ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory }|
|
{ ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE mandatory }|
|
||||||
{ ID id-RICcallProcessID CRITICALITY reject TYPE RICcallProcessID PRESENCE optional }|
|
{ ID id-RICcallProcessID CRITICALITY reject TYPE RICcallProcessID PRESENCE optional }|
|
||||||
{ ID id-RICcontrolStatus CRITICALITY reject TYPE RICcontrolStatus PRESENCE mandatory } |
|
|
||||||
{ ID id-RICcontrolOutcome CRITICALITY reject TYPE RICcontrolOutcome PRESENCE optional },
|
{ ID id-RICcontrolOutcome CRITICALITY reject TYPE RICcontrolOutcome PRESENCE optional },
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
@ -368,6 +439,7 @@ protocolIEs ProtocolIE-Container {{ErrorIndication-IEs}},
|
||||||
}
|
}
|
||||||
|
|
||||||
ErrorIndication-IEs E2AP-PROTOCOL-IES ::= {
|
ErrorIndication-IEs E2AP-PROTOCOL-IES ::= {
|
||||||
|
{ ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE optional }|
|
||||||
{ ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE optional }|
|
{ ID id-RICrequestID CRITICALITY reject TYPE RICrequestID PRESENCE optional }|
|
||||||
{ ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE optional }|
|
{ ID id-RANfunctionID CRITICALITY reject TYPE RANfunctionID PRESENCE optional }|
|
||||||
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional }|
|
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional }|
|
||||||
|
@ -392,8 +464,10 @@ protocolIEs ProtocolIE-Container { {E2setupRequestIEs} },
|
||||||
}
|
}
|
||||||
|
|
||||||
E2setupRequestIEs E2AP-PROTOCOL-IES ::= {
|
E2setupRequestIEs E2AP-PROTOCOL-IES ::= {
|
||||||
|
{ ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
|
||||||
{ ID id-GlobalE2node-ID CRITICALITY reject TYPE GlobalE2node-ID PRESENCE mandatory }|
|
{ ID id-GlobalE2node-ID CRITICALITY reject TYPE GlobalE2node-ID PRESENCE mandatory }|
|
||||||
{ ID id-RANfunctionsAdded CRITICALITY reject TYPE RANfunctions-List PRESENCE optional },
|
{ ID id-RANfunctionsAdded CRITICALITY reject TYPE RANfunctions-List PRESENCE mandatory }|
|
||||||
|
{ ID id-E2nodeComponentConfigAddition CRITICALITY reject TYPE E2nodeComponentConfigAddition-List PRESENCE mandatory },
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -409,9 +483,11 @@ protocolIEs ProtocolIE-Container { {E2setupResponseIEs} },
|
||||||
}
|
}
|
||||||
|
|
||||||
E2setupResponseIEs E2AP-PROTOCOL-IES ::= {
|
E2setupResponseIEs E2AP-PROTOCOL-IES ::= {
|
||||||
|
{ ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
|
||||||
{ ID id-GlobalRIC-ID CRITICALITY reject TYPE GlobalRIC-ID PRESENCE mandatory }|
|
{ ID id-GlobalRIC-ID CRITICALITY reject TYPE GlobalRIC-ID PRESENCE mandatory }|
|
||||||
{ ID id-RANfunctionsAccepted CRITICALITY reject TYPE RANfunctionsID-List PRESENCE optional }|
|
{ ID id-RANfunctionsAccepted CRITICALITY reject TYPE RANfunctionsID-List PRESENCE optional }|
|
||||||
{ ID id-RANfunctionsRejected CRITICALITY reject TYPE RANfunctionsIDcause-List PRESENCE optional },
|
{ ID id-RANfunctionsRejected CRITICALITY reject TYPE RANfunctionsIDcause-List PRESENCE optional }|
|
||||||
|
{ ID id-E2nodeComponentConfigAdditionAck CRITICALITY reject TYPE E2nodeComponentConfigAdditionAck-List PRESENCE mandatory },
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -427,6 +503,263 @@ protocolIEs ProtocolIE-Container { {E2setupFailureIEs} },
|
||||||
}
|
}
|
||||||
|
|
||||||
E2setupFailureIEs E2AP-PROTOCOL-IES ::= {
|
E2setupFailureIEs E2AP-PROTOCOL-IES ::= {
|
||||||
|
{ ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
|
||||||
|
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
|
||||||
|
{ ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
|
||||||
|
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
|
||||||
|
{ ID id-TNLinformation CRITICALITY ignore TYPE TNLinformation PRESENCE optional },
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
-- **************************************************************
|
||||||
|
--
|
||||||
|
-- E2 Connection Update Elementary Procedure
|
||||||
|
--
|
||||||
|
-- **************************************************************
|
||||||
|
-- **************************************************************
|
||||||
|
--
|
||||||
|
-- E2 CONNECTION UPDATE
|
||||||
|
--
|
||||||
|
-- **************************************************************
|
||||||
|
E2connectionUpdate ::= SEQUENCE {
|
||||||
|
protocolIEs ProtocolIE-Container {{E2connectionUpdate-IEs}},
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2connectionUpdate-IEs E2AP-PROTOCOL-IES ::= {
|
||||||
|
{ ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
|
||||||
|
{ ID id-E2connectionUpdateAdd CRITICALITY reject TYPE E2connectionUpdate-List PRESENCE optional }|
|
||||||
|
{ ID id-E2connectionUpdateRemove CRITICALITY reject TYPE E2connectionUpdateRemove-List PRESENCE optional }|
|
||||||
|
{ ID id-E2connectionUpdateModify CRITICALITY reject TYPE E2connectionUpdate-List PRESENCE optional },
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2connectionUpdate-List ::= SEQUENCE (SIZE(1..maxofTNLA)) OF ProtocolIE-SingleContainer { {E2connectionUpdate-ItemIEs} }
|
||||||
|
|
||||||
|
E2connectionUpdate-ItemIEs E2AP-PROTOCOL-IES ::= {
|
||||||
|
{ ID id-E2connectionUpdate-Item CRITICALITY ignore TYPE E2connectionUpdate-Item PRESENCE mandatory },
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2connectionUpdate-Item ::= SEQUENCE {
|
||||||
|
tnlInformation TNLinformation,
|
||||||
|
tnlUsage TNLusage,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2connectionUpdateRemove-List ::= SEQUENCE (SIZE(1..maxofTNLA)) OF ProtocolIE-SingleContainer { {E2connectionUpdateRemove-ItemIEs} }
|
||||||
|
|
||||||
|
E2connectionUpdateRemove-ItemIEs E2AP-PROTOCOL-IES ::= {
|
||||||
|
{ ID id-E2connectionUpdateRemove-Item CRITICALITY ignore TYPE E2connectionUpdateRemove-Item PRESENCE mandatory },
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2connectionUpdateRemove-Item ::= SEQUENCE {
|
||||||
|
tnlInformation TNLinformation,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- **************************************************************
|
||||||
|
--
|
||||||
|
-- E2 CONNECTION UPDATE ACKNOWLEDGE
|
||||||
|
--
|
||||||
|
-- **************************************************************
|
||||||
|
E2connectionUpdateAcknowledge ::= SEQUENCE {
|
||||||
|
protocolIEs ProtocolIE-Container {{E2connectionUpdateAck-IEs}},
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2connectionUpdateAck-IEs E2AP-PROTOCOL-IES ::= {
|
||||||
|
{ ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
|
||||||
|
{ ID id-E2connectionSetup CRITICALITY reject TYPE E2connectionUpdate-List PRESENCE optional }|
|
||||||
|
{ ID id-E2connectionSetupFailed CRITICALITY reject TYPE E2connectionSetupFailed-List PRESENCE optional },
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2connectionSetupFailed-List ::= SEQUENCE (SIZE(1..maxofTNLA)) OF ProtocolIE-SingleContainer { {E2connectionSetupFailed-ItemIEs} }
|
||||||
|
|
||||||
|
E2connectionSetupFailed-ItemIEs E2AP-PROTOCOL-IES ::= {
|
||||||
|
{ ID id-E2connectionSetupFailed-Item CRITICALITY ignore TYPE E2connectionSetupFailed-Item PRESENCE mandatory },
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2connectionSetupFailed-Item ::= SEQUENCE {
|
||||||
|
tnlInformation TNLinformation,
|
||||||
|
cause Cause,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
-- **************************************************************
|
||||||
|
--
|
||||||
|
-- E2 CONNECTION UPDATE FAILURE
|
||||||
|
--
|
||||||
|
-- **************************************************************
|
||||||
|
E2connectionUpdateFailure ::= SEQUENCE {
|
||||||
|
protocolIEs ProtocolIE-Container {{E2connectionUpdateFailure-IEs}},
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2connectionUpdateFailure-IEs E2AP-PROTOCOL-IES ::= {
|
||||||
|
{ ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
|
||||||
|
{ ID id-Cause CRITICALITY reject TYPE Cause PRESENCE optional }|
|
||||||
|
{ ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
|
||||||
|
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
-- **************************************************************
|
||||||
|
--
|
||||||
|
-- E2 Node Configuration Update Elementary Procedure
|
||||||
|
--
|
||||||
|
-- **************************************************************
|
||||||
|
-- **************************************************************
|
||||||
|
--
|
||||||
|
-- E2 NODE CONFIGURATION UPDATE
|
||||||
|
--
|
||||||
|
-- **************************************************************
|
||||||
|
E2nodeConfigurationUpdate ::= SEQUENCE {
|
||||||
|
protocolIEs ProtocolIE-Container {{E2nodeConfigurationUpdate-IEs}},
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2nodeConfigurationUpdate-IEs E2AP-PROTOCOL-IES ::= {
|
||||||
|
{ ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
|
||||||
|
{ ID id-GlobalE2node-ID CRITICALITY reject TYPE GlobalE2node-ID PRESENCE optional }|
|
||||||
|
{ ID id-E2nodeComponentConfigAddition CRITICALITY reject TYPE E2nodeComponentConfigAddition-List PRESENCE optional }|
|
||||||
|
{ ID id-E2nodeComponentConfigUpdate CRITICALITY reject TYPE E2nodeComponentConfigUpdate-List PRESENCE optional }|
|
||||||
|
{ ID id-E2nodeComponentConfigRemoval CRITICALITY reject TYPE E2nodeComponentConfigRemoval-List PRESENCE optional }|
|
||||||
|
{ ID id-E2nodeTNLassociationRemoval CRITICALITY reject TYPE E2nodeTNLassociationRemoval-List PRESENCE optional },
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2nodeComponentConfigAddition-List ::= SEQUENCE (SIZE(1..maxofE2nodeComponents)) OF ProtocolIE-SingleContainer { {E2nodeComponentConfigAddition-ItemIEs} }
|
||||||
|
|
||||||
|
E2nodeComponentConfigAddition-ItemIEs E2AP-PROTOCOL-IES ::= {
|
||||||
|
{ ID id-E2nodeComponentConfigAddition-Item CRITICALITY reject TYPE E2nodeComponentConfigAddition-Item PRESENCE mandatory },
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2nodeComponentConfigAddition-Item ::= SEQUENCE {
|
||||||
|
e2nodeComponentInterfaceType E2nodeComponentInterfaceType,
|
||||||
|
e2nodeComponentID E2nodeComponentID,
|
||||||
|
e2nodeComponentConfiguration E2nodeComponentConfiguration,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2nodeComponentConfigUpdate-List ::= SEQUENCE (SIZE(1..maxofE2nodeComponents)) OF ProtocolIE-SingleContainer { {E2nodeComponentConfigUpdate-ItemIEs} }
|
||||||
|
|
||||||
|
E2nodeComponentConfigUpdate-ItemIEs E2AP-PROTOCOL-IES ::= {
|
||||||
|
{ ID id-E2nodeComponentConfigUpdate-Item CRITICALITY reject TYPE E2nodeComponentConfigUpdate-Item PRESENCE mandatory },
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2nodeComponentConfigUpdate-Item ::= SEQUENCE {
|
||||||
|
e2nodeComponentInterfaceType E2nodeComponentInterfaceType,
|
||||||
|
e2nodeComponentID E2nodeComponentID,
|
||||||
|
e2nodeComponentConfiguration E2nodeComponentConfiguration,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2nodeComponentConfigRemoval-List ::= SEQUENCE (SIZE(1..maxofE2nodeComponents)) OF ProtocolIE-SingleContainer { {E2nodeComponentConfigRemoval-ItemIEs} }
|
||||||
|
|
||||||
|
E2nodeComponentConfigRemoval-ItemIEs E2AP-PROTOCOL-IES ::= {
|
||||||
|
{ ID id-E2nodeComponentConfigRemoval-Item CRITICALITY reject TYPE E2nodeComponentConfigRemoval-Item PRESENCE mandatory },
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2nodeComponentConfigRemoval-Item ::= SEQUENCE {
|
||||||
|
e2nodeComponentInterfaceType E2nodeComponentInterfaceType,
|
||||||
|
e2nodeComponentID E2nodeComponentID,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2nodeTNLassociationRemoval-List ::= SEQUENCE (SIZE(1..maxofTNLA)) OF ProtocolIE-SingleContainer { {E2nodeTNLassociationRemoval-ItemIEs} }
|
||||||
|
|
||||||
|
E2nodeTNLassociationRemoval-ItemIEs E2AP-PROTOCOL-IES ::= {
|
||||||
|
{ ID id-E2nodeTNLassociationRemoval-Item CRITICALITY reject TYPE E2nodeTNLassociationRemoval-Item PRESENCE mandatory },
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2nodeTNLassociationRemoval-Item ::= SEQUENCE {
|
||||||
|
tnlInformation TNLinformation,
|
||||||
|
tnlInformationRIC TNLinformation,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
-- **************************************************************
|
||||||
|
--
|
||||||
|
-- E2 NODE CONFIGURATION UPDATE ACKNOWLEDGE
|
||||||
|
--
|
||||||
|
-- **************************************************************
|
||||||
|
E2nodeConfigurationUpdateAcknowledge ::= SEQUENCE {
|
||||||
|
protocolIEs ProtocolIE-Container {{E2nodeConfigurationUpdateAcknowledge-IEs}},
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2nodeConfigurationUpdateAcknowledge-IEs E2AP-PROTOCOL-IES ::= {
|
||||||
|
{ ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
|
||||||
|
{ ID id-E2nodeComponentConfigAdditionAck CRITICALITY reject TYPE E2nodeComponentConfigAdditionAck-List PRESENCE optional }|
|
||||||
|
{ ID id-E2nodeComponentConfigUpdateAck CRITICALITY reject TYPE E2nodeComponentConfigUpdateAck-List PRESENCE optional }|
|
||||||
|
{ ID id-E2nodeComponentConfigRemovalAck CRITICALITY reject TYPE E2nodeComponentConfigRemovalAck-List PRESENCE optional },
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2nodeComponentConfigAdditionAck-List ::= SEQUENCE (SIZE(1..maxofE2nodeComponents)) OF ProtocolIE-SingleContainer { {E2nodeComponentConfigAdditionAck-ItemIEs} }
|
||||||
|
|
||||||
|
E2nodeComponentConfigAdditionAck-ItemIEs E2AP-PROTOCOL-IES ::= {
|
||||||
|
{ ID id-E2nodeComponentConfigAdditionAck-Item CRITICALITY reject TYPE E2nodeComponentConfigAdditionAck-Item PRESENCE mandatory },
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2nodeComponentConfigAdditionAck-Item ::= SEQUENCE {
|
||||||
|
e2nodeComponentInterfaceType E2nodeComponentInterfaceType,
|
||||||
|
e2nodeComponentID E2nodeComponentID,
|
||||||
|
e2nodeComponentConfigurationAck E2nodeComponentConfigurationAck,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2nodeComponentConfigUpdateAck-List ::= SEQUENCE (SIZE(1..maxofE2nodeComponents)) OF ProtocolIE-SingleContainer { {E2nodeComponentConfigUpdateAck-ItemIEs} }
|
||||||
|
|
||||||
|
E2nodeComponentConfigUpdateAck-ItemIEs E2AP-PROTOCOL-IES ::= {
|
||||||
|
{ ID id-E2nodeComponentConfigUpdateAck-Item CRITICALITY reject TYPE E2nodeComponentConfigUpdateAck-Item PRESENCE mandatory },
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2nodeComponentConfigUpdateAck-Item ::= SEQUENCE {
|
||||||
|
e2nodeComponentInterfaceType E2nodeComponentInterfaceType,
|
||||||
|
e2nodeComponentID E2nodeComponentID,
|
||||||
|
e2nodeComponentConfigurationAck E2nodeComponentConfigurationAck,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2nodeComponentConfigRemovalAck-List ::= SEQUENCE (SIZE(1..maxofE2nodeComponents)) OF ProtocolIE-SingleContainer { {E2nodeComponentConfigRemovalAck-ItemIEs} }
|
||||||
|
|
||||||
|
E2nodeComponentConfigRemovalAck-ItemIEs E2AP-PROTOCOL-IES ::= {
|
||||||
|
{ ID id-E2nodeComponentConfigRemovalAck-Item CRITICALITY reject TYPE E2nodeComponentConfigRemovalAck-Item PRESENCE mandatory },
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2nodeComponentConfigRemovalAck-Item ::= SEQUENCE {
|
||||||
|
e2nodeComponentInterfaceType E2nodeComponentInterfaceType,
|
||||||
|
e2nodeComponentID E2nodeComponentID,
|
||||||
|
e2nodeComponentConfigurationAck E2nodeComponentConfigurationAck,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
-- **************************************************************
|
||||||
|
--
|
||||||
|
-- E2 NODE CONFIGURATION UPDATE FAILURE
|
||||||
|
--
|
||||||
|
-- **************************************************************
|
||||||
|
E2nodeConfigurationUpdateFailure ::= SEQUENCE {
|
||||||
|
protocolIEs ProtocolIE-Container {{E2nodeConfigurationUpdateFailure-IEs}},
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2nodeConfigurationUpdateFailure-IEs E2AP-PROTOCOL-IES ::= {
|
||||||
|
{ ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
|
||||||
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
|
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
|
||||||
{ ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
|
{ ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
|
||||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
||||||
|
@ -451,6 +784,7 @@ protocolIEs ProtocolIE-Container { {ResetRequestIEs} },
|
||||||
}
|
}
|
||||||
|
|
||||||
ResetRequestIEs E2AP-PROTOCOL-IES ::= {
|
ResetRequestIEs E2AP-PROTOCOL-IES ::= {
|
||||||
|
{ ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
|
||||||
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
|
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
@ -467,6 +801,7 @@ protocolIEs ProtocolIE-Container { {ResetResponseIEs} },
|
||||||
}
|
}
|
||||||
|
|
||||||
ResetResponseIEs E2AP-PROTOCOL-IES ::= {
|
ResetResponseIEs E2AP-PROTOCOL-IES ::= {
|
||||||
|
{ ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
|
||||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
@ -487,15 +822,14 @@ protocolIEs ProtocolIE-Container {{RICserviceUpdate-IEs}},
|
||||||
}
|
}
|
||||||
|
|
||||||
RICserviceUpdate-IEs E2AP-PROTOCOL-IES ::= {
|
RICserviceUpdate-IEs E2AP-PROTOCOL-IES ::= {
|
||||||
|
{ ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
|
||||||
{ ID id-RANfunctionsAdded CRITICALITY reject TYPE RANfunctions-List PRESENCE optional }|
|
{ ID id-RANfunctionsAdded CRITICALITY reject TYPE RANfunctions-List PRESENCE optional }|
|
||||||
{ ID id-RANfunctionsModified CRITICALITY reject TYPE RANfunctions-List PRESENCE optional }|
|
{ ID id-RANfunctionsModified CRITICALITY reject TYPE RANfunctions-List PRESENCE optional }|
|
||||||
{ ID id-RANfunctionsDeleted CRITICALITY reject TYPE RANfunctionsID-List PRESENCE optional },
|
{ ID id-RANfunctionsDeleted CRITICALITY reject TYPE RANfunctionsID-List PRESENCE optional },
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
|
||||||
RANfunctions-List ::= SEQUENCE (SIZE(0..maxofRANfunctionID)) OF ProtocolIE-SingleContainer { {RANfunction-ItemIEs} }
|
RANfunctions-List ::= SEQUENCE (SIZE(1..maxofRANfunctionID)) OF ProtocolIE-SingleContainer { {RANfunction-ItemIEs} }
|
||||||
-- TODO (dodgy). also note that NGAP doesn't do this...
|
|
||||||
--RANfunctions-List ::= SEQUENCE (SIZE(0..maxofRANfunctionID)) OF RANfunction-ItemIEs
|
|
||||||
|
|
||||||
RANfunction-ItemIEs E2AP-PROTOCOL-IES ::= {
|
RANfunction-ItemIEs E2AP-PROTOCOL-IES ::= {
|
||||||
{ ID id-RANfunction-Item CRITICALITY ignore TYPE RANfunction-Item PRESENCE mandatory },
|
{ ID id-RANfunction-Item CRITICALITY ignore TYPE RANfunction-Item PRESENCE mandatory },
|
||||||
|
@ -507,10 +841,11 @@ RANfunction-Item ::= SEQUENCE {
|
||||||
ranFunctionID RANfunctionID,
|
ranFunctionID RANfunctionID,
|
||||||
ranFunctionDefinition RANfunctionDefinition,
|
ranFunctionDefinition RANfunctionDefinition,
|
||||||
ranFunctionRevision RANfunctionRevision,
|
ranFunctionRevision RANfunctionRevision,
|
||||||
|
ranFunctionOID RANfunctionOID,
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
|
||||||
RANfunctionsID-List ::= SEQUENCE (SIZE(0..maxofRANfunctionID)) OF ProtocolIE-SingleContainer{{RANfunctionID-ItemIEs}}
|
RANfunctionsID-List ::= SEQUENCE (SIZE(1..maxofRANfunctionID)) OF ProtocolIE-SingleContainer{{RANfunctionID-ItemIEs}}
|
||||||
|
|
||||||
RANfunctionID-ItemIEs E2AP-PROTOCOL-IES ::= {
|
RANfunctionID-ItemIEs E2AP-PROTOCOL-IES ::= {
|
||||||
{ ID id-RANfunctionID-Item CRITICALITY ignore TYPE RANfunctionID-Item PRESENCE mandatory },
|
{ ID id-RANfunctionID-Item CRITICALITY ignore TYPE RANfunctionID-Item PRESENCE mandatory },
|
||||||
|
@ -534,12 +869,13 @@ protocolIEs ProtocolIE-Container {{RICserviceUpdateAcknowledge-IEs}},
|
||||||
}
|
}
|
||||||
|
|
||||||
RICserviceUpdateAcknowledge-IEs E2AP-PROTOCOL-IES ::= {
|
RICserviceUpdateAcknowledge-IEs E2AP-PROTOCOL-IES ::= {
|
||||||
{ ID id-RANfunctionsAccepted CRITICALITY reject TYPE RANfunctionsID-List PRESENCE optional }|
|
{ ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
|
||||||
|
{ ID id-RANfunctionsAccepted CRITICALITY reject TYPE RANfunctionsID-List PRESENCE mandatory }|
|
||||||
{ ID id-RANfunctionsRejected CRITICALITY reject TYPE RANfunctionsIDcause-List PRESENCE optional },
|
{ ID id-RANfunctionsRejected CRITICALITY reject TYPE RANfunctionsIDcause-List PRESENCE optional },
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
|
||||||
RANfunctionsIDcause-List ::= SEQUENCE (SIZE(0..maxofRANfunctionID)) OF ProtocolIE-SingleContainer { {RANfunctionIDcause-ItemIEs} }
|
RANfunctionsIDcause-List ::= SEQUENCE (SIZE(1..maxofRANfunctionID)) OF ProtocolIE-SingleContainer { {RANfunctionIDcause-ItemIEs} }
|
||||||
|
|
||||||
RANfunctionIDcause-ItemIEs E2AP-PROTOCOL-IES ::= {
|
RANfunctionIDcause-ItemIEs E2AP-PROTOCOL-IES ::= {
|
||||||
{ ID id-RANfunctionIEcause-Item CRITICALITY ignore TYPE RANfunctionIDcause-Item PRESENCE mandatory },
|
{ ID id-RANfunctionIEcause-Item CRITICALITY ignore TYPE RANfunctionIDcause-Item PRESENCE mandatory },
|
||||||
|
@ -565,7 +901,8 @@ protocolIEs ProtocolIE-Container {{RICserviceUpdateFailure-IEs}},
|
||||||
}
|
}
|
||||||
|
|
||||||
RICserviceUpdateFailure-IEs E2AP-PROTOCOL-IES ::= {
|
RICserviceUpdateFailure-IEs E2AP-PROTOCOL-IES ::= {
|
||||||
{ ID id-RANfunctionsRejected CRITICALITY ignore TYPE RANfunctionsIDcause-List PRESENCE optional }|
|
{ ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
|
||||||
|
{ ID id-Cause CRITICALITY reject TYPE Cause PRESENCE mandatory }|
|
||||||
{ ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
|
{ ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
|
||||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
||||||
...
|
...
|
||||||
|
@ -587,9 +924,66 @@ protocolIEs ProtocolIE-Container {{RICserviceQuery-IEs}},
|
||||||
}
|
}
|
||||||
|
|
||||||
RICserviceQuery-IEs E2AP-PROTOCOL-IES ::= {
|
RICserviceQuery-IEs E2AP-PROTOCOL-IES ::= {
|
||||||
|
{ ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
|
||||||
{ ID id-RANfunctionsAccepted CRITICALITY reject TYPE RANfunctionsID-List PRESENCE optional },
|
{ ID id-RANfunctionsAccepted CRITICALITY reject TYPE RANfunctionsID-List PRESENCE optional },
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
|
||||||
|
-- **************************************************************
|
||||||
|
--
|
||||||
|
-- E2 Removal Elementary Procedure
|
||||||
|
--
|
||||||
|
-- **************************************************************
|
||||||
|
-- **************************************************************
|
||||||
|
--
|
||||||
|
-- E2 REMOVAL REQUEST
|
||||||
|
--
|
||||||
|
-- **************************************************************
|
||||||
|
|
||||||
|
E2RemovalRequest ::= SEQUENCE {
|
||||||
|
protocolIEs ProtocolIE-Container { {E2RemovalRequestIEs} },
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2RemovalRequestIEs E2AP-PROTOCOL-IES ::= {
|
||||||
|
{ ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory },
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
-- **************************************************************
|
||||||
|
--
|
||||||
|
-- E2 REMOVAL RESPONSE
|
||||||
|
--
|
||||||
|
-- **************************************************************
|
||||||
|
|
||||||
|
E2RemovalResponse ::= SEQUENCE {
|
||||||
|
protocolIEs ProtocolIE-Container { {E2RemovalResponseIEs} },
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2RemovalResponseIEs E2AP-PROTOCOL-IES ::= {
|
||||||
|
{ ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
|
||||||
|
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
-- **************************************************************
|
||||||
|
--
|
||||||
|
-- E2 REMOVAL FAILURE
|
||||||
|
--
|
||||||
|
-- **************************************************************
|
||||||
|
|
||||||
|
E2RemovalFailure ::= SEQUENCE {
|
||||||
|
protocolIEs ProtocolIE-Container { {E2RemovalFailureIEs} },
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2RemovalFailureIEs E2AP-PROTOCOL-IES ::= {
|
||||||
|
{ ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
|
||||||
|
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
|
||||||
|
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
END
|
END
|
||||||
-- ASN1STOP
|
-- ASN1STOP
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
|
|
||||||
E2AP-PDU-Descriptions {
|
E2AP-PDU-Descriptions {
|
||||||
iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) 53148 e2(1) version1 (1) e2ap(1) e2ap-PDU-Descriptions (0) }
|
iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) 53148 e2(1) version2 (2) e2ap(1) e2ap-PDU-Descriptions (0) }
|
||||||
|
|
||||||
DEFINITIONS AUTOMATIC TAGS ::=
|
DEFINITIONS AUTOMATIC TAGS ::=
|
||||||
|
|
||||||
|
@ -25,6 +25,12 @@ FROM E2AP-CommonDataTypes
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
E2connectionUpdate,
|
||||||
|
E2connectionUpdateAcknowledge,
|
||||||
|
E2connectionUpdateFailure,
|
||||||
|
E2nodeConfigurationUpdate,
|
||||||
|
E2nodeConfigurationUpdateAcknowledge,
|
||||||
|
E2nodeConfigurationUpdateFailure,
|
||||||
E2setupFailure,
|
E2setupFailure,
|
||||||
E2setupRequest,
|
E2setupRequest,
|
||||||
E2setupResponse,
|
E2setupResponse,
|
||||||
|
@ -44,9 +50,15 @@ RICsubscriptionRequest,
|
||||||
RICsubscriptionResponse,
|
RICsubscriptionResponse,
|
||||||
RICsubscriptionDeleteFailure,
|
RICsubscriptionDeleteFailure,
|
||||||
RICsubscriptionDeleteRequest,
|
RICsubscriptionDeleteRequest,
|
||||||
RICsubscriptionDeleteResponse
|
RICsubscriptionDeleteResponse,
|
||||||
|
RICsubscriptionDeleteRequired,
|
||||||
|
E2RemovalFailure,
|
||||||
|
E2RemovalRequest,
|
||||||
|
E2RemovalResponse
|
||||||
FROM E2AP-PDU-Contents
|
FROM E2AP-PDU-Contents
|
||||||
|
|
||||||
|
id-E2connectionUpdate,
|
||||||
|
id-E2nodeConfigurationUpdate,
|
||||||
id-E2setup,
|
id-E2setup,
|
||||||
id-ErrorIndication,
|
id-ErrorIndication,
|
||||||
id-Reset,
|
id-Reset,
|
||||||
|
@ -55,7 +67,9 @@ id-RICindication,
|
||||||
id-RICserviceQuery,
|
id-RICserviceQuery,
|
||||||
id-RICserviceUpdate,
|
id-RICserviceUpdate,
|
||||||
id-RICsubscription,
|
id-RICsubscription,
|
||||||
id-RICsubscriptionDelete
|
id-RICsubscriptionDelete,
|
||||||
|
id-RICsubscriptionDeleteRequired,
|
||||||
|
id-E2removal
|
||||||
FROM E2AP-Constants;
|
FROM E2AP-Constants;
|
||||||
|
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
|
@ -129,14 +143,18 @@ ricSubscriptionDelete |
|
||||||
ricServiceUpdate |
|
ricServiceUpdate |
|
||||||
ricControl |
|
ricControl |
|
||||||
e2setup |
|
e2setup |
|
||||||
reset,
|
e2nodeConfigurationUpdate |
|
||||||
|
e2connectionUpdate |
|
||||||
|
reset |
|
||||||
|
e2removal,
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
|
||||||
E2AP-ELEMENTARY-PROCEDURES-CLASS-2 E2AP-ELEMENTARY-PROCEDURE ::= {
|
E2AP-ELEMENTARY-PROCEDURES-CLASS-2 E2AP-ELEMENTARY-PROCEDURE ::= {
|
||||||
ricIndication |
|
ricIndication |
|
||||||
ricServiceQuery |
|
ricServiceQuery |
|
||||||
errorIndication,
|
errorIndication |
|
||||||
|
ricSubscriptionDeleteRequired,
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -146,6 +164,32 @@ errorIndication,
|
||||||
--
|
--
|
||||||
-- **************************************************************
|
-- **************************************************************
|
||||||
|
|
||||||
|
-- New for v01.01
|
||||||
|
e2connectionUpdate E2AP-ELEMENTARY-PROCEDURE ::= {
|
||||||
|
INITIATING MESSAGE E2connectionUpdate
|
||||||
|
SUCCESSFUL OUTCOME E2connectionUpdateAcknowledge
|
||||||
|
UNSUCCESSFUL OUTCOME E2connectionUpdateFailure
|
||||||
|
PROCEDURE CODE id-E2connectionUpdate
|
||||||
|
CRITICALITY reject
|
||||||
|
}
|
||||||
|
|
||||||
|
e2nodeConfigurationUpdate E2AP-ELEMENTARY-PROCEDURE ::= {
|
||||||
|
INITIATING MESSAGE E2nodeConfigurationUpdate
|
||||||
|
SUCCESSFUL OUTCOME E2nodeConfigurationUpdateAcknowledge
|
||||||
|
UNSUCCESSFUL OUTCOME E2nodeConfigurationUpdateFailure
|
||||||
|
PROCEDURE CODE id-E2nodeConfigurationUpdate
|
||||||
|
CRITICALITY reject
|
||||||
|
}
|
||||||
|
|
||||||
|
-- New for v02.01
|
||||||
|
e2removal E2AP-ELEMENTARY-PROCEDURE ::= {
|
||||||
|
INITIATING MESSAGE E2RemovalRequest
|
||||||
|
SUCCESSFUL OUTCOME E2RemovalResponse
|
||||||
|
UNSUCCESSFUL OUTCOME E2RemovalFailure
|
||||||
|
PROCEDURE CODE id-E2removal
|
||||||
|
CRITICALITY reject
|
||||||
|
}
|
||||||
|
|
||||||
e2setup E2AP-ELEMENTARY-PROCEDURE ::= {
|
e2setup E2AP-ELEMENTARY-PROCEDURE ::= {
|
||||||
INITIATING MESSAGE E2setupRequest
|
INITIATING MESSAGE E2setupRequest
|
||||||
SUCCESSFUL OUTCOME E2setupResponse
|
SUCCESSFUL OUTCOME E2setupResponse
|
||||||
|
@ -211,6 +255,11 @@ PROCEDURE CODE id-RICsubscriptionDelete
|
||||||
CRITICALITY reject
|
CRITICALITY reject
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ricSubscriptionDeleteRequired E2AP-ELEMENTARY-PROCEDURE ::= {
|
||||||
|
INITIATING MESSAGE RICsubscriptionDeleteRequired
|
||||||
|
PROCEDURE CODE id-RICsubscriptionDeleteRequired
|
||||||
|
CRITICALITY ignore
|
||||||
|
}
|
||||||
|
|
||||||
END
|
END
|
||||||
-- ASN1STOP
|
-- ASN1STOP
|
||||||
|
|
|
@ -17,18 +17,26 @@ ProtocolIE-ID
|
||||||
#.PDU
|
#.PDU
|
||||||
E2AP-PDU
|
E2AP-PDU
|
||||||
|
|
||||||
E2SM-KPM-ActionDefinition
|
|
||||||
E2SM-KPM-RANfunction-Description
|
|
||||||
E2SM-KPM-EventTriggerDefinition
|
E2SM-KPM-EventTriggerDefinition
|
||||||
|
E2SM-KPM-ActionDefinition
|
||||||
E2SM-KPM-IndicationHeader
|
E2SM-KPM-IndicationHeader
|
||||||
RANcallProcess-ID-string
|
E2SM-KPM-IndicationMessage
|
||||||
E2SM-KPM-IndicationMessage-Format1
|
E2SM-KPM-RANfunction-Description
|
||||||
|
#E2SM-KPM-CallProcessID (no such function)
|
||||||
|
|
||||||
|
E2SM-RC-EventTrigger
|
||||||
|
E2SM-RC-ActionDefinition
|
||||||
|
E2SM-RC-RANFunctionDefinition
|
||||||
|
E2SM-RC-IndicationMessage
|
||||||
|
E2SM-RC-IndicationHeader
|
||||||
|
E2SM-RC-CallProcessID
|
||||||
|
|
||||||
|
|
||||||
#.MAKE_ENUM
|
#.MAKE_ENUM
|
||||||
ProcedureCode
|
ProcedureCode
|
||||||
ProtocolIE-ID
|
ProtocolIE-ID
|
||||||
|
|
||||||
|
|
||||||
#.NO_EMIT
|
#.NO_EMIT
|
||||||
|
|
||||||
#.OMIT_ASSIGNMENT
|
#.OMIT_ASSIGNMENT
|
||||||
|
@ -38,20 +46,46 @@ ProtocolIE-ContainerList
|
||||||
ProtocolIE-ContainerPair
|
ProtocolIE-ContainerPair
|
||||||
ProtocolIE-ContainerPairList
|
ProtocolIE-ContainerPairList
|
||||||
Presence
|
Presence
|
||||||
|
E2SM-RC-ControlOutcome
|
||||||
# KPM items. Don't know which E2AP OCTET STRING is supposed to use this...
|
E2SM-RC-ControlOutcome-Format3
|
||||||
GNB-DU-Name
|
E2SM-RC-ControlOutcome-Format2
|
||||||
|
E2SM-RC-ControlOutcome-Format1
|
||||||
E2SM-KPM-IndicationMessage
|
E2SM-RC-ControlOutcome-Format3-Item
|
||||||
|
E2SM-RC-ControlOutcome-Format2-Style-Item
|
||||||
|
E2SM-RC-ControlOutcome-Format1-Item
|
||||||
|
E2SM-RC-ControlMessage
|
||||||
|
E2SM-RC-ControlHeader
|
||||||
|
FreqBandNrItem
|
||||||
|
S-NSSAI
|
||||||
|
IndexToRFSP
|
||||||
|
EN-GNB-ID
|
||||||
|
SST
|
||||||
|
SD
|
||||||
|
SubscriberProfileIDforRFP
|
||||||
|
QoSID
|
||||||
|
GroupID
|
||||||
|
CoreCPID
|
||||||
|
E2RemovalFailure
|
||||||
|
E2RemovalResponse
|
||||||
|
E2RemovalRequest
|
||||||
|
E2SM-RC-ControlOutcome-Format2-ControlOutcome-Item
|
||||||
|
E2SM-RC-ControlMessage-Format2
|
||||||
|
E2SM-RC-ControlHeader-Format2
|
||||||
|
E2SM-RC-ControlHeader-Format1
|
||||||
|
E2SM-RC-ControlOutcome-Format2-RANP-Item
|
||||||
|
E2SM-RC-ControlMessage-Format2-Style-Item
|
||||||
|
E2SM-RC-ControlMessage-Format2-ControlAction-Item
|
||||||
|
E2SM-RC-ControlMessage-Format1
|
||||||
|
E2SM-RC-ControlMessage-Format1-Item
|
||||||
|
|
||||||
#.END
|
#.END
|
||||||
|
|
||||||
|
|
||||||
#.TYPE_ATTR
|
#.TYPE_ATTR
|
||||||
E2SM-KPM-IndicationMessage DISPLAY=BASE_DEC STRINGS=VALS(e2ap_E2SM_KPM_IndicationMessage_vals)
|
#E2SM-KPM-IndicationMessage DISPLAY=BASE_DEC STRINGS=VALS(e2ap_E2SM_KPM_IndicationMessage_vals)
|
||||||
|
|
||||||
#.TYPE_ATTR
|
#.TYPE_ATTR
|
||||||
E2SM-KPM-IndicationHeader DISPLAY=BASE_DEC STRINGS=VALS(e2ap_E2SM_KPM_IndicationHeader_vals)
|
#E2SM-KPM-IndicationHeader DISPLAY=BASE_DEC STRINGS=VALS(e2ap_E2SM_KPM_IndicationHeader_vals)
|
||||||
|
|
||||||
#.TYPE_RENAME
|
#.TYPE_RENAME
|
||||||
|
|
||||||
|
@ -97,7 +131,6 @@ SuccessfulOutcome/value successfulOutcome_value
|
||||||
# FN_PARS ProtocolIE-FieldPair/secondValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldPairSecondValue
|
# FN_PARS ProtocolIE-FieldPair/secondValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldPairSecondValue
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#.FN_BODY ProcedureCode VAL_PTR = &e2ap_data->procedure_code
|
#.FN_BODY ProcedureCode VAL_PTR = &e2ap_data->procedure_code
|
||||||
struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
|
struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
|
||||||
%(DEFAULT_BODY)s
|
%(DEFAULT_BODY)s
|
||||||
|
@ -215,38 +248,73 @@ SuccessfulOutcome/value successfulOutcome_value
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Calling in-depth KPM definitions of E2AP OCTET STRING fields.
|
# ################################################################################
|
||||||
|
# Calling in-depth definitions of E2AP OCTET STRING fields.
|
||||||
#.FN_BODY RICactionDefinition VAL_PTR = ¶meter_tvb
|
|
||||||
tvbuff_t *parameter_tvb;
|
|
||||||
%(DEFAULT_BODY)s
|
|
||||||
dissect_E2SM_KPM_ActionDefinition_PDU(parameter_tvb, actx->pinfo, tree, NULL);
|
|
||||||
|
|
||||||
#.FN_BODY RICeventTriggerDefinition VAL_PTR = ¶meter_tvb
|
|
||||||
tvbuff_t *parameter_tvb;
|
|
||||||
%(DEFAULT_BODY)s
|
|
||||||
dissect_E2SM_KPM_EventTriggerDefinition_PDU(parameter_tvb, actx->pinfo, tree, NULL);
|
|
||||||
|
|
||||||
#.FN_BODY RICindicationHeader VAL_PTR = ¶meter_tvb
|
|
||||||
tvbuff_t *parameter_tvb;
|
|
||||||
%(DEFAULT_BODY)s
|
|
||||||
dissect_E2SM_KPM_IndicationHeader_PDU(parameter_tvb, actx->pinfo, tree, NULL);
|
|
||||||
|
|
||||||
#.FN_BODY RICindicationMessage VAL_PTR = ¶meter_tvb
|
|
||||||
tvbuff_t *parameter_tvb;
|
|
||||||
%(DEFAULT_BODY)s
|
|
||||||
/* It is believed that this is an error in the ASN in V1 of the spec... */
|
|
||||||
dissect_E2SM_KPM_IndicationMessage_Format1_PDU(parameter_tvb, actx->pinfo, tree, NULL);
|
|
||||||
|
|
||||||
#.FN_BODY RANfunctionDefinition VAL_PTR = ¶meter_tvb
|
#.FN_BODY RANfunctionDefinition VAL_PTR = ¶meter_tvb
|
||||||
tvbuff_t *parameter_tvb;
|
tvbuff_t *parameter_tvb;
|
||||||
%(DEFAULT_BODY)s
|
%(DEFAULT_BODY)s
|
||||||
dissect_E2SM_KPM_RANfunction_Description_PDU(parameter_tvb, actx->pinfo, tree, NULL);
|
/* Looking for shortName string near beginning of tvb */
|
||||||
|
gboolean found = FALSE;
|
||||||
|
for (int n=KPM_RANFUNCTIONS; n<MAX_RANFUNCTIONS; n++) {
|
||||||
|
guint32 tvb_len = tvb_captured_length(parameter_tvb);
|
||||||
|
guint name_len = (gint)strlen(g_ran_functioname_table[n].name);
|
||||||
|
for (int m=0; (m<30) && ((m+name_len+1))<tvb_len; m++) {
|
||||||
|
if (strcmp(tvb_get_ptr(parameter_tvb, m, name_len),
|
||||||
|
g_ran_functioname_table[n].name) == 0) {
|
||||||
|
/* Call the set's dissector */
|
||||||
|
g_ran_functioname_table[n].functions.ran_function_definition_dissector(parameter_tvb, actx->pinfo, tree, NULL);
|
||||||
|
found = TRUE;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!found) {
|
||||||
|
proto_item *ti = proto_tree_add_item(tree, hf_e2ap_ran_function_name_not_recognised, tvb, 0, 0, ENC_NA);
|
||||||
|
expert_add_info_format(actx->pinfo, ti, &ei_e2ap_ran_function_names_no_match,
|
||||||
|
"ShortName does not match any known Service Model");
|
||||||
|
}
|
||||||
|
|
||||||
|
#.FN_BODY RICeventTriggerDefinition VAL_PTR = ¶meter_tvb
|
||||||
|
tvbuff_t *parameter_tvb;
|
||||||
|
%(DEFAULT_BODY)s
|
||||||
|
ran_function_pointers_t* functions = lookup_ranfunction_pointers(actx->pinfo, tree, parameter_tvb);
|
||||||
|
if (functions && functions->ran_event_trigger_dissector) {
|
||||||
|
functions->ran_event_trigger_dissector(parameter_tvb, actx->pinfo, tree, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
#.FN_BODY RICactionDefinition VAL_PTR = ¶meter_tvb
|
||||||
|
tvbuff_t *parameter_tvb;
|
||||||
|
%(DEFAULT_BODY)s
|
||||||
|
ran_function_pointers_t* functions = lookup_ranfunction_pointers(actx->pinfo, tree, parameter_tvb);
|
||||||
|
if (functions && functions->ran_action_definition_dissector) {
|
||||||
|
functions->ran_action_definition_dissector(parameter_tvb, actx->pinfo, tree, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
#.FN_BODY RICindicationHeader VAL_PTR = ¶meter_tvb
|
||||||
|
tvbuff_t *parameter_tvb;
|
||||||
|
%(DEFAULT_BODY)s
|
||||||
|
ran_function_pointers_t* functions = lookup_ranfunction_pointers(actx->pinfo, tree, parameter_tvb);
|
||||||
|
if (functions && functions->ran_indication_header_dissector) {
|
||||||
|
functions->ran_indication_header_dissector(parameter_tvb, actx->pinfo, tree, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
#.FN_BODY RICindicationMessage VAL_PTR = ¶meter_tvb
|
||||||
|
tvbuff_t *parameter_tvb;
|
||||||
|
%(DEFAULT_BODY)s
|
||||||
|
ran_function_pointers_t* functions = lookup_ranfunction_pointers(actx->pinfo, tree, parameter_tvb);
|
||||||
|
if (functions && functions->ran_indication_message_dissector) {
|
||||||
|
functions->ran_indication_message_dissector(parameter_tvb, actx->pinfo, tree, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
#.FN_BODY RICcallProcessID VAL_PTR = ¶meter_tvb
|
#.FN_BODY RICcallProcessID VAL_PTR = ¶meter_tvb
|
||||||
tvbuff_t *parameter_tvb;
|
tvbuff_t *parameter_tvb;
|
||||||
%(DEFAULT_BODY)s
|
%(DEFAULT_BODY)s
|
||||||
dissect_RANcallProcess_ID_string_PDU(parameter_tvb, actx->pinfo, tree, NULL);
|
ran_function_pointers_t* functions = lookup_ranfunction_pointers(actx->pinfo, tree, parameter_tvb);
|
||||||
|
if (functions && functions->ran_callprocessid_dissector) {
|
||||||
|
functions->ran_callprocessid_dissector(parameter_tvb, actx->pinfo, tree, NULL);
|
||||||
|
}
|
||||||
|
# ################################################################################
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -262,8 +330,9 @@ id-RICserviceQuery ProcedureCode
|
||||||
id-RICserviceUpdate ProcedureCode
|
id-RICserviceUpdate ProcedureCode
|
||||||
id-RICsubscription ProcedureCode
|
id-RICsubscription ProcedureCode
|
||||||
id-RICsubscriptionDelete ProcedureCode
|
id-RICsubscriptionDelete ProcedureCode
|
||||||
#id-E2nodeConfigurationUpdate ProcedureCode
|
id-E2nodeConfigurationUpdate ProcedureCode
|
||||||
#id-E2connectionUpdate ProcedureCode
|
id-E2connectionUpdate ProcedureCode
|
||||||
|
id-RICsubscriptionDeleteRequired ProcedureCode
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -278,7 +347,6 @@ id-RANfunctionIEcause-Item ProtocolIE-ID
|
||||||
id-RANfunction-Item ProtocolIE-ID
|
id-RANfunction-Item ProtocolIE-ID
|
||||||
id-RANfunctionsAccepted ProtocolIE-ID
|
id-RANfunctionsAccepted ProtocolIE-ID
|
||||||
id-RANfunctionsAdded ProtocolIE-ID
|
id-RANfunctionsAdded ProtocolIE-ID
|
||||||
|
|
||||||
id-RANfunctionsDeleted ProtocolIE-ID
|
id-RANfunctionsDeleted ProtocolIE-ID
|
||||||
id-RANfunctionsModified ProtocolIE-ID
|
id-RANfunctionsModified ProtocolIE-ID
|
||||||
id-RANfunctionsRejected ProtocolIE-ID
|
id-RANfunctionsRejected ProtocolIE-ID
|
||||||
|
@ -289,36 +357,48 @@ id-RICactions-Admitted ProtocolIE-ID
|
||||||
id-RICactions-NotAdmitted ProtocolIE-ID
|
id-RICactions-NotAdmitted ProtocolIE-ID
|
||||||
id-RICaction-ToBeSetup-Item ProtocolIE-ID
|
id-RICaction-ToBeSetup-Item ProtocolIE-ID
|
||||||
id-RICcallProcessID ProtocolIE-ID
|
id-RICcallProcessID ProtocolIE-ID
|
||||||
|
|
||||||
id-RICcontrolAckRequest ProtocolIE-ID
|
id-RICcontrolAckRequest ProtocolIE-ID
|
||||||
id-RICcontrolHeader ProtocolIE-ID
|
id-RICcontrolHeader ProtocolIE-ID
|
||||||
id-RICcontrolMessage ProtocolIE-ID
|
id-RICcontrolMessage ProtocolIE-ID
|
||||||
id-RICcontrolStatus ProtocolIE-ID
|
#id-RICcontrolStatus ProtocolIE-ID
|
||||||
id-RICindicationHeader ProtocolIE-ID
|
id-RICindicationHeader ProtocolIE-ID
|
||||||
id-RICindicationMessage ProtocolIE-ID
|
id-RICindicationMessage ProtocolIE-ID
|
||||||
id-RICindicationSN ProtocolIE-ID
|
id-RICindicationSN ProtocolIE-ID
|
||||||
id-RICindicationType ProtocolIE-ID
|
id-RICindicationType ProtocolIE-ID
|
||||||
id-RICrequestID ProtocolIE-ID
|
id-RICrequestID ProtocolIE-ID
|
||||||
id-RICsubscriptionDetails ProtocolIE-ID
|
id-RICsubscriptionDetails ProtocolIE-ID
|
||||||
|
|
||||||
id-TimeToWait ProtocolIE-ID
|
id-TimeToWait ProtocolIE-ID
|
||||||
id-RICcontrolOutcome ProtocolIE-ID
|
id-RICcontrolOutcome ProtocolIE-ID
|
||||||
#id-E2nodeComponentConfigUpdate ProtocolIE-ID
|
|
||||||
#id-E2nodeComponentConfigUpdate-Item ProtocolIE-ID
|
|
||||||
#id-E2nodeComponentConfigUpdateAck ProtocolIE-ID
|
|
||||||
#id-E2nodeComponentConfigUpdateAck-Item ProtocolIE-ID
|
|
||||||
#id-E2connectionSetup ProtocolIE-ID
|
|
||||||
#id-E2connectionSetupFailed ProtocolIE-ID
|
|
||||||
|
|
||||||
#id-E2connectionSetupFailed-Item ProtocolIE-ID
|
id-E2nodeComponentConfigUpdate ProtocolIE-ID
|
||||||
#id-E2connectionFailed-Item ProtocolIE-ID
|
id-E2nodeComponentConfigUpdate-Item ProtocolIE-ID
|
||||||
#id-E2connectionUpdate-Item ProtocolIE-ID
|
id-E2nodeComponentConfigUpdateAck ProtocolIE-ID
|
||||||
#id-E2connectionUpdateAdd ProtocolIE-ID
|
id-E2nodeComponentConfigUpdateAck-Item ProtocolIE-ID
|
||||||
#id-E2connectionUpdateModify ProtocolIE-ID
|
id-E2connectionSetup ProtocolIE-ID
|
||||||
#id-E2connectionUpdateRemove ProtocolIE-ID
|
id-E2connectionSetupFailed ProtocolIE-ID
|
||||||
#id-E2connectionUpdateRemove-Item ProtocolIE-ID
|
id-E2connectionSetupFailed-Item ProtocolIE-ID
|
||||||
#id-TNLinformation ProtocolIE-ID
|
id-E2connectionFailed-Item ProtocolIE-ID
|
||||||
#id-TransactionID ProtocolIE-ID
|
id-E2connectionUpdate-Item ProtocolIE-ID
|
||||||
|
id-E2connectionUpdateAdd ProtocolIE-ID
|
||||||
|
id-E2connectionUpdateModify ProtocolIE-ID
|
||||||
|
id-E2connectionUpdateRemove ProtocolIE-ID
|
||||||
|
id-E2connectionUpdateRemove-Item ProtocolIE-ID
|
||||||
|
id-TNLinformation ProtocolIE-ID
|
||||||
|
id-TransactionID ProtocolIE-ID
|
||||||
|
|
||||||
|
id-E2nodeComponentConfigAddition ProtocolIE-ID
|
||||||
|
id-E2nodeComponentConfigAddition-Item ProtocolIE-ID
|
||||||
|
id-E2nodeComponentConfigAdditionAck ProtocolIE-ID
|
||||||
|
id-E2nodeComponentConfigAdditionAck-Item ProtocolIE-ID
|
||||||
|
id-E2nodeComponentConfigRemoval ProtocolIE-ID
|
||||||
|
id-E2nodeComponentConfigRemoval-Item ProtocolIE-ID
|
||||||
|
id-E2nodeComponentConfigRemovalAck ProtocolIE-ID
|
||||||
|
id-E2nodeComponentConfigRemovalAck-Item ProtocolIE-ID
|
||||||
|
id-E2nodeTNLassociationRemoval ProtocolIE-ID
|
||||||
|
id-E2nodeTNLassociationRemoval-Item ProtocolIE-ID
|
||||||
|
id-RICsubscriptionToBeRemoved ProtocolIE-ID
|
||||||
|
id-RICsubscription-withCause-Item ProtocolIE-ID
|
||||||
|
|
||||||
#.END
|
#.END
|
||||||
|
|
||||||
|
|
||||||
|
@ -328,7 +408,6 @@ id-RICcontrolOutcome ProtocolIE-ID
|
||||||
|
|
||||||
Cause N e2ap.ies id-Cause
|
Cause N e2ap.ies id-Cause
|
||||||
CriticalityDiagnostics N e2ap.ies id-CriticalityDiagnostics
|
CriticalityDiagnostics N e2ap.ies id-CriticalityDiagnostics
|
||||||
|
|
||||||
GlobalE2node-ID N e2ap.ies id-GlobalE2node-ID
|
GlobalE2node-ID N e2ap.ies id-GlobalE2node-ID
|
||||||
GlobalRIC-ID N e2ap.ies id-GlobalRIC-ID
|
GlobalRIC-ID N e2ap.ies id-GlobalRIC-ID
|
||||||
RANfunctionID N e2ap.ies id-RANfunctionID
|
RANfunctionID N e2ap.ies id-RANfunctionID
|
||||||
|
@ -351,7 +430,7 @@ RICcontrolAckRequest N e2ap.ies id-RICcontrolAckRequest
|
||||||
RICcontrolHeader N e2ap.ies id-RICcontrolHeader
|
RICcontrolHeader N e2ap.ies id-RICcontrolHeader
|
||||||
RICcontrolMessage N e2ap.ies id-RICcontrolMessage
|
RICcontrolMessage N e2ap.ies id-RICcontrolMessage
|
||||||
RICcontrolOutcome N e2ap.ies id-RICcontrolOutcome
|
RICcontrolOutcome N e2ap.ies id-RICcontrolOutcome
|
||||||
RICcontrolStatus N e2ap.ies id-RICcontrolStatus
|
#RICcontrolStatus N e2ap.ies id-RICcontrolStatus
|
||||||
RICindicationHeader N e2ap.ies id-RICindicationHeader
|
RICindicationHeader N e2ap.ies id-RICindicationHeader
|
||||||
RICindicationMessage N e2ap.ies id-RICindicationMessage
|
RICindicationMessage N e2ap.ies id-RICindicationMessage
|
||||||
RICindicationSN N e2ap.ies id-RICindicationSN
|
RICindicationSN N e2ap.ies id-RICindicationSN
|
||||||
|
@ -359,60 +438,50 @@ RICindicationType N e2ap.ies id-RICindicationType
|
||||||
RICrequestID N e2ap.ies id-RICrequestID
|
RICrequestID N e2ap.ies id-RICrequestID
|
||||||
RICsubscriptionDetails N e2ap.ies id-RICsubscriptionDetails
|
RICsubscriptionDetails N e2ap.ies id-RICsubscriptionDetails
|
||||||
TimeToWait N e2ap.ies id-TimeToWait
|
TimeToWait N e2ap.ies id-TimeToWait
|
||||||
#TNLinformation N e2ap.ies id-TNLinformation
|
|
||||||
#TransactionID N e2ap.ies id-TransactionID
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# TODO: V2?
|
|
||||||
#Cause N e2ap.ies id-Cause
|
|
||||||
#CriticalityDiagnostics N e2ap.ies id-CriticalityDiagnostics
|
|
||||||
#E2nodeComponentConfigUpdate N e2ap.ies id-E2nodeComponentConfigUpdate
|
|
||||||
#E2nodeComponentConfigUpdateAck N e2ap.ies id-E2nodeComponentConfigUpdateAck
|
|
||||||
#E2nodeComponentID N e2ap.ies id-E2nodeComponentID
|
|
||||||
#E2nodeComponentType N e2ap.ies id-E2nodeComponentType
|
|
||||||
#GlobalE2node-ID N e2ap.ies id-GlobalE2node-ID
|
|
||||||
#GlobalRIC-ID N e2ap.ies id-GlobalRIC-ID
|
|
||||||
#RANfunctionDefinition N e2ap.ies id-RANfunctionDefinition
|
|
||||||
#RANfunctionID N e2ap.ies id-RANfunctionID
|
|
||||||
#RANfunctionOID N e2ap.ies id-RANfunctionOID
|
|
||||||
#RANfunctionRevision N e2ap.ies id-RANfunctionRevision
|
|
||||||
#RICactionDefinition N e2ap.ies id-RICactionDefinition
|
|
||||||
#RICactionID N e2ap.ies id-RICactionID
|
|
||||||
#RICactionType N e2ap.ies id-RICactionType
|
|
||||||
#RICcallProcessID N e2ap.ies id-RICcallProcessID
|
|
||||||
#RICcontrolAckRequest N e2ap.ies id-RICcontrolAckRequest
|
|
||||||
#RICcontrolHeader N e2ap.ies id-RICcontrolHeader
|
|
||||||
#RICcontrolMessage N e2ap.ies id-RICcontrolMessage
|
|
||||||
#RICcontrolOutcome N e2ap.ies id-RICcontrolOutcome
|
#RICcontrolOutcome N e2ap.ies id-RICcontrolOutcome
|
||||||
#RICcontrolStatus N e2ap.ies id-RICcontrolStatus
|
|
||||||
#RICeventTriggerDefinition N e2ap.ies id-RICeventTriggerDefinition
|
E2nodeComponentConfigUpdate-List N e2ap.ies id-E2nodeComponentConfigUpdate
|
||||||
#RICindicationHeader N e2ap.ies id-RICindicationHeader
|
E2nodeComponentConfigUpdate-Item N e2ap.ies id-E2nodeComponentConfigUpdate-Item
|
||||||
#RICindicationMessage N e2ap.ies id-RICindicationMessage
|
E2nodeComponentConfigUpdateAck-List N e2ap.ies id-E2nodeComponentConfigUpdateAck
|
||||||
#RICindicationSN N e2ap.ies id-RICindicationSN
|
E2nodeComponentConfigUpdateAck-Item N e2ap.ies id-E2nodeComponentConfigUpdateAck-Item
|
||||||
#RICindicationType N e2ap.ies id-RICindicationType
|
E2connectionUpdate-List N e2ap.ies id-E2connectionSetup
|
||||||
#RICrequestID N e2ap.ies id-RICrequestID
|
E2connectionSetupFailed-List N e2ap.ies id-E2connectionSetupFailed
|
||||||
#RICsubsequentAction N e2ap.ies id-RICsubsequentAction
|
E2connectionSetupFailed-Item N e2ap.ies id-E2connectionSetupFailed-Item
|
||||||
#TimeToWait N e2ap.ies id-TimeToWait
|
#E2connectionSetupFailed-Item N e2ap.ies id-E2connectionFailed-Item
|
||||||
#TNLinformation N e2ap.ies id-TNLinformation
|
E2connectionUpdate-Item N e2ap.ies id-E2connectionUpdate-Item
|
||||||
#TNLusage N e2ap.ies id-TNLusage
|
E2connectionUpdate-List N e2ap.ies id-E2connectionUpdateAdd
|
||||||
#TransactionID N e2ap.ies id-TransactionID
|
E2connectionUpdate-List N e2ap.ies id-E2connectionUpdateModify
|
||||||
|
E2connectionUpdateRemove-List N e2ap.ies id-E2connectionUpdateRemove
|
||||||
|
E2connectionUpdateRemove-Item N e2ap.ies id-E2connectionUpdateRemove-Item
|
||||||
|
TNLinformation N e2ap.ies id-TNLinformation
|
||||||
|
TransactionID N e2ap.ies id-TransactionID
|
||||||
|
|
||||||
|
E2nodeComponentConfigAddition-List N e2ap.ies id-E2nodeComponentConfigAddition
|
||||||
|
E2nodeComponentConfigAddition-Item N e2ap.ies id-E2nodeComponentConfigAddition-Item
|
||||||
|
E2nodeComponentConfigAdditionAck-List N e2ap.ies id-E2nodeComponentConfigAdditionAck
|
||||||
|
E2nodeComponentConfigAdditionAck-Item N e2ap.ies id-E2nodeComponentConfigAdditionAck-Item
|
||||||
|
E2nodeComponentConfigRemoval-List N e2ap.ies id-E2nodeComponentConfigRemoval
|
||||||
|
E2nodeComponentConfigRemoval-Item N e2ap.ies id-E2nodeComponentConfigRemoval-Item
|
||||||
|
E2nodeComponentConfigRemovalAck-List N e2ap.ies id-E2nodeComponentConfigRemovalAck
|
||||||
|
E2nodeComponentConfigRemovalAck-Item N e2ap.ies id-E2nodeComponentConfigRemovalAck-Item
|
||||||
|
E2nodeTNLassociationRemoval-List N e2ap.ies id-E2nodeTNLassociationRemoval
|
||||||
|
E2nodeTNLassociationRemoval-Item N e2ap.ies id-E2nodeTNLassociationRemoval-Item
|
||||||
|
RICsubscription-List-withCause N e2ap.ies id-RICsubscriptionToBeRemoved
|
||||||
|
RICsubscription-withCause-Item N e2ap.ies id-RICsubscription-withCause-Item
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#e2ap-PROTOCOL-EXTENSION
|
#e2ap-PROTOCOL-EXTENSION
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#E2AP-ELEMENTARY-PROCEDURE
|
#E2AP-ELEMENTARY-PROCEDURE
|
||||||
|
|
||||||
#E2connectionUpdate N e2ap.proc.imsg id-E2connectionUpdate
|
E2connectionUpdate N e2ap.proc.imsg id-E2connectionUpdate
|
||||||
#E2connectionUpdateAcknowledge N e2ap.proc.sout id-E2connectionUpdate
|
E2connectionUpdateAcknowledge N e2ap.proc.sout id-E2connectionUpdate
|
||||||
#E2connectionUpdateFailure N e2ap.proc.uout id-E2connectionUpdate
|
E2connectionUpdateFailure N e2ap.proc.uout id-E2connectionUpdate
|
||||||
|
|
||||||
#E2nodeConfigurationUpdate N e2ap.proc.imsg id-E2nodeConfigurationUpdate
|
E2nodeConfigurationUpdate N e2ap.proc.imsg id-E2nodeConfigurationUpdate
|
||||||
#E2nodeConfigurationUpdateAcknowledge N e2ap.proc.sout id-E2nodeConfigurationUpdate
|
E2nodeConfigurationUpdateAcknowledge N e2ap.proc.sout id-E2nodeConfigurationUpdate
|
||||||
#E2nodeConfigurationUpdateFailure N e2ap.proc.uout id-E2nodeConfigurationUpdate
|
E2nodeConfigurationUpdateFailure N e2ap.proc.uout id-E2nodeConfigurationUpdate
|
||||||
|
|
||||||
E2setupFailure N e2ap.proc.uout id-E2setup
|
E2setupFailure N e2ap.proc.uout id-E2setup
|
||||||
E2setupRequest N e2ap.proc.imsg id-E2setup
|
E2setupRequest N e2ap.proc.imsg id-E2setup
|
||||||
|
@ -443,6 +512,46 @@ RICsubscriptionDeleteFailure N e2ap.proc.uout id-RICsubscriptionDele
|
||||||
RICsubscriptionDeleteRequest N e2ap.proc.imsg id-RICsubscriptionDelete
|
RICsubscriptionDeleteRequest N e2ap.proc.imsg id-RICsubscriptionDelete
|
||||||
RICsubscriptionDeleteResponse N e2ap.proc.sout id-RICsubscriptionDelete
|
RICsubscriptionDeleteResponse N e2ap.proc.sout id-RICsubscriptionDelete
|
||||||
|
|
||||||
|
RICsubscriptionDeleteRequired N e2ap.proc.sout id-RICsubscriptionDeleteRequired
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#.FN_BODY RANfunctionID VAL_PTR=&value
|
||||||
|
guint32 value;
|
||||||
|
%(DEFAULT_BODY)s
|
||||||
|
/* Store value in packet-private data */
|
||||||
|
struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
|
||||||
|
e2ap_data->ran_function_id = value;
|
||||||
|
|
||||||
|
|
||||||
|
#.FN_BODY RANfunction-Name/ranFunction-ShortName
|
||||||
|
gint start_offset = offset;
|
||||||
|
%(DEFAULT_BODY)s
|
||||||
|
/* TODO: is there a nicer/reliable way to get PrintableString here (VAL_PTR won't get assigned..) */
|
||||||
|
struct e2ap_private_data *e2ap_data = e2ap_get_private_data(actx->pinfo);
|
||||||
|
ran_functionid_table_t *table = get_ran_functionid_table(actx->pinfo);
|
||||||
|
store_ran_function_mapping(actx->pinfo, table, e2ap_data->ran_function_id, tvb_get_ptr(tvb, (start_offset+15)/8, (offset-start_offset)/8));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#.FN_HDR E2connectionUpdate
|
||||||
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E2connectionUpdate");
|
||||||
|
|
||||||
|
#.FN_HDR E2connectionUpdateAcknowledge
|
||||||
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E2connectionUpdateAcknowledge");
|
||||||
|
|
||||||
|
#.FN_HDR E2connectionUpdateFailure
|
||||||
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E2connectionUpdateFailure");
|
||||||
|
|
||||||
|
|
||||||
|
#.FN_HDR E2nodeConfigurationUpdate
|
||||||
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E2nodeConfigurationUpdate");
|
||||||
|
|
||||||
|
#.FN_HDR E2nodeConfigurationUpdateAcknowledge
|
||||||
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E2nodeConfigurationUpdateAcknowledge");
|
||||||
|
|
||||||
|
#.FN_HDR E2nodeConfigurationUpdateFailure
|
||||||
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E2nodeConfigurationUpdateFailure");
|
||||||
|
|
||||||
|
|
||||||
#.FN_HDR E2setupFailure
|
#.FN_HDR E2setupFailure
|
||||||
|
@ -454,26 +563,28 @@ RICsubscriptionDeleteResponse N e2ap.proc.sout id-RICsubscriptionDele
|
||||||
#.FN_HDR E2setupResponse
|
#.FN_HDR E2setupResponse
|
||||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E2setupResponse");
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E2setupResponse");
|
||||||
|
|
||||||
|
|
||||||
#.FN_HDR ErrorIndication
|
#.FN_HDR ErrorIndication
|
||||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ErrorIndication");
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ErrorIndication");
|
||||||
|
|
||||||
|
|
||||||
#.FN_HDR ResetRequest
|
#.FN_HDR ResetRequest
|
||||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetRequest");
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetRequest");
|
||||||
|
|
||||||
#.FN_HDR ResetResponse
|
#.FN_HDR ResetResponse
|
||||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetResponse");
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetResponse");
|
||||||
|
|
||||||
|
|
||||||
#.FN_HDR RICcontrolAcknowledge
|
#.FN_HDR RICcontrolAcknowledge
|
||||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RICcontrolAcknowledge");
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RICcontrolAcknowledge");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#.FN_HDR RICcontrolFailure
|
#.FN_HDR RICcontrolFailure
|
||||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RICcontrolFailure");
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RICcontrolFailure");
|
||||||
|
|
||||||
#.FN_HDR RICcontrolRequest
|
#.FN_HDR RICcontrolRequest
|
||||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RICcontrolRequest");
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RICcontrolRequest");
|
||||||
|
|
||||||
|
|
||||||
#.FN_HDR RICindication
|
#.FN_HDR RICindication
|
||||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RICindication");
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RICindication");
|
||||||
|
|
||||||
|
@ -481,10 +592,10 @@ RICsubscriptionDeleteResponse N e2ap.proc.sout id-RICsubscriptionDele
|
||||||
#.FN_HDR RICserviceQuery
|
#.FN_HDR RICserviceQuery
|
||||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RICserviceQuery");
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RICserviceQuery");
|
||||||
|
|
||||||
|
|
||||||
#.FN_HDR RICserviceUpdate
|
#.FN_HDR RICserviceUpdate
|
||||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RICserviceUpdate");
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RICserviceUpdate");
|
||||||
|
|
||||||
|
|
||||||
#.FN_HDR RICserviceUpdateAcknowledge
|
#.FN_HDR RICserviceUpdateAcknowledge
|
||||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RICserviceUpdateAcknowledge");
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RICserviceUpdateAcknowledge");
|
||||||
|
|
||||||
|
@ -513,10 +624,8 @@ RICsubscriptionDeleteResponse N e2ap.proc.sout id-RICsubscriptionDele
|
||||||
#.FN_HDR RICsubscriptionDeleteResponse
|
#.FN_HDR RICsubscriptionDeleteResponse
|
||||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RICsubscriptionDeleteResponse");
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RICsubscriptionDeleteResponse");
|
||||||
|
|
||||||
|
#.FN_HDR RICsubscriptionDeleteRequired
|
||||||
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RICsubscriptionDeleteRequired");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,426 +0,0 @@
|
||||||
-- ASN1START
|
|
||||||
-- **************************************************************
|
|
||||||
-- E2SM-KPM
|
|
||||||
-- Information Element Definitions
|
|
||||||
--
|
|
||||||
-- **************************************************************
|
|
||||||
|
|
||||||
|
|
||||||
E2SM-KPM-IEs {
|
|
||||||
iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) 53148 e2(1) version1 (1) e2sm(2) e2sm-KPMMON-IEs (2)}
|
|
||||||
|
|
||||||
DEFINITIONS AUTOMATIC TAGS ::=
|
|
||||||
|
|
||||||
BEGIN
|
|
||||||
|
|
||||||
-- **************************************************************
|
|
||||||
-- IEs
|
|
||||||
-- **************************************************************
|
|
||||||
|
|
||||||
-- **************************************************************
|
|
||||||
|
|
||||||
GlobalKPMnode-ID ::= CHOICE{
|
|
||||||
gNB GlobalKPMnode-gNB-ID,
|
|
||||||
en-gNB GlobalKPMnode-en-gNB-ID,
|
|
||||||
ng-eNB GlobalKPMnode-ng-eNB-ID,
|
|
||||||
eNB GlobalKPMnode-eNB-ID,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
-- **************************************************************
|
|
||||||
|
|
||||||
GlobalKPMnode-gNB-ID ::= SEQUENCE{
|
|
||||||
global-gNB-ID GlobalgNB-ID,
|
|
||||||
gNB-CU-UP-ID GNB-CU-UP-ID OPTIONAL,
|
|
||||||
gNB-DU-ID GNB-DU-ID OPTIONAL,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
--GlobalgNB-ID ::= SEQUENCE {
|
|
||||||
-- plmn-id PLMN-Identity,
|
|
||||||
-- gnb-id GNB-ID-Choice,
|
|
||||||
-- ...
|
|
||||||
--}
|
|
||||||
|
|
||||||
-- GNB-CU-UP-ID ::= INTEGER (0..68719476735)
|
|
||||||
-- GNB-DU-ID ::= INTEGER (0..68719476735)
|
|
||||||
|
|
||||||
-- GNB-ID-Choice ::= CHOICE {
|
|
||||||
-- gnb-ID BIT STRING (SIZE(22..32)),
|
|
||||||
-- ...
|
|
||||||
--}
|
|
||||||
|
|
||||||
-- **************************************************************
|
|
||||||
|
|
||||||
GlobalKPMnode-en-gNB-ID ::= SEQUENCE{
|
|
||||||
global-gNB-ID GlobalenGNB-ID,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
--GlobalenGNB-ID ::= SEQUENCE {
|
|
||||||
-- pLMN-Identity PLMN-Identity,
|
|
||||||
-- gNB-ID ENGNB-ID,
|
|
||||||
-- ...
|
|
||||||
--}
|
|
||||||
|
|
||||||
--ENGNB-ID ::= CHOICE {
|
|
||||||
-- gNB-ID BIT STRING (SIZE (22..32)),
|
|
||||||
-- ...
|
|
||||||
--}
|
|
||||||
|
|
||||||
-- **************************************************************
|
|
||||||
|
|
||||||
GlobalKPMnode-ng-eNB-ID ::= SEQUENCE{
|
|
||||||
global-ng-eNB-ID GlobalngeNB-ID,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
--GlobalngeNB-ID ::= SEQUENCE {
|
|
||||||
-- plmn-id PLMN-Identity,
|
|
||||||
-- enb-id ENB-ID-Choice,
|
|
||||||
-- ...
|
|
||||||
--}
|
|
||||||
|
|
||||||
--ENB-ID-Choice ::= CHOICE {
|
|
||||||
-- enb-ID-macro BIT STRING (SIZE(20)),
|
|
||||||
-- enb-ID-shortmacro BIT STRING (SIZE(18)),
|
|
||||||
-- enb-ID-longmacro BIT STRING (SIZE(21)),
|
|
||||||
-- ...
|
|
||||||
--}
|
|
||||||
|
|
||||||
-- **************************************************************
|
|
||||||
|
|
||||||
GlobalKPMnode-eNB-ID ::= SEQUENCE{
|
|
||||||
global-eNB-ID GlobalENB-ID,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
--GlobalENB-ID ::= SEQUENCE {
|
|
||||||
-- pLMN-Identity PLMN-Identity,
|
|
||||||
-- eNB-ID ENB-ID,
|
|
||||||
-- ...
|
|
||||||
--}
|
|
||||||
|
|
||||||
--ENB-ID ::= CHOICE {
|
|
||||||
-- macro-eNB-ID BIT STRING (SIZE (20)),
|
|
||||||
-- home-eNB-ID BIT STRING (SIZE (28)),
|
|
||||||
-- ... ,
|
|
||||||
-- short-Macro-eNB-ID BIT STRING (SIZE(18)),
|
|
||||||
-- long-Macro-eNB-ID BIT STRING (SIZE(21))
|
|
||||||
--}
|
|
||||||
|
|
||||||
|
|
||||||
NRCGI ::= SEQUENCE {
|
|
||||||
pLMN-Identity PLMN-Identity,
|
|
||||||
nRCellIdentity NRCellIdentity
|
|
||||||
}
|
|
||||||
|
|
||||||
--PLMN-Identity ::= OCTET STRING (SIZE(3))
|
|
||||||
|
|
||||||
NRCellIdentity ::= BIT STRING (SIZE(36))
|
|
||||||
|
|
||||||
SNSSAI ::= SEQUENCE {
|
|
||||||
sST OCTET STRING (SIZE(1)),
|
|
||||||
sD OCTET STRING (SIZE(3)) OPTIONAL
|
|
||||||
}
|
|
||||||
|
|
||||||
-- **************************************************************
|
|
||||||
--
|
|
||||||
-- Lists
|
|
||||||
--
|
|
||||||
-- **************************************************************
|
|
||||||
|
|
||||||
maxofMessageProtocolTests INTEGER ::= 15
|
|
||||||
maxofRICstyles INTEGER ::= 63
|
|
||||||
maxnoofQCI INTEGER ::= 256
|
|
||||||
maxnoofQoSFlows INTEGER ::= 64
|
|
||||||
maxnoofSliceItems INTEGER ::= 1024
|
|
||||||
maxnoofContainerListItems INTEGER ::= 3
|
|
||||||
maxCellingNBDU INTEGER ::= 512
|
|
||||||
maxofContainers INTEGER ::= 8
|
|
||||||
maxPLMN INTEGER ::= 12 -- Maximum number of PLMNs broadcast and reported by UE at establisghment
|
|
||||||
|
|
||||||
RIC-Style-Type ::= INTEGER
|
|
||||||
|
|
||||||
RIC-Style-Name ::= PrintableString(SIZE(1..150,...))
|
|
||||||
|
|
||||||
RIC-Format-Type ::= INTEGER
|
|
||||||
|
|
||||||
|
|
||||||
-- **************************************************************
|
|
||||||
-- E2SM-KPM Service model IEs
|
|
||||||
-- **************************************************************
|
|
||||||
|
|
||||||
-- **************************************************************
|
|
||||||
-- Event Trigger Definition OCTET STRING contents
|
|
||||||
-- **************************************************************
|
|
||||||
|
|
||||||
-- E2SM-KPM-EventTriggerDefinition IE
|
|
||||||
E2SM-KPM-EventTriggerDefinition ::= CHOICE{
|
|
||||||
eventDefinition-Format1 E2SM-KPM-EventTriggerDefinition-Format1,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
-- E2SM-KPM-EventTriggerDefinition IE is used for Event Trigger Definition Format 1
|
|
||||||
E2SM-KPM-EventTriggerDefinition-Format1 ::= SEQUENCE{
|
|
||||||
policyTest-List SEQUENCE (SIZE(1..maxofMessageProtocolTests)) OF Trigger-ConditionIE-Item OPTIONAL,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
-- **************************************************************
|
|
||||||
-- Action Definition OCTET STRING contents
|
|
||||||
-- **************************************************************
|
|
||||||
|
|
||||||
-- E2SM-KPM-ActionDefinition IE
|
|
||||||
E2SM-KPM-ActionDefinition ::= SEQUENCE{
|
|
||||||
ric-Style-Type RIC-Style-Type,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
-- **************************************************************
|
|
||||||
-- Indication Header OCTET STRING contents
|
|
||||||
-- **************************************************************
|
|
||||||
|
|
||||||
-- E2SM-KPM-IndicationHeader IE
|
|
||||||
E2SM-KPM-IndicationHeader ::= CHOICE{
|
|
||||||
indicationHeader-Format1 E2SM-KPM-IndicationHeader-Format1,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
-- E2SM-KPM-IndicationHeader Format 1
|
|
||||||
E2SM-KPM-IndicationHeader-Format1 ::= SEQUENCE{
|
|
||||||
id-GlobalKPMnode-ID GlobalKPMnode-ID OPTIONAL,
|
|
||||||
nRCGI NRCGI OPTIONAL,
|
|
||||||
pLMN-Identity PLMN-Identity OPTIONAL,
|
|
||||||
sliceID SNSSAI OPTIONAL,
|
|
||||||
fiveQI INTEGER (0..255) OPTIONAL,
|
|
||||||
qci INTEGER (0..255) OPTIONAL,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
-- **************************************************************
|
|
||||||
-- Indication Message OCTET STRING contents
|
|
||||||
-- **************************************************************
|
|
||||||
|
|
||||||
-- E2SM-KPM-IndicationMessage IE
|
|
||||||
E2SM-KPM-IndicationMessage ::= CHOICE{
|
|
||||||
ric-Style-Type RIC-Style-Type,
|
|
||||||
indicationMessage-Format1 E2SM-KPM-IndicationMessage-Format1,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
-- E2SM-KPM-IndicationMessage-Format 1 IE
|
|
||||||
E2SM-KPM-IndicationMessage-Format1 ::= SEQUENCE{
|
|
||||||
pm-Containers SEQUENCE (SIZE(1..maxCellingNBDU)) OF PM-Containers-List,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
PM-Containers-List ::= SEQUENCE{
|
|
||||||
performanceContainer PF-Container OPTIONAL,
|
|
||||||
theRANContainer RAN-Container OPTIONAL,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
-- ***************************************************************
|
|
||||||
-- RAN Function Description OCTET STRING contents
|
|
||||||
-- ***************************************************************
|
|
||||||
|
|
||||||
-- E2SM-KPM-RANfunction-Description
|
|
||||||
E2SM-KPM-RANfunction-Description ::= SEQUENCE{
|
|
||||||
ranFunction-Name RANfunction-Name,
|
|
||||||
e2SM-KPM-RANfunction-Item SEQUENCE{
|
|
||||||
ric-EventTriggerStyle-List SEQUENCE (SIZE(1..maxofRICstyles)) OF RIC-EventTriggerStyle-List OPTIONAL,
|
|
||||||
ric-ReportStyle-List SEQUENCE (SIZE(1..maxofRICstyles)) OF RIC-ReportStyle-List OPTIONAL,
|
|
||||||
...
|
|
||||||
},
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
-- ***************************************************************
|
|
||||||
-- commmon IEs
|
|
||||||
-- ***************************************************************
|
|
||||||
|
|
||||||
NI-Type ::= ENUMERATED{
|
|
||||||
x2-u,
|
|
||||||
xn-u,
|
|
||||||
f1-u,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
RAN-Container ::= OCTET STRING
|
|
||||||
|
|
||||||
Trigger-ConditionIE-Item ::= SEQUENCE{
|
|
||||||
report-Period-IE RT-Period-IE,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
RT-Period-IE ::= ENUMERATED{ ms10, ms20, ms32, ms40, ms60, ms64, ms70, ms80, ms128, ms160, ms256, ms320, ms512, ms640, ms1024, ms1280, ms2048, ms2560, ms5120, ms10240, ...}
|
|
||||||
|
|
||||||
RANcallProcess-ID-string ::= PrintableString(SIZE(1..150,...))
|
|
||||||
|
|
||||||
RANfunction-Name ::= SEQUENCE{
|
|
||||||
ranFunction-ShortName PrintableString(SIZE(1..150,...)),
|
|
||||||
ranFunction-E2SM-OID PrintableString(SIZE(1..1000,...)),
|
|
||||||
ranFunction-Description PrintableString(SIZE(1..150,...)),
|
|
||||||
ranFunction-Instance INTEGER OPTIONAL,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
RIC-EventTriggerStyle-List ::= SEQUENCE{
|
|
||||||
ric-EventTriggerStyle-Type RIC-Style-Type,
|
|
||||||
ric-EventTriggerStyle-Name RIC-Style-Name,
|
|
||||||
ric-EventTriggerFormat-Type RIC-Format-Type,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
RIC-ReportStyle-List ::= SEQUENCE{
|
|
||||||
ric-ReportStyle-Type RIC-Style-Type,
|
|
||||||
ric-ReportStyle-Name RIC-Style-Name,
|
|
||||||
ric-IndicationHeaderFormat-Type RIC-Format-Type,
|
|
||||||
ric-IndicationMessageFormat-Type RIC-Format-Type,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
PF-Container ::= CHOICE {
|
|
||||||
oDU ODU-PF-Container,
|
|
||||||
oCU-CP OCUCP-PF-Container,
|
|
||||||
oCU-UP OCUUP-PF-Container
|
|
||||||
}
|
|
||||||
|
|
||||||
GNB-CU-CP-Name ::= PrintableString(SIZE(1..150,...))
|
|
||||||
|
|
||||||
GNB-DU-Name ::= PrintableString(SIZE(1..150,...))
|
|
||||||
|
|
||||||
GNB-CU-UP-Name ::= PrintableString(SIZE(1..150,...))
|
|
||||||
|
|
||||||
|
|
||||||
-- **************************************************************
|
|
||||||
-- O-DU Container IEs
|
|
||||||
-- **************************************************************
|
|
||||||
|
|
||||||
|
|
||||||
ODU-PF-Container ::= SEQUENCE{
|
|
||||||
cellResourceReportList SEQUENCE (SIZE(1..maxCellingNBDU)) OF CellResourceReportListItem,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
CellResourceReportListItem ::= SEQUENCE{
|
|
||||||
nRCGI NRCGI,
|
|
||||||
dl-TotalofAvailablePRBs INTEGER (0..273) OPTIONAL,
|
|
||||||
ul-TotalofAvailablePRBs INTEGER (0..273) OPTIONAL,
|
|
||||||
servedPlmnPerCellList SEQUENCE (SIZE(1..maxPLMN)) OF ServedPlmnPerCellListItem,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
ServedPlmnPerCellListItem ::= SEQUENCE{
|
|
||||||
pLMN-Identity PLMN-Identity,
|
|
||||||
du-PM-5GC FGC-DU-PM-Container OPTIONAL,
|
|
||||||
du-PM-EPC EPC-DU-PM-Container OPTIONAL,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
FGC-DU-PM-Container ::= SEQUENCE{
|
|
||||||
slicePerPlmnPerCellList SEQUENCE (SIZE(1..maxnoofSliceItems)) OF SlicePerPlmnPerCellListItem,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
SlicePerPlmnPerCellListItem ::= SEQUENCE{
|
|
||||||
sliceID SNSSAI,
|
|
||||||
fQIPERSlicesPerPlmnPerCellList SEQUENCE (SIZE(1..maxnoofQoSFlows)) OF FQIPERSlicesPerPlmnPerCellListItem,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
FQIPERSlicesPerPlmnPerCellListItem ::= SEQUENCE{
|
|
||||||
fiveQI INTEGER (0..255),
|
|
||||||
dl-PRBUsage INTEGER (0..273) OPTIONAL,
|
|
||||||
ul-PRBUsage INTEGER (0..273) OPTIONAL,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
EPC-DU-PM-Container ::= SEQUENCE{
|
|
||||||
perQCIReportList SEQUENCE (SIZE(1..maxnoofQCI)) OF PerQCIReportListItem,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
PerQCIReportListItem ::= SEQUENCE{
|
|
||||||
qci INTEGER (0..255),
|
|
||||||
dl-PRBUsage INTEGER (0..100) OPTIONAL,
|
|
||||||
ul-PRBUsage INTEGER (0..100) OPTIONAL,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
-- **************************************************************
|
|
||||||
-- O-CUCP Container IEs
|
|
||||||
-- **************************************************************
|
|
||||||
|
|
||||||
|
|
||||||
OCUCP-PF-Container ::= SEQUENCE{
|
|
||||||
gNB-CU-CP-Name GNB-CU-CP-Name OPTIONAL,
|
|
||||||
cu-CP-Resource-Status SEQUENCE {
|
|
||||||
numberOfActive-UEs INTEGER (1..65536, ...) OPTIONAL
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
-- **************************************************************
|
|
||||||
-- O-CU-UP Container IEs
|
|
||||||
-- **************************************************************
|
|
||||||
|
|
||||||
OCUUP-PF-Container ::= SEQUENCE{
|
|
||||||
gNB-CU-UP-Name GNB-CU-UP-Name OPTIONAL,
|
|
||||||
pf-ContainerList SEQUENCE (SIZE(1..maxnoofContainerListItems)) OF PF-ContainerListItem,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
PF-ContainerListItem ::= SEQUENCE{
|
|
||||||
interface-type NI-Type,
|
|
||||||
o-CU-UP-PM-Container CUUPMeasurement-Container,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
CUUPMeasurement-Container ::= SEQUENCE{
|
|
||||||
plmnList SEQUENCE (SIZE(1.. maxPLMN)) OF PlmnID-List,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
PlmnID-List ::= SEQUENCE{
|
|
||||||
pLMN-Identity PLMN-Identity,
|
|
||||||
cu-UP-PM-5GC FGC-CUUP-PM-Format OPTIONAL,
|
|
||||||
cu-UP-PM-EPC EPC-CUUP-PM-Format OPTIONAL,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
FGC-CUUP-PM-Format ::= SEQUENCE{
|
|
||||||
sliceToReportList SEQUENCE (SIZE(1..maxnoofSliceItems)) OF SliceToReportListItem,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
SliceToReportListItem ::= SEQUENCE{
|
|
||||||
sliceID SNSSAI,
|
|
||||||
fQIPERSlicesPerPlmnList SEQUENCE (SIZE(1..maxnoofQoSFlows)) OF FQIPERSlicesPerPlmnListItem,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
FQIPERSlicesPerPlmnListItem ::= SEQUENCE{
|
|
||||||
fiveQI INTEGER (0..255),
|
|
||||||
pDCPBytesDL INTEGER (0..10000000000,...) OPTIONAL,
|
|
||||||
pDCPBytesUL INTEGER (0..10000000000,...) OPTIONAL,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
EPC-CUUP-PM-Format ::= SEQUENCE{
|
|
||||||
perQCIReportList SEQUENCE (SIZE(1..maxnoofQCI)) OF PerQCIReportListItemFormat,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
PerQCIReportListItemFormat ::= SEQUENCE{
|
|
||||||
qci INTEGER (0..255),
|
|
||||||
pDCPBytesDL INTEGER (0..10000000000,...) OPTIONAL,
|
|
||||||
pDCPBytesUL INTEGER (0..10000000000,...) OPTIONAL,
|
|
||||||
...
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
END
|
|
||||||
|
|
||||||
-- ASN1STOP
|
|
|
@ -0,0 +1,389 @@
|
||||||
|
-- ASN1START
|
||||||
|
-- **************************************************************
|
||||||
|
-- E2SM-KPM Information Element Definitions
|
||||||
|
-- **************************************************************
|
||||||
|
|
||||||
|
E2SM-KPM-IEs {
|
||||||
|
iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) oran(53148) e2(1) version2(2) e2sm(2) e2sm-KPMMON-IEs (2)}
|
||||||
|
|
||||||
|
DEFINITIONS AUTOMATIC TAGS ::=
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
-- **************************************************************
|
||||||
|
-- IEs
|
||||||
|
-- **************************************************************
|
||||||
|
|
||||||
|
IMPORTS
|
||||||
|
CGI,
|
||||||
|
FiveQI,
|
||||||
|
PLMNIdentity,
|
||||||
|
QCI,
|
||||||
|
QosFlowIdentifier,
|
||||||
|
RANfunction-Name,
|
||||||
|
RIC-Format-Type,
|
||||||
|
RIC-Style-Name,
|
||||||
|
RIC-Style-Type,
|
||||||
|
-- TODO: removed hyphen
|
||||||
|
-- SNSSAI,
|
||||||
|
UEID
|
||||||
|
FROM E2SM-COMMON-IEs;
|
||||||
|
|
||||||
|
TimeStamp ::= OCTET STRING (SIZE(4))
|
||||||
|
|
||||||
|
GranularityPeriod ::= INTEGER (1.. 4294967295)
|
||||||
|
|
||||||
|
MeasurementType ::= CHOICE {
|
||||||
|
measName MeasurementTypeName,
|
||||||
|
measID MeasurementTypeID,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
-- TODO: (copied from e2sm-kpm-v1.asn)
|
||||||
|
SNSSAI ::= SEQUENCE {
|
||||||
|
sST OCTET STRING (SIZE(1)),
|
||||||
|
sD OCTET STRING (SIZE(3)) OPTIONAL
|
||||||
|
}
|
||||||
|
|
||||||
|
MeasurementTypeName ::= PrintableString(SIZE(1.. 150, ...))
|
||||||
|
|
||||||
|
MeasurementTypeID ::= INTEGER (1.. 65536, ...)
|
||||||
|
|
||||||
|
MeasurementLabel ::= SEQUENCE {
|
||||||
|
noLabel ENUMERATED {true, ...} OPTIONAL,
|
||||||
|
-- TODO: changed from PLMNIdentity and S-NSSAI
|
||||||
|
plmnID PLMN-Identity OPTIONAL,
|
||||||
|
sliceID SNSSAI OPTIONAL,
|
||||||
|
fiveQI FiveQI OPTIONAL,
|
||||||
|
qFI QosFlowIdentifier OPTIONAL,
|
||||||
|
qCI QCI OPTIONAL,
|
||||||
|
qCImax QCI OPTIONAL,
|
||||||
|
qCImin QCI OPTIONAL,
|
||||||
|
aRPmax INTEGER (1.. 15, ...) OPTIONAL,
|
||||||
|
aRPmin INTEGER (1.. 15, ...) OPTIONAL,
|
||||||
|
bitrateRange INTEGER (1.. 65535, ...) OPTIONAL,
|
||||||
|
layerMU-MIMO INTEGER (1.. 65535, ...) OPTIONAL,
|
||||||
|
sUM ENUMERATED {true, ...} OPTIONAL,
|
||||||
|
distBinX INTEGER (1.. 65535, ...) OPTIONAL,
|
||||||
|
distBinY INTEGER (1.. 65535, ...) OPTIONAL,
|
||||||
|
distBinZ INTEGER (1.. 65535, ...) OPTIONAL,
|
||||||
|
preLabelOverride ENUMERATED {true, ...} OPTIONAL,
|
||||||
|
startEndInd ENUMERATED {start, end, ...} OPTIONAL,
|
||||||
|
min ENUMERATED {true, ...} OPTIONAL,
|
||||||
|
max ENUMERATED {true, ...} OPTIONAL,
|
||||||
|
avg ENUMERATED {true, ...} OPTIONAL,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
TestCondInfo ::= SEQUENCE{
|
||||||
|
testType TestCond-Type,
|
||||||
|
testExpr TestCond-Expression OPTIONAL,
|
||||||
|
testValue TestCond-Value OPTIONAL,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
TestCond-Type ::= CHOICE{
|
||||||
|
gBR ENUMERATED {true, ...},
|
||||||
|
aMBR ENUMERATED {true, ...},
|
||||||
|
isStat ENUMERATED {true, ...},
|
||||||
|
isCatM ENUMERATED {true, ...},
|
||||||
|
rSRP ENUMERATED {true, ...},
|
||||||
|
rSRQ ENUMERATED {true, ...},
|
||||||
|
...,
|
||||||
|
ul-rSRP ENUMERATED {true, ...},
|
||||||
|
cQI ENUMERATED {true, ...},
|
||||||
|
fiveQI ENUMERATED {true, ...},
|
||||||
|
qCI ENUMERATED {true, ...},
|
||||||
|
sNSSAI ENUMERATED {true, ...}
|
||||||
|
}
|
||||||
|
|
||||||
|
TestCond-Expression ::= ENUMERATED {
|
||||||
|
equal,
|
||||||
|
greaterthan,
|
||||||
|
lessthan,
|
||||||
|
contains,
|
||||||
|
present,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
TestCond-Value ::= CHOICE{
|
||||||
|
valueInt INTEGER,
|
||||||
|
valueEnum INTEGER,
|
||||||
|
valueBool BOOLEAN,
|
||||||
|
valueBitS BIT STRING,
|
||||||
|
valueOctS OCTET STRING,
|
||||||
|
valuePrtS PrintableString,
|
||||||
|
...,
|
||||||
|
valueReal REAL
|
||||||
|
}
|
||||||
|
|
||||||
|
-- **************************************************************
|
||||||
|
-- Lists
|
||||||
|
-- **************************************************************
|
||||||
|
|
||||||
|
maxnoofCells INTEGER ::= 16384
|
||||||
|
maxnoofRICStyles INTEGER ::= 63
|
||||||
|
maxnoofMeasurementInfo INTEGER ::= 65535
|
||||||
|
maxnoofLabelInfo INTEGER ::= 2147483647
|
||||||
|
maxnoofMeasurementRecord INTEGER ::= 65535
|
||||||
|
maxnoofMeasurementValue INTEGER ::= 2147483647
|
||||||
|
maxnoofConditionInfo INTEGER ::= 32768
|
||||||
|
maxnoofUEID INTEGER ::= 65535
|
||||||
|
maxnoofConditionInfoPerSub INTEGER ::= 32768
|
||||||
|
maxnoofUEIDPerSub INTEGER ::= 65535
|
||||||
|
maxnoofUEMeasReport INTEGER ::= 65535
|
||||||
|
|
||||||
|
|
||||||
|
MeasurementInfoList ::= SEQUENCE (SIZE(1..maxnoofMeasurementInfo)) OF MeasurementInfoItem
|
||||||
|
|
||||||
|
MeasurementInfoItem ::= SEQUENCE {
|
||||||
|
measType MeasurementType,
|
||||||
|
labelInfoList LabelInfoList,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
LabelInfoList ::= SEQUENCE (SIZE(1..maxnoofLabelInfo)) OF LabelInfoItem
|
||||||
|
|
||||||
|
LabelInfoItem ::= SEQUENCE {
|
||||||
|
measLabel MeasurementLabel,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
MeasurementData ::= SEQUENCE (SIZE(1..maxnoofMeasurementRecord)) OF MeasurementDataItem
|
||||||
|
|
||||||
|
MeasurementDataItem ::= SEQUENCE {
|
||||||
|
measRecord MeasurementRecord,
|
||||||
|
incompleteFlag ENUMERATED {true, ...} OPTIONAL,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
MeasurementRecord ::= SEQUENCE (SIZE(1..maxnoofMeasurementValue)) OF MeasurementRecordItem
|
||||||
|
|
||||||
|
MeasurementRecordItem ::= CHOICE {
|
||||||
|
integer INTEGER (0.. 4294967295),
|
||||||
|
real REAL,
|
||||||
|
noValue NULL,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
MeasurementInfo-Action-List ::= SEQUENCE (SIZE(1..maxnoofMeasurementInfo)) OF MeasurementInfo-Action-Item
|
||||||
|
|
||||||
|
MeasurementInfo-Action-Item ::= SEQUENCE {
|
||||||
|
measName MeasurementTypeName,
|
||||||
|
measID MeasurementTypeID OPTIONAL,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
MeasurementCondList ::= SEQUENCE (SIZE(1..maxnoofMeasurementInfo)) OF MeasurementCondItem
|
||||||
|
|
||||||
|
MeasurementCondItem ::= SEQUENCE {
|
||||||
|
measType MeasurementType,
|
||||||
|
matchingCond MatchingCondList,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
MeasurementCondUEidList ::= SEQUENCE (SIZE(1..maxnoofMeasurementInfo)) OF MeasurementCondUEidItem
|
||||||
|
|
||||||
|
MeasurementCondUEidItem ::= SEQUENCE {
|
||||||
|
measType MeasurementType,
|
||||||
|
matchingCond MatchingCondList,
|
||||||
|
matchingUEidList MatchingUEidList OPTIONAL,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
MatchingCondList ::= SEQUENCE (SIZE(1..maxnoofConditionInfo)) OF MatchingCondItem
|
||||||
|
|
||||||
|
MatchingCondItem ::= CHOICE{
|
||||||
|
measLabel MeasurementLabel,
|
||||||
|
testCondInfo TestCondInfo,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
MatchingUEidList ::= SEQUENCE (SIZE(1..maxnoofUEID)) OF MatchingUEidItem
|
||||||
|
|
||||||
|
MatchingUEidItem ::= SEQUENCE{
|
||||||
|
ueID UEID,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
MatchingUeCondPerSubList ::= SEQUENCE (SIZE(1..maxnoofConditionInfoPerSub)) OF MatchingUeCondPerSubItem
|
||||||
|
|
||||||
|
MatchingUeCondPerSubItem ::= SEQUENCE{
|
||||||
|
testCondInfo TestCondInfo,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
MatchingUEidPerSubList ::= SEQUENCE (SIZE(2..maxnoofUEIDPerSub)) OF MatchingUEidPerSubItem
|
||||||
|
|
||||||
|
MatchingUEidPerSubItem ::= SEQUENCE{
|
||||||
|
ueID UEID,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
UEMeasurementReportList ::= SEQUENCE (SIZE(1..maxnoofUEMeasReport)) OF UEMeasurementReportItem
|
||||||
|
|
||||||
|
UEMeasurementReportItem ::= SEQUENCE{
|
||||||
|
ueID UEID,
|
||||||
|
measReport E2SM-KPM-IndicationMessage-Format1,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- **************************************************************
|
||||||
|
-- E2SM-KPM Service Model IEs
|
||||||
|
-- **************************************************************
|
||||||
|
|
||||||
|
-- **************************************************************
|
||||||
|
-- Event Trigger Definition OCTET STRING contents
|
||||||
|
-- **************************************************************
|
||||||
|
|
||||||
|
E2SM-KPM-EventTriggerDefinition ::= SEQUENCE{
|
||||||
|
eventDefinition-formats CHOICE{
|
||||||
|
eventDefinition-Format1 E2SM-KPM-EventTriggerDefinition-Format1,
|
||||||
|
...
|
||||||
|
},
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2SM-KPM-EventTriggerDefinition-Format1 ::= SEQUENCE{
|
||||||
|
reportingPeriod INTEGER (1.. 4294967295),
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
-- **************************************************************
|
||||||
|
-- Action Definition OCTET STRING contents
|
||||||
|
-- **************************************************************
|
||||||
|
|
||||||
|
E2SM-KPM-ActionDefinition ::= SEQUENCE{
|
||||||
|
ric-Style-Type RIC-Style-Type,
|
||||||
|
actionDefinition-formats CHOICE{
|
||||||
|
actionDefinition-Format1 E2SM-KPM-ActionDefinition-Format1,
|
||||||
|
actionDefinition-Format2 E2SM-KPM-ActionDefinition-Format2,
|
||||||
|
actionDefinition-Format3 E2SM-KPM-ActionDefinition-Format3,
|
||||||
|
...,
|
||||||
|
actionDefinition-Format4 E2SM-KPM-ActionDefinition-Format4,
|
||||||
|
actionDefinition-Format5 E2SM-KPM-ActionDefinition-Format5
|
||||||
|
},
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2SM-KPM-ActionDefinition-Format1 ::= SEQUENCE {
|
||||||
|
measInfoList MeasurementInfoList,
|
||||||
|
granulPeriod GranularityPeriod,
|
||||||
|
cellGlobalID CGI OPTIONAL,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2SM-KPM-ActionDefinition-Format2 ::= SEQUENCE {
|
||||||
|
ueID UEID,
|
||||||
|
subscriptInfo E2SM-KPM-ActionDefinition-Format1,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2SM-KPM-ActionDefinition-Format3 ::= SEQUENCE {
|
||||||
|
measCondList MeasurementCondList,
|
||||||
|
granulPeriod GranularityPeriod,
|
||||||
|
cellGlobalID CGI OPTIONAL,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2SM-KPM-ActionDefinition-Format4 ::= SEQUENCE {
|
||||||
|
matchingUeCondList MatchingUeCondPerSubList,
|
||||||
|
subscriptionInfo E2SM-KPM-ActionDefinition-Format1,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2SM-KPM-ActionDefinition-Format5 ::= SEQUENCE {
|
||||||
|
matchingUEidList MatchingUEidPerSubList,
|
||||||
|
subscriptionInfo E2SM-KPM-ActionDefinition-Format1,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
-- **************************************************************
|
||||||
|
-- Indication Header OCTET STRING contents
|
||||||
|
-- **************************************************************
|
||||||
|
|
||||||
|
E2SM-KPM-IndicationHeader ::= SEQUENCE{
|
||||||
|
indicationHeader-formats CHOICE{
|
||||||
|
indicationHeader-Format1 E2SM-KPM-IndicationHeader-Format1,
|
||||||
|
...
|
||||||
|
},
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2SM-KPM-IndicationHeader-Format1 ::= SEQUENCE{
|
||||||
|
colletStartTime TimeStamp,
|
||||||
|
fileFormatversion PrintableString (SIZE (0..15), ...) OPTIONAL,
|
||||||
|
senderName PrintableString (SIZE (0..400), ...) OPTIONAL,
|
||||||
|
senderType PrintableString (SIZE (0..8), ...) OPTIONAL,
|
||||||
|
vendorName PrintableString (SIZE (0..32), ...) OPTIONAL,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
-- **************************************************************
|
||||||
|
-- Indication Message OCTET STRING contents
|
||||||
|
-- **************************************************************
|
||||||
|
|
||||||
|
E2SM-KPM-IndicationMessage ::= SEQUENCE{
|
||||||
|
indicationMessage-formats CHOICE{
|
||||||
|
indicationMessage-Format1 E2SM-KPM-IndicationMessage-Format1,
|
||||||
|
indicationMessage-Format2 E2SM-KPM-IndicationMessage-Format2,
|
||||||
|
...,
|
||||||
|
indicationMessage-Format3 E2SM-KPM-IndicationMessage-Format3
|
||||||
|
},
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2SM-KPM-IndicationMessage-Format1 ::= SEQUENCE {
|
||||||
|
measData MeasurementData,
|
||||||
|
measInfoList MeasurementInfoList OPTIONAL,
|
||||||
|
granulPeriod GranularityPeriod OPTIONAL,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2SM-KPM-IndicationMessage-Format2 ::= SEQUENCE {
|
||||||
|
measData MeasurementData,
|
||||||
|
measCondUEidList MeasurementCondUEidList,
|
||||||
|
granulPeriod GranularityPeriod OPTIONAL,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
E2SM-KPM-IndicationMessage-Format3 ::= SEQUENCE {
|
||||||
|
ueMeasReportList UEMeasurementReportList,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
-- ***************************************************************
|
||||||
|
-- RAN Function Definition OCTET STRING contents
|
||||||
|
-- ***************************************************************
|
||||||
|
|
||||||
|
E2SM-KPM-RANfunction-Description ::= SEQUENCE{
|
||||||
|
ranFunction-Name RANfunction-Name,
|
||||||
|
ric-EventTriggerStyle-List SEQUENCE (SIZE(1..maxnoofRICStyles)) OF RIC-EventTriggerStyle-Item OPTIONAL,
|
||||||
|
ric-ReportStyle-List SEQUENCE (SIZE(1..maxnoofRICStyles)) OF RIC-ReportStyle-Item OPTIONAL,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
RIC-EventTriggerStyle-Item ::= SEQUENCE{
|
||||||
|
ric-EventTriggerStyle-Type RIC-Style-Type,
|
||||||
|
ric-EventTriggerStyle-Name RIC-Style-Name,
|
||||||
|
ric-EventTriggerFormat-Type RIC-Format-Type,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
RIC-ReportStyle-Item ::= SEQUENCE{
|
||||||
|
ric-ReportStyle-Type RIC-Style-Type,
|
||||||
|
ric-ReportStyle-Name RIC-Style-Name,
|
||||||
|
ric-ActionFormat-Type RIC-Format-Type,
|
||||||
|
measInfo-Action-List MeasurementInfo-Action-List,
|
||||||
|
ric-IndicationHeaderFormat-Type RIC-Format-Type,
|
||||||
|
ric-IndicationMessageFormat-Type RIC-Format-Type,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
END
|
||||||
|
|
||||||
|
-- ASN1STOP
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,573 @@
|
||||||
|
-- ASN1START
|
||||||
|
-- **************************************************************
|
||||||
|
-- E2SM
|
||||||
|
-- Information Element Definitions
|
||||||
|
--
|
||||||
|
-- **************************************************************
|
||||||
|
|
||||||
|
E2SM-COMMON-IEs {
|
||||||
|
iso(1) identified-organization(3) dod(6) internet(1) private(4) enterprise(1) 53148 e2(1) version1 (1) e2sm(2) e2sm-COMMON-IEs (0)}
|
||||||
|
|
||||||
|
DEFINITIONS AUTOMATIC TAGS ::=
|
||||||
|
|
||||||
|
BEGIN
|
||||||
|
|
||||||
|
-- --------------------------------------------------
|
||||||
|
-- Constants
|
||||||
|
-- --------------------------------------------------
|
||||||
|
|
||||||
|
maxE1APid INTEGER ::= 65535
|
||||||
|
maxF1APid INTEGER ::= 4
|
||||||
|
|
||||||
|
-- IEs derived from 3GPP 36.423 (X2AP)
|
||||||
|
maxEARFCN INTEGER ::= 65535
|
||||||
|
|
||||||
|
-- IEs derived from 3GPP 38.473 (F1AP)
|
||||||
|
maxNRARFCN INTEGER ::= 3279165
|
||||||
|
maxnoofNrCellBands INTEGER ::= 32
|
||||||
|
|
||||||
|
|
||||||
|
-- --------------------------------------------------
|
||||||
|
-- E2SM Commmon IEs
|
||||||
|
-- --------------------------------------------------
|
||||||
|
|
||||||
|
CGI ::= CHOICE {
|
||||||
|
nR-CGI NR-CGI,
|
||||||
|
eUTRA-CGI EUTRA-CGI,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
CoreCPID ::= CHOICE {
|
||||||
|
fiveGC GUAMI,
|
||||||
|
ePC GUMMEI,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
InterfaceIdentifier ::= CHOICE {
|
||||||
|
nG InterfaceID-NG,
|
||||||
|
xN InterfaceID-Xn,
|
||||||
|
f1 InterfaceID-F1,
|
||||||
|
e1 InterfaceID-E1,
|
||||||
|
s1 InterfaceID-S1,
|
||||||
|
x2 InterfaceID-X2,
|
||||||
|
w1 InterfaceID-W1,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
InterfaceID-NG ::= SEQUENCE {
|
||||||
|
guami GUAMI,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
InterfaceID-Xn ::= SEQUENCE {
|
||||||
|
global-NG-RAN-ID GlobalNGRANNodeID,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
InterfaceID-F1 ::= SEQUENCE {
|
||||||
|
globalGNB-ID GlobalGNB-ID,
|
||||||
|
gNB-DU-ID GNB-DU-ID,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
InterfaceID-E1 ::= SEQUENCE {
|
||||||
|
globalGNB-ID GlobalGNB-ID,
|
||||||
|
gNB-CU-UP-ID GNB-CU-UP-ID,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
InterfaceID-S1 ::= SEQUENCE {
|
||||||
|
gUMMEI GUMMEI,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
InterfaceID-X2 ::= SEQUENCE {
|
||||||
|
nodeType CHOICE {
|
||||||
|
global-eNB-ID GlobalENB-ID,
|
||||||
|
global-en-gNB-ID GlobalenGNB-ID,
|
||||||
|
...
|
||||||
|
},
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
InterfaceID-W1 ::= SEQUENCE {
|
||||||
|
global-ng-eNB-ID GlobalNgENB-ID,
|
||||||
|
ng-eNB-DU-ID NGENB-DU-ID,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
Interface-MessageID ::= SEQUENCE {
|
||||||
|
interfaceProcedureID INTEGER,
|
||||||
|
messageType ENUMERATED {initiatingMessage, successfulOutcome, unsuccessfulOutcome, ...},
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
InterfaceType ::= ENUMERATED {nG, xn, f1, e1, s1, x2, w1, ...}
|
||||||
|
|
||||||
|
GroupID ::= CHOICE {
|
||||||
|
fiveGC FiveQI,
|
||||||
|
ePC QCI,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
QoSID ::= CHOICE {
|
||||||
|
fiveGC FiveQI,
|
||||||
|
ePC QCI,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
RANfunction-Name ::= SEQUENCE{
|
||||||
|
ranFunction-ShortName PrintableString(SIZE(1..150,...)),
|
||||||
|
ranFunction-E2SM-OID PrintableString(SIZE(1..1000,...)),
|
||||||
|
ranFunction-Description PrintableString(SIZE(1..150,...)),
|
||||||
|
ranFunction-Instance INTEGER OPTIONAL,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
RIC-Format-Type ::= INTEGER
|
||||||
|
|
||||||
|
RIC-Style-Type ::= INTEGER
|
||||||
|
|
||||||
|
RIC-Style-Name ::= PrintableString(SIZE(1..150,...))
|
||||||
|
|
||||||
|
|
||||||
|
RRC-MessageID ::= SEQUENCE {
|
||||||
|
rrcType CHOICE {
|
||||||
|
lTE RRCclass-LTE,
|
||||||
|
nR RRCclass-NR,
|
||||||
|
...
|
||||||
|
},
|
||||||
|
messageID INTEGER,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
RRCclass-LTE ::= ENUMERATED {bCCH-BCH, bCCH-BCH-MBMS, bCCH-DL-SCH, bCCH-DL-SCH-BR, bCCH-DL-SCH-MBMS, mCCH, pCCH, dL-CCCH, dL-DCCH, uL-CCCH, uL-DCCH, sC-MCCH, ...}
|
||||||
|
|
||||||
|
RRCclass-NR ::= ENUMERATED {bCCH-BCH, bCCH-DL-SCH, dL-CCCH, dL-DCCH, pCCH, uL-CCCH, uL-CCCH1, uL-DCCH, ...}
|
||||||
|
|
||||||
|
ServingCell-ARFCN ::= CHOICE {
|
||||||
|
nR NR-ARFCN,
|
||||||
|
eUTRA E-UTRA-ARFCN,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
ServingCell-PCI ::= CHOICE {
|
||||||
|
nR NR-PCI,
|
||||||
|
eUTRA E-UTRA-PCI,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
UEID ::= CHOICE{
|
||||||
|
gNB-UEID UEID-GNB,
|
||||||
|
gNB-DU-UEID UEID-GNB-DU,
|
||||||
|
gNB-CU-UP-UEID UEID-GNB-CU-UP,
|
||||||
|
ng-eNB-UEID UEID-NG-ENB,
|
||||||
|
ng-eNB-DU-UEID UEID-NG-ENB-DU,
|
||||||
|
en-gNB-UEID UEID-EN-GNB,
|
||||||
|
eNB-UEID UEID-ENB,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
UEID-GNB ::= SEQUENCE{
|
||||||
|
amf-UE-NGAP-ID AMF-UE-NGAP-ID,
|
||||||
|
guami GUAMI,
|
||||||
|
gNB-CU-UE-F1AP-ID-List UEID-GNB-CU-F1AP-ID-List OPTIONAL,
|
||||||
|
-- C-ifCUDUseparated: This IE shall be present in messages from E2 Node to NearRT-RIC for a CU-DU separated gNB, whereas from NearRT-RIC to E2 Node messages, this IE may not be included. More than 1 F1AP ID shall be reported by E2 Node only when NR-DC is established.
|
||||||
|
gNB-CU-CP-UE-E1AP-ID-List UEID-GNB-CU-CP-E1AP-ID-List OPTIONAL,
|
||||||
|
-- C-ifCPUPseparated: This IE shall be present in messages from E2 Node to NearRT-RIC for a CP-UP separated gNB, whereas from NearRT-RIC to E2 Node messages, this IE may not be included.
|
||||||
|
ran-UEID RANUEID OPTIONAL,
|
||||||
|
m-NG-RAN-UE-XnAP-ID NG-RANnodeUEXnAPID OPTIONAL,
|
||||||
|
-- C-ifDCSetup: This IE shall be present in messages from E2 Node to NearRT-RIC if DC is established, whereas from NearRT-RIC to E2 Node messages, this IE may not be included. To be reported by both MN and SN.
|
||||||
|
globalGNB-ID GlobalGNB-ID OPTIONAL,
|
||||||
|
-- This IE shall not be used. This IE is replaced with globalNG-RANNode-ID.
|
||||||
|
...,
|
||||||
|
globalNG-RANNode-ID GlobalNGRANNodeID OPTIONAL
|
||||||
|
-- C-ifDCSetup: This IE shall be present in messages from E2 Node to NearRT-RIC if DC is established, whereas from NearRT-RIC to E2 Node messages, this IE may not be included. To be reported only by SN.
|
||||||
|
}
|
||||||
|
|
||||||
|
UEID-GNB-CU-CP-E1AP-ID-List ::= SEQUENCE (SIZE(1..maxE1APid)) OF UEID-GNB-CU-CP-E1AP-ID-Item
|
||||||
|
|
||||||
|
UEID-GNB-CU-CP-E1AP-ID-Item ::= SEQUENCE{
|
||||||
|
gNB-CU-CP-UE-E1AP-ID GNB-CU-CP-UE-E1AP-ID,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
UEID-GNB-CU-F1AP-ID-List ::= SEQUENCE (SIZE(1..maxF1APid)) OF UEID-GNB-CU-CP-F1AP-ID-Item
|
||||||
|
|
||||||
|
UEID-GNB-CU-CP-F1AP-ID-Item ::= SEQUENCE{
|
||||||
|
gNB-CU-UE-F1AP-ID GNB-CU-UE-F1AP-ID,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
UEID-GNB-DU ::= SEQUENCE{
|
||||||
|
gNB-CU-UE-F1AP-ID GNB-CU-UE-F1AP-ID,
|
||||||
|
ran-UEID RANUEID OPTIONAL,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
UEID-GNB-CU-UP ::= SEQUENCE{
|
||||||
|
gNB-CU-CP-UE-E1AP-ID GNB-CU-CP-UE-E1AP-ID,
|
||||||
|
ran-UEID RANUEID OPTIONAL,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
UEID-NG-ENB ::= SEQUENCE{
|
||||||
|
amf-UE-NGAP-ID AMF-UE-NGAP-ID,
|
||||||
|
guami GUAMI,
|
||||||
|
ng-eNB-CU-UE-W1AP-ID NGENB-CU-UE-W1AP-ID OPTIONAL,
|
||||||
|
-- C-ifCUDUseperated: This IE shall be present in messages from E2 Node to NearRT-RIC for a CU-DU seperated ng-eNB, whereas from NearRT-RIC to E2 Node messages, this IE may not be included.
|
||||||
|
m-NG-RAN-UE-XnAP-ID NG-RANnodeUEXnAPID OPTIONAL,
|
||||||
|
-- C-ifDCSetup: This IE shall be present in messages from E2 Node to NearRT-RIC if DC is established, whereas from NearRT-RIC to E2 Node messages, this IE may not be included. To be reported by both MN and SN.
|
||||||
|
globalNgENB-ID GlobalNgENB-ID OPTIONAL,
|
||||||
|
-- This IE shall not be used. This IE is replaced with globalNG-RANNode-ID.
|
||||||
|
...,
|
||||||
|
globalNG-RANNode-ID GlobalNGRANNodeID OPTIONAL
|
||||||
|
-- C-ifDCSetup: This IE shall be present in messages from E2 Node to NearRT-RIC if DC is established, whereas from NearRT-RIC to E2 Node messages, this IE may not be included. To be reported only by SN.
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
UEID-NG-ENB-DU ::= SEQUENCE{
|
||||||
|
ng-eNB-CU-UE-W1AP-ID NGENB-CU-UE-W1AP-ID,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
UEID-EN-GNB ::= SEQUENCE{
|
||||||
|
m-eNB-UE-X2AP-ID ENB-UE-X2AP-ID,
|
||||||
|
m-eNB-UE-X2AP-ID-Extension ENB-UE-X2AP-ID-Extension OPTIONAL,
|
||||||
|
globalENB-ID GlobalENB-ID,
|
||||||
|
gNB-CU-UE-F1AP-ID GNB-CU-UE-F1AP-ID OPTIONAL,
|
||||||
|
-- C-ifCUDUseperated: This IE shall be present in messages from E2 Node to NearRT-RIC for a CU-DU seperated en-gNB, whereas from NearRT-RIC to E2 Node messages, this IE may not be included.
|
||||||
|
gNB-CU-CP-UE-E1AP-ID-List UEID-GNB-CU-CP-E1AP-ID-List OPTIONAL,
|
||||||
|
-- C-ifCPUPseparated: This IE shall be present in messages from E2 Node to NearRT-RIC for a CP-UP separated en-gNB, whereas from NearRT-RIC to E2 Node messages, this IE may not be included.
|
||||||
|
ran-UEID RANUEID OPTIONAL,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
UEID-ENB ::= SEQUENCE{
|
||||||
|
mME-UE-S1AP-ID MME-UE-S1AP-ID,
|
||||||
|
gUMMEI GUMMEI,
|
||||||
|
m-eNB-UE-X2AP-ID ENB-UE-X2AP-ID OPTIONAL,
|
||||||
|
-- This IE shall be present in messages from E2 Node to NearRT-RIC if DC is established, whereas from NearRT-RIC to E2 Node messages, this IE may not be included. To be reported by MeNB and SeNB.
|
||||||
|
m-eNB-UE-X2AP-ID-Extension ENB-UE-X2AP-ID-Extension OPTIONAL,
|
||||||
|
globalENB-ID GlobalENB-ID OPTIONAL,
|
||||||
|
-- This IE shall be present in messages from E2 Node to NearRT-RIC if DC is established, whereas from NearRT-RIC to E2 Node messages, this IE may not be included. To be reported only by SeNB.
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
-- **************************************************************
|
||||||
|
-- 3GPP derived IEs
|
||||||
|
-- **************************************************************
|
||||||
|
-- NOTE:
|
||||||
|
-- - Extension fields removed and replaced with "..."
|
||||||
|
-- - IE names modified across all extracts to use "PLMNIdentity"
|
||||||
|
|
||||||
|
-- **************************************************************
|
||||||
|
-- IEs derived from 3GPP 36.413 (S1AP)
|
||||||
|
-- **************************************************************
|
||||||
|
-- **************************************************************
|
||||||
|
|
||||||
|
-- copied from v16.5.0
|
||||||
|
-- ENB-ID ::= CHOICE {
|
||||||
|
-- macro-eNB-ID BIT STRING (SIZE (20)),
|
||||||
|
-- home-eNB-ID BIT STRING (SIZE (28)),
|
||||||
|
-- ... ,
|
||||||
|
-- short-Macro-eNB-ID BIT STRING (SIZE(18)),
|
||||||
|
-- long-Macro-eNB-ID BIT STRING (SIZE(21))
|
||||||
|
-- }
|
||||||
|
|
||||||
|
-- copied from v16.5.0
|
||||||
|
-- GlobalENB-ID ::= SEQUENCE {
|
||||||
|
-- pLMNIdentity PLMNIdentity,
|
||||||
|
-- eNB-ID ENB-ID,
|
||||||
|
-- ...
|
||||||
|
-- }
|
||||||
|
|
||||||
|
|
||||||
|
-- copied from v16.5.0
|
||||||
|
GUMMEI ::= SEQUENCE {
|
||||||
|
pLMN-Identity PLMNIdentity,
|
||||||
|
mME-Group-ID MME-Group-ID,
|
||||||
|
mME-Code MME-Code,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
-- copied from v16.5.0
|
||||||
|
MME-Group-ID ::= OCTET STRING (SIZE (2))
|
||||||
|
|
||||||
|
-- copied from v16.5.0
|
||||||
|
MME-Code ::= OCTET STRING (SIZE (1))
|
||||||
|
|
||||||
|
-- copied from v16.5.0
|
||||||
|
MME-UE-S1AP-ID ::= INTEGER (0..4294967295)
|
||||||
|
|
||||||
|
-- copied from v16.5.0
|
||||||
|
QCI ::= INTEGER (0..255)
|
||||||
|
|
||||||
|
-- copied from v16.5.0
|
||||||
|
SubscriberProfileIDforRFP ::= INTEGER (1..256)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- **************************************************************
|
||||||
|
-- IEs derived from 3GPP 36.423 (X2AP)
|
||||||
|
-- **************************************************************
|
||||||
|
-- Extension fields removed.
|
||||||
|
-- Note: to avoid duplicate names with NGAP, XnAP, etc.:
|
||||||
|
-- GNB-ID renamed ENGNB-ID,
|
||||||
|
-- GlobalGNB-ID renamed GlobalenGNB-ID,
|
||||||
|
-- UE-X2AP-ID renamed ENB-UE-X2AP-ID
|
||||||
|
-- UE-X2AP-ID-Extension renamed ENB-UE-X2AP-ID-Extension
|
||||||
|
-- **************************************************************
|
||||||
|
|
||||||
|
-- copied from v16.5.0
|
||||||
|
EN-GNB-ID ::= CHOICE {
|
||||||
|
en-gNB-ID BIT STRING (SIZE (22..32)),
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
-- copied from v16.5.0
|
||||||
|
ENB-UE-X2AP-ID ::= INTEGER (0..4095)
|
||||||
|
|
||||||
|
-- copied from v16.5.0
|
||||||
|
ENB-UE-X2AP-ID-Extension ::= INTEGER (0..4095, ...)
|
||||||
|
|
||||||
|
-- copied from v16.5.0
|
||||||
|
E-UTRA-ARFCN ::= INTEGER (0..maxEARFCN)
|
||||||
|
|
||||||
|
-- copied from v16.5.0
|
||||||
|
E-UTRA-PCI ::= INTEGER (0..503, ...)
|
||||||
|
|
||||||
|
-- copied from v16.5.0
|
||||||
|
E-UTRA-TAC ::= OCTET STRING (SIZE(2))
|
||||||
|
|
||||||
|
-- copied from v16.5.0
|
||||||
|
-- GlobalenGNB-ID ::= SEQUENCE {
|
||||||
|
-- pLMN-Identity PLMNIdentity,
|
||||||
|
-- en-gNB-ID EN-GNB-ID,
|
||||||
|
-- ...
|
||||||
|
-- }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- **************************************************************
|
||||||
|
-- IEs derived from 3GPP 37.473 (W1AP)
|
||||||
|
-- **************************************************************
|
||||||
|
|
||||||
|
-- copied from v16.3.0
|
||||||
|
NGENB-CU-UE-W1AP-ID ::= INTEGER (0..4294967295)
|
||||||
|
|
||||||
|
-- copied from v16.3.0
|
||||||
|
-- NGENB-DU-ID ::= INTEGER (0..68719476735)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- **************************************************************
|
||||||
|
-- IEs derived from 3GPP 38.413 (NGAP)
|
||||||
|
-- Extension fields removed and replaced with ...
|
||||||
|
-- **************************************************************
|
||||||
|
|
||||||
|
-- copied from v16.2.0
|
||||||
|
AMFPointer ::= BIT STRING (SIZE(6))
|
||||||
|
|
||||||
|
-- copied from v16.2.0
|
||||||
|
AMFRegionID ::= BIT STRING (SIZE(8))
|
||||||
|
|
||||||
|
-- copied from v16.2.0
|
||||||
|
AMFSetID ::= BIT STRING (SIZE(10))
|
||||||
|
|
||||||
|
-- copied from v16.2.0
|
||||||
|
AMF-UE-NGAP-ID ::= INTEGER (0..1099511627775)
|
||||||
|
|
||||||
|
-- copied from v16.2.0
|
||||||
|
EUTRACellIdentity ::= BIT STRING (SIZE(28))
|
||||||
|
|
||||||
|
-- copied from v16.2.0
|
||||||
|
EUTRA-CGI ::= SEQUENCE {
|
||||||
|
pLMNIdentity PLMNIdentity,
|
||||||
|
eUTRACellIdentity EUTRACellIdentity,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
-- copied from v16.2.0
|
||||||
|
FiveQI ::= INTEGER (0..255, ...)
|
||||||
|
|
||||||
|
-- copied from v16.2.0
|
||||||
|
GlobalGNB-ID ::= SEQUENCE {
|
||||||
|
pLMNIdentity PLMNIdentity,
|
||||||
|
gNB-ID GNB-ID,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
-- copied from v16.2.0
|
||||||
|
GlobalNgENB-ID ::= SEQUENCE {
|
||||||
|
pLMNIdentity PLMNIdentity,
|
||||||
|
ngENB-ID NgENB-ID,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
-- copied from v16.2.0
|
||||||
|
GNB-ID ::= CHOICE {
|
||||||
|
gNB-ID BIT STRING (SIZE(22..32)),
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
-- copied from v16.2.0
|
||||||
|
GUAMI ::= SEQUENCE {
|
||||||
|
pLMNIdentity PLMNIdentity,
|
||||||
|
aMFRegionID AMFRegionID,
|
||||||
|
aMFSetID AMFSetID,
|
||||||
|
aMFPointer AMFPointer,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
-- copied from v16.2.0
|
||||||
|
IndexToRFSP ::= INTEGER (1..256, ...)
|
||||||
|
|
||||||
|
-- copied from v16.2.0
|
||||||
|
NgENB-ID ::= CHOICE {
|
||||||
|
macroNgENB-ID BIT STRING (SIZE(20)),
|
||||||
|
shortMacroNgENB-ID BIT STRING (SIZE(18)),
|
||||||
|
longMacroNgENB-ID BIT STRING (SIZE(21)),
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
-- copied from v16.2.0
|
||||||
|
NRCellIdentity ::= BIT STRING (SIZE(36))
|
||||||
|
|
||||||
|
-- copied from v16.2.0
|
||||||
|
-- NR-CGI ::= SEQUENCE {
|
||||||
|
-- pLMNIdentity PLMNIdentity,
|
||||||
|
-- nRCellIdentity NRCellIdentity,
|
||||||
|
-- ...
|
||||||
|
-- }
|
||||||
|
|
||||||
|
-- copied from v16.2.0
|
||||||
|
PLMNIdentity ::= OCTET STRING (SIZE(3))
|
||||||
|
|
||||||
|
-- copied from v16.2.0
|
||||||
|
QosFlowIdentifier ::= INTEGER (0..63, ...)
|
||||||
|
|
||||||
|
-- copied from v16.2.0
|
||||||
|
SD ::= OCTET STRING (SIZE(3))
|
||||||
|
|
||||||
|
-- copied from v16.2.0
|
||||||
|
S-NSSAI ::= SEQUENCE {
|
||||||
|
sST SST,
|
||||||
|
sD SD OPTIONAL,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
-- copied from v16.2.0
|
||||||
|
SST ::= OCTET STRING (SIZE(1))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- **************************************************************
|
||||||
|
-- IEs derived from 3GPP 38.423 (XnAP)
|
||||||
|
-- **************************************************************
|
||||||
|
|
||||||
|
-- copied from v16.2.0
|
||||||
|
NG-RANnodeUEXnAPID ::= INTEGER (0.. 4294967295)
|
||||||
|
|
||||||
|
GlobalNGRANNodeID ::= CHOICE {
|
||||||
|
gNB GlobalGNB-ID,
|
||||||
|
ng-eNB GlobalNgENB-ID,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- **************************************************************
|
||||||
|
-- IEs derived from 3GPP 38.463 (E1AP)
|
||||||
|
-- **************************************************************
|
||||||
|
|
||||||
|
-- copied from v16.5.0
|
||||||
|
GNB-CU-CP-UE-E1AP-ID ::= INTEGER (0..4294967295)
|
||||||
|
|
||||||
|
-- copied from v16.5.0
|
||||||
|
-- GNB-CU-UP-ID ::= INTEGER (0..68719476735)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- **************************************************************
|
||||||
|
-- IEs derived from 3GPP 38.473 (F1AP)
|
||||||
|
-- **************************************************************
|
||||||
|
|
||||||
|
-- copied from v16.5.0
|
||||||
|
FiveGS-TAC ::= OCTET STRING (SIZE(3))
|
||||||
|
|
||||||
|
-- copied from v16.5.0
|
||||||
|
FreqBandNrItem ::= SEQUENCE {
|
||||||
|
freqBandIndicatorNr INTEGER (1..1024, ...),
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
-- copied from v16.5.0
|
||||||
|
GNB-CU-UE-F1AP-ID ::= INTEGER (0..4294967295)
|
||||||
|
|
||||||
|
-- copied from v16.5.0
|
||||||
|
-- GNB-DU-ID ::= INTEGER (0..68719476735)
|
||||||
|
|
||||||
|
-- copied from v16.5.0
|
||||||
|
NR-PCI ::= INTEGER (0..1007)
|
||||||
|
|
||||||
|
-- copied from v16.5.0
|
||||||
|
NR-ARFCN ::= SEQUENCE {
|
||||||
|
nRARFCN INTEGER (0..maxNRARFCN),
|
||||||
|
...
|
||||||
|
}
|
||||||
|
-- copied from v16.5.0
|
||||||
|
NRFrequencyBand-List ::= SEQUENCE (SIZE(1..maxnoofNrCellBands)) OF NRFrequencyBandItem
|
||||||
|
|
||||||
|
-- copied from v16.5.0
|
||||||
|
NRFrequencyBandItem ::= SEQUENCE {
|
||||||
|
freqBandIndicatorNr INTEGER (1..1024,...),
|
||||||
|
supportedSULBandList SupportedSULBandList,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
-- copied from v16.5.0
|
||||||
|
NRFrequencyInfo ::= SEQUENCE {
|
||||||
|
nrARFCN NR-ARFCN,
|
||||||
|
frequencyBand-List NRFrequencyBand-List,
|
||||||
|
frequencyShift7p5khz NRFrequencyShift7p5khz OPTIONAL,
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
-- copied from v16.5.0
|
||||||
|
NRFrequencyShift7p5khz ::= ENUMERATED {false, true, ...}
|
||||||
|
|
||||||
|
|
||||||
|
-- copied from v16.5.0
|
||||||
|
RANUEID ::= OCTET STRING (SIZE (8))
|
||||||
|
|
||||||
|
|
||||||
|
-- copied from v16.5.0
|
||||||
|
SupportedSULBandList ::= SEQUENCE (SIZE(0..maxnoofNrCellBands)) OF SupportedSULFreqBandItem
|
||||||
|
|
||||||
|
-- copied from v16.5.0
|
||||||
|
SupportedSULFreqBandItem ::= SEQUENCE {
|
||||||
|
freqBandIndicatorNr INTEGER (1..1024,...),
|
||||||
|
...
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
END
|
||||||
|
-- ASN1STOP
|
|
@ -8,7 +8,7 @@
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||||
*
|
*
|
||||||
* References: ORAN-WG3.E2AP-v01.00, ORAN-WG3.E2SM-KPM-v01.00
|
* References: ORAN-WG3.E2AP-v02.01, ORAN-WG3.E2SM-KPM-v02.02, ORAN-WG3.E2SM-RC.01.02
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
@ -45,12 +45,36 @@ static dissector_handle_t e2ap_handle;
|
||||||
static int proto_e2ap = -1;
|
static int proto_e2ap = -1;
|
||||||
#include "packet-e2ap-hf.c"
|
#include "packet-e2ap-hf.c"
|
||||||
|
|
||||||
|
static int hf_e2ap_unmapped_ran_function_id = -1;
|
||||||
|
static int hf_e2ap_ran_function_name_not_recognised = -1;
|
||||||
|
static int hf_e2ap_ran_function_setup_frame = -1;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Initialize the subtree pointers */
|
/* Initialize the subtree pointers */
|
||||||
static gint ett_e2ap = -1;
|
static gint ett_e2ap = -1;
|
||||||
|
|
||||||
|
static expert_field ei_e2ap_ran_function_names_no_match = EI_INIT;
|
||||||
|
static expert_field ei_e2ap_ran_function_id_not_mapped = EI_INIT;
|
||||||
|
|
||||||
#include "packet-e2ap-ett.c"
|
#include "packet-e2ap-ett.c"
|
||||||
|
|
||||||
|
|
||||||
|
/* Forward declarations */
|
||||||
|
static int dissect_E2SM_KPM_EventTriggerDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
|
||||||
|
static int dissect_E2SM_KPM_ActionDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
|
||||||
|
static int dissect_E2SM_KPM_IndicationHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
|
||||||
|
static int dissect_E2SM_KPM_IndicationMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
|
||||||
|
static int dissect_E2SM_KPM_RANfunction_Description_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
|
||||||
|
|
||||||
|
static int dissect_E2SM_RC_EventTrigger_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
|
||||||
|
static int dissect_E2SM_RC_ActionDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
|
||||||
|
static int dissect_E2SM_RC_RANFunctionDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
|
||||||
|
static int dissect_E2SM_RC_IndicationMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
|
||||||
|
static int dissect_E2SM_RC_IndicationHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
|
||||||
|
static int dissect_E2SM_RC_CallProcessID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
|
||||||
|
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
INITIATING_MESSAGE,
|
INITIATING_MESSAGE,
|
||||||
SUCCESSFUL_OUTCOME,
|
SUCCESSFUL_OUTCOME,
|
||||||
|
@ -72,37 +96,10 @@ struct e2ap_private_data {
|
||||||
guint32 protocol_extension_id;
|
guint32 protocol_extension_id;
|
||||||
guint32 message_type;
|
guint32 message_type;
|
||||||
guint32 ran_ue_e2ap_id;
|
guint32 ran_ue_e2ap_id;
|
||||||
|
|
||||||
|
guint32 ran_function_id;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Dissector tables */
|
|
||||||
static dissector_table_t e2ap_ies_dissector_table;
|
|
||||||
//static dissector_table_t e2ap_ies_p1_dissector_table;
|
|
||||||
//static dissector_table_t e2ap_ies_p2_dissector_table;
|
|
||||||
static dissector_table_t e2ap_extension_dissector_table;
|
|
||||||
static dissector_table_t e2ap_proc_imsg_dissector_table;
|
|
||||||
static dissector_table_t e2ap_proc_sout_dissector_table;
|
|
||||||
static dissector_table_t e2ap_proc_uout_dissector_table;
|
|
||||||
static dissector_table_t e2ap_n2_ie_type_dissector_table;
|
|
||||||
|
|
||||||
static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
|
|
||||||
/* Currently not used
|
|
||||||
static int dissect_ProtocolIEFieldPairFirstValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
|
|
||||||
static int dissect_ProtocolIEFieldPairSecondValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Forward declarations */
|
|
||||||
static int dissect_E2SM_KPM_ActionDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
|
|
||||||
static int dissect_E2SM_KPM_RANfunction_Description_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
|
|
||||||
static int dissect_E2SM_KPM_EventTriggerDefinition_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
|
|
||||||
static int dissect_E2SM_KPM_IndicationHeader_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
|
|
||||||
static int dissect_RANcallProcess_ID_string_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
|
|
||||||
static int dissect_E2SM_KPM_IndicationMessage_Format1_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
|
|
||||||
|
|
||||||
|
|
||||||
static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
|
|
||||||
static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
|
|
||||||
static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
|
|
||||||
|
|
||||||
static struct e2ap_private_data*
|
static struct e2ap_private_data*
|
||||||
e2ap_get_private_data(packet_info *pinfo)
|
e2ap_get_private_data(packet_info *pinfo)
|
||||||
{
|
{
|
||||||
|
@ -114,6 +111,208 @@ e2ap_get_private_data(packet_info *pinfo)
|
||||||
return e2ap_data;
|
return e2ap_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/****************************************************************************************************************/
|
||||||
|
/* We learn which set of RAN functions pointers corresponds to a given ranFunctionID when we see E2SetupRequest */
|
||||||
|
typedef int (*pdu_dissector_t)(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data);
|
||||||
|
|
||||||
|
/* Function pointers for a RANFunction */
|
||||||
|
typedef struct {
|
||||||
|
pdu_dissector_t ran_function_definition_dissector;
|
||||||
|
pdu_dissector_t ran_action_definition_dissector;
|
||||||
|
pdu_dissector_t ran_indication_message_dissector;
|
||||||
|
pdu_dissector_t ran_indication_header_dissector;
|
||||||
|
pdu_dissector_t ran_callprocessid_dissector;
|
||||||
|
pdu_dissector_t ran_event_trigger_dissector;
|
||||||
|
} ran_function_pointers_t;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
MIN_RANFUNCTIONS,
|
||||||
|
KPM_RANFUNCTIONS=0,
|
||||||
|
RIC_RANFUNCTIONS,
|
||||||
|
MAX_RANFUNCTIONS
|
||||||
|
} ran_function_t;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
const char* name;
|
||||||
|
ran_function_pointers_t functions;
|
||||||
|
} ran_function_name_mapping_t;
|
||||||
|
|
||||||
|
/* Static table mapping from string -> ran_function */
|
||||||
|
static const ran_function_name_mapping_t g_ran_functioname_table[MAX_RANFUNCTIONS] =
|
||||||
|
{
|
||||||
|
{ "ORAN-E2SM-KPM", { dissect_E2SM_KPM_RANfunction_Description_PDU,
|
||||||
|
dissect_E2SM_KPM_ActionDefinition_PDU,
|
||||||
|
dissect_E2SM_KPM_IndicationMessage_PDU,
|
||||||
|
dissect_E2SM_KPM_IndicationHeader_PDU,
|
||||||
|
NULL, /* no dissect_E2SM_KPM_CallProcessID_PDU */
|
||||||
|
dissect_E2SM_KPM_EventTriggerDefinition_PDU
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{ "ORAN-E2SM-RC", { dissect_E2SM_RC_RANFunctionDefinition_PDU,
|
||||||
|
dissect_E2SM_RC_ActionDefinition_PDU,
|
||||||
|
dissect_E2SM_RC_IndicationMessage_PDU,
|
||||||
|
dissect_E2SM_RC_IndicationHeader_PDU,
|
||||||
|
dissect_E2SM_RC_CallProcessID_PDU,
|
||||||
|
dissect_E2SM_RC_EventTrigger_PDU
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Per-conversation mapping: ranFunctionId -> ran_function */
|
||||||
|
typedef struct {
|
||||||
|
guint32 setup_frame;
|
||||||
|
guint32 ran_function_id;
|
||||||
|
ran_function_t ran_function;
|
||||||
|
ran_function_pointers_t *ran_function_pointers;
|
||||||
|
} ran_function_id_mapping_t;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
#define MAX_RANFUNCTION_ENTRIES 16
|
||||||
|
guint32 num_entries;
|
||||||
|
ran_function_id_mapping_t entries[MAX_RANFUNCTION_ENTRIES];
|
||||||
|
} ran_functionid_table_t;
|
||||||
|
|
||||||
|
const char *ran_function_to_str(ran_function_t ran_function)
|
||||||
|
{
|
||||||
|
switch (ran_function) {
|
||||||
|
case KPM_RANFUNCTIONS:
|
||||||
|
return "KPM";
|
||||||
|
case RIC_RANFUNCTIONS:
|
||||||
|
return "RIC";
|
||||||
|
|
||||||
|
default:
|
||||||
|
return "Unknown";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Get RANfunctionID table from conversation data */
|
||||||
|
ran_functionid_table_t* get_ran_functionid_table(packet_info *pinfo)
|
||||||
|
{
|
||||||
|
conversation_t *p_conv;
|
||||||
|
ran_functionid_table_t *p_conv_data = NULL;
|
||||||
|
|
||||||
|
/* Lookup conversation */
|
||||||
|
p_conv = find_conversation(pinfo->num, &pinfo->net_dst, &pinfo->net_src,
|
||||||
|
conversation_pt_to_endpoint_type(pinfo->ptype),
|
||||||
|
pinfo->destport, pinfo->srcport, 0);
|
||||||
|
if (!p_conv) {
|
||||||
|
/* None, so create new data and set */
|
||||||
|
p_conv = conversation_new(pinfo->num, &pinfo->net_dst, &pinfo->net_src,
|
||||||
|
conversation_pt_to_endpoint_type(pinfo->ptype),
|
||||||
|
pinfo->destport, pinfo->srcport, 0);
|
||||||
|
p_conv_data = (ran_functionid_table_t*)wmem_new0(wmem_file_scope(), ran_functionid_table_t);
|
||||||
|
conversation_add_proto_data(p_conv, proto_e2ap, p_conv_data);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
/* Will return existing conversation data */
|
||||||
|
p_conv_data = (ran_functionid_table_t*)conversation_get_proto_data(p_conv, proto_e2ap);
|
||||||
|
}
|
||||||
|
|
||||||
|
return p_conv_data;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Store new RANfunctionID -> Service Model mapping in table */
|
||||||
|
static void store_ran_function_mapping(packet_info *pinfo, ran_functionid_table_t *table, guint32 ran_function_id, const char *name)
|
||||||
|
{
|
||||||
|
/* Stop if already reached table limit */
|
||||||
|
if (table->num_entries == MAX_RANFUNCTION_ENTRIES) {
|
||||||
|
/* TODO: expert info warning? */
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
ran_function_t ran_function = MAX_RANFUNCTIONS; /* i.e. invalid */
|
||||||
|
ran_function_pointers_t *ran_function_pointers = NULL;
|
||||||
|
|
||||||
|
/* Check known RAN functions */
|
||||||
|
for (int n=MIN_RANFUNCTIONS; n < MAX_RANFUNCTIONS; n++) {
|
||||||
|
/* TODO: shouldn't need to check both positions! */
|
||||||
|
if ((strcmp(name, g_ran_functioname_table[n].name) == 0) ||
|
||||||
|
(strcmp(name+1, g_ran_functioname_table[n].name) == 0)) {
|
||||||
|
|
||||||
|
ran_function = n;
|
||||||
|
ran_function_pointers = (ran_function_pointers_t*)&(g_ran_functioname_table[n].functions);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Nothing to do if no matches */
|
||||||
|
if (ran_function == MAX_RANFUNCTIONS) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* If ID already mapped, ignore */
|
||||||
|
for (guint n=0; n < table->num_entries; n++) {
|
||||||
|
if (table->entries[n].ran_function_id == ran_function_id) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* OK, store this new entry */
|
||||||
|
guint idx = table->num_entries++;
|
||||||
|
table->entries[idx].setup_frame = pinfo->num;
|
||||||
|
table->entries[idx].ran_function_id = ran_function_id;
|
||||||
|
table->entries[idx].ran_function = ran_function;
|
||||||
|
table->entries[idx].ran_function_pointers = ran_function_pointers;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Look for Service Model function pointers, based on current RANFunctionID in pinfo */
|
||||||
|
ran_function_pointers_t* lookup_ranfunction_pointers(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb)
|
||||||
|
{
|
||||||
|
/* Get ranFunctionID from this frame */
|
||||||
|
struct e2ap_private_data *e2ap_data = e2ap_get_private_data(pinfo);
|
||||||
|
guint ran_function_id = e2ap_data->ran_function_id;
|
||||||
|
|
||||||
|
/* Look in table function pointers for this ranFunctionID */
|
||||||
|
ran_functionid_table_t *table = get_ran_functionid_table(pinfo);
|
||||||
|
for (guint n=0; n < table->num_entries; n++) {
|
||||||
|
if (ran_function_id == table->entries[n].ran_function_id) {
|
||||||
|
/* Point back at the setup frame where this ranfunction was mapped */
|
||||||
|
proto_item *ti = proto_tree_add_uint(tree, hf_e2ap_ran_function_setup_frame,
|
||||||
|
tvb, 0, 0, table->entries[n].setup_frame);
|
||||||
|
/* Also show that mapping */
|
||||||
|
proto_item_append_text(ti, " (%u -> %s)", table->entries[n].ran_function_id, ran_function_to_str(table->entries[n].ran_function));
|
||||||
|
proto_item_set_generated(ti);
|
||||||
|
|
||||||
|
return table->entries[n].ran_function_pointers;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* No match found.. */
|
||||||
|
proto_item *ti = proto_tree_add_item(tree, hf_e2ap_unmapped_ran_function_id, tvb, 0, 0, ENC_NA);
|
||||||
|
expert_add_info_format(pinfo, ti, &ei_e2ap_ran_function_id_not_mapped,
|
||||||
|
"Service Model not mapped for FunctionID %u", ran_function_id);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Dissector tables */
|
||||||
|
static dissector_table_t e2ap_ies_dissector_table;
|
||||||
|
|
||||||
|
//static dissector_table_t e2ap_ies_p1_dissector_table;
|
||||||
|
//static dissector_table_t e2ap_ies_p2_dissector_table;
|
||||||
|
static dissector_table_t e2ap_extension_dissector_table;
|
||||||
|
static dissector_table_t e2ap_proc_imsg_dissector_table;
|
||||||
|
static dissector_table_t e2ap_proc_sout_dissector_table;
|
||||||
|
static dissector_table_t e2ap_proc_uout_dissector_table;
|
||||||
|
static dissector_table_t e2ap_n2_ie_type_dissector_table;
|
||||||
|
|
||||||
|
static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
|
||||||
|
|
||||||
|
/* Currently not used
|
||||||
|
static int dissect_ProtocolIEFieldPairFirstValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
|
||||||
|
static int dissect_ProtocolIEFieldPairSecondValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
|
||||||
|
static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
|
||||||
|
static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
|
||||||
|
|
||||||
|
|
||||||
#include "packet-e2ap-fn.c"
|
#include "packet-e2ap-fn.c"
|
||||||
|
|
||||||
static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
|
static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
|
||||||
|
@ -128,6 +327,9 @@ static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto
|
||||||
|
|
||||||
return (dissector_try_uint_new(e2ap_ies_dissector_table, e2ap_data->protocol_ie_id, tvb, pinfo, tree, FALSE, &e2ap_ctx)) ? tvb_captured_length(tvb) : 0;
|
return (dissector_try_uint_new(e2ap_ies_dissector_table, e2ap_data->protocol_ie_id, tvb, pinfo, tree, FALSE, &e2ap_ctx)) ? tvb_captured_length(tvb) : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Currently not used
|
/* Currently not used
|
||||||
static int dissect_ProtocolIEFieldPairFirstValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
static int dissect_ProtocolIEFieldPairFirstValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
|
||||||
{
|
{
|
||||||
|
@ -181,7 +383,6 @@ dissect_e2ap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_
|
||||||
e2ap_item = proto_tree_add_item(tree, proto_e2ap, tvb, 0, -1, ENC_NA);
|
e2ap_item = proto_tree_add_item(tree, proto_e2ap, tvb, 0, -1, ENC_NA);
|
||||||
e2ap_tree = proto_item_add_subtree(e2ap_item, ett_e2ap);
|
e2ap_tree = proto_item_add_subtree(e2ap_item, ett_e2ap);
|
||||||
|
|
||||||
|
|
||||||
return dissect_E2AP_PDU_PDU(tvb, pinfo, e2ap_tree, NULL);
|
return dissect_E2AP_PDU_PDU(tvb, pinfo, e2ap_tree, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -191,17 +392,12 @@ void
|
||||||
proto_reg_handoff_e2ap(void)
|
proto_reg_handoff_e2ap(void)
|
||||||
{
|
{
|
||||||
dissector_add_uint_with_preference("sctp.port", SCTP_PORT_E2AP, e2ap_handle);
|
dissector_add_uint_with_preference("sctp.port", SCTP_PORT_E2AP, e2ap_handle);
|
||||||
#if 0
|
|
||||||
/* TODO: should one or more of these be registered? */
|
|
||||||
dissector_add_uint("sctp.ppi", E2_CP_PROTOCOL_ID, e2ap_handle);
|
|
||||||
dissector_add_uint("sctp.ppi", E2_UP_PROTOCOL_ID, e2ap_handle);
|
|
||||||
dissector_add_uint("sctp.ppi", E2_DU_PROTOCOL_ID, e2ap_handle);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include "packet-e2ap-dis-tab.c"
|
#include "packet-e2ap-dis-tab.c"
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*--- proto_register_e2ap -------------------------------------------*/
|
/*--- proto_register_e2ap -------------------------------------------*/
|
||||||
void proto_register_e2ap(void) {
|
void proto_register_e2ap(void) {
|
||||||
|
|
||||||
|
@ -209,7 +405,18 @@ void proto_register_e2ap(void) {
|
||||||
|
|
||||||
static hf_register_info hf[] = {
|
static hf_register_info hf[] = {
|
||||||
#include "packet-e2ap-hfarr.c"
|
#include "packet-e2ap-hfarr.c"
|
||||||
|
{ &hf_e2ap_unmapped_ran_function_id,
|
||||||
|
{ "Unmapped RANfunctionID", "e2ap.unmapped-ran-function-id",
|
||||||
|
FT_NONE, BASE_NONE, NULL, 0x0,
|
||||||
|
NULL, HFILL }},
|
||||||
|
{ &hf_e2ap_ran_function_name_not_recognised,
|
||||||
|
{ "RANfunction name not recognised", "e2ap.ran-function-name-not-recognised",
|
||||||
|
FT_NONE, BASE_NONE, NULL, 0x0,
|
||||||
|
NULL, HFILL }},
|
||||||
|
{ &hf_e2ap_ran_function_setup_frame,
|
||||||
|
{ "RANfunction setup frame", "e2ap.setup-frame",
|
||||||
|
FT_FRAMENUM, BASE_NONE, NULL, 0x0,
|
||||||
|
NULL, HFILL }}
|
||||||
};
|
};
|
||||||
|
|
||||||
/* List of subtrees */
|
/* List of subtrees */
|
||||||
|
@ -218,8 +425,12 @@ void proto_register_e2ap(void) {
|
||||||
#include "packet-e2ap-ettarr.c"
|
#include "packet-e2ap-ettarr.c"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static ei_register_info ei[] = {
|
||||||
|
{ &ei_e2ap_ran_function_names_no_match, { "e2ap.ran-function-names-no-match", PI_PROTOCOL, PI_WARN, "RAN Function name doesn't match known service models", EXPFILL }},
|
||||||
|
{ &ei_e2ap_ran_function_id_not_mapped, { "e2ap.ran-function-id-not-known", PI_PROTOCOL, PI_WARN, "Service Model not known for RANFunctionID", EXPFILL }},
|
||||||
|
};
|
||||||
|
|
||||||
/* module_t *e2ap_module; */
|
expert_module_t* expert_e2ap;
|
||||||
|
|
||||||
/* Register protocol */
|
/* Register protocol */
|
||||||
proto_e2ap = proto_register_protocol(PNAME, PSNAME, PFNAME);
|
proto_e2ap = proto_register_protocol(PNAME, PSNAME, PFNAME);
|
||||||
|
@ -231,8 +442,12 @@ void proto_register_e2ap(void) {
|
||||||
/* Register dissector */
|
/* Register dissector */
|
||||||
e2ap_handle = register_dissector("e2ap", dissect_e2ap, proto_e2ap);
|
e2ap_handle = register_dissector("e2ap", dissect_e2ap, proto_e2ap);
|
||||||
|
|
||||||
|
expert_e2ap = expert_register_protocol(proto_e2ap);
|
||||||
|
expert_register_field_array(expert_e2ap, ei, array_length(ei));
|
||||||
|
|
||||||
/* Register dissector tables */
|
/* Register dissector tables */
|
||||||
e2ap_ies_dissector_table = register_dissector_table("e2ap.ies", "E2AP-PROTOCOL-IES", proto_e2ap, FT_UINT32, BASE_DEC);
|
e2ap_ies_dissector_table = register_dissector_table("e2ap.ies", "E2AP-PROTOCOL-IES", proto_e2ap, FT_UINT32, BASE_DEC);
|
||||||
|
|
||||||
// e2ap_ies_p1_dissector_table = register_dissector_table("e2ap.ies.pair.first", "E2AP-PROTOCOL-IES-PAIR FirstValue", proto_e2ap, FT_UINT32, BASE_DEC);
|
// e2ap_ies_p1_dissector_table = register_dissector_table("e2ap.ies.pair.first", "E2AP-PROTOCOL-IES-PAIR FirstValue", proto_e2ap, FT_UINT32, BASE_DEC);
|
||||||
// e2ap_ies_p2_dissector_table = register_dissector_table("e2ap.ies.pair.second", "E2AP-PROTOCOL-IES-PAIR SecondValue", proto_e2ap, FT_UINT32, BASE_DEC);
|
// e2ap_ies_p2_dissector_table = register_dissector_table("e2ap.ies.pair.second", "E2AP-PROTOCOL-IES-PAIR SecondValue", proto_e2ap, FT_UINT32, BASE_DEC);
|
||||||
e2ap_extension_dissector_table = register_dissector_table("e2ap.extension", "E2AP-PROTOCOL-EXTENSION", proto_e2ap, FT_UINT32, BASE_DEC);
|
e2ap_extension_dissector_table = register_dissector_table("e2ap.extension", "E2AP-PROTOCOL-EXTENSION", proto_e2ap, FT_UINT32, BASE_DEC);
|
||||||
|
@ -240,10 +455,6 @@ void proto_register_e2ap(void) {
|
||||||
e2ap_proc_sout_dissector_table = register_dissector_table("e2ap.proc.sout", "E2AP-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_e2ap, FT_UINT32, BASE_DEC);
|
e2ap_proc_sout_dissector_table = register_dissector_table("e2ap.proc.sout", "E2AP-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_e2ap, FT_UINT32, BASE_DEC);
|
||||||
e2ap_proc_uout_dissector_table = register_dissector_table("e2ap.proc.uout", "E2AP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_e2ap, FT_UINT32, BASE_DEC);
|
e2ap_proc_uout_dissector_table = register_dissector_table("e2ap.proc.uout", "E2AP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_e2ap, FT_UINT32, BASE_DEC);
|
||||||
e2ap_n2_ie_type_dissector_table = register_dissector_table("e2ap.n2_ie_type", "E2AP N2 IE Type", proto_e2ap, FT_STRING, FALSE);
|
e2ap_n2_ie_type_dissector_table = register_dissector_table("e2ap.n2_ie_type", "E2AP N2 IE Type", proto_e2ap, FT_STRING, FALSE);
|
||||||
|
|
||||||
/* Register configuration options for ports */
|
|
||||||
/* e2ap_module = prefs_register_protocol(proto_e2ap, NULL); */
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -815,7 +815,7 @@ class EthCtx:
|
||||||
|
|
||||||
#--- eth_reg_assign ---------------------------------------------------------
|
#--- eth_reg_assign ---------------------------------------------------------
|
||||||
def eth_reg_assign(self, ident, val, virt=False):
|
def eth_reg_assign(self, ident, val, virt=False):
|
||||||
#print "eth_reg_assign(ident='%s')" % (ident)
|
#print("eth_reg_assign(ident='%s')" % (ident), 'module=', self.Module())
|
||||||
if ident in self.assign:
|
if ident in self.assign:
|
||||||
raise DuplicateError("assignment", ident)
|
raise DuplicateError("assignment", ident)
|
||||||
self.assign[ident] = { 'val' : val , 'virt' : virt }
|
self.assign[ident] = { 'val' : val , 'virt' : virt }
|
||||||
|
@ -935,13 +935,14 @@ class EthCtx:
|
||||||
|
|
||||||
#--- eth_reg_type -----------------------------------------------------------
|
#--- eth_reg_type -----------------------------------------------------------
|
||||||
def eth_reg_type(self, ident, val, mod=None):
|
def eth_reg_type(self, ident, val, mod=None):
|
||||||
#print "eth_reg_type(ident='%s', type='%s')" % (ident, val.type)
|
#print("eth_reg_type(ident='%s', type='%s')" % (ident, val.type))
|
||||||
if ident in self.type:
|
if ident in self.type:
|
||||||
if self.type[ident]['import'] and (self.type[ident]['import'] == self.Module()) :
|
if self.type[ident]['import'] and (self.type[ident]['import'] == self.Module()) :
|
||||||
# replace imported type
|
# replace imported type
|
||||||
del self.type[ident]
|
del self.type[ident]
|
||||||
self.type_imp.remove(ident)
|
self.type_imp.remove(ident)
|
||||||
else:
|
else:
|
||||||
|
#print('DuplicateError: import=', self.type[ident]['import'], 'module=', self.Module())
|
||||||
raise DuplicateError("type", ident)
|
raise DuplicateError("type", ident)
|
||||||
val.ident = ident
|
val.ident = ident
|
||||||
self.type[ident] = { 'val' : val, 'import' : None }
|
self.type[ident] = { 'val' : val, 'import' : None }
|
||||||
|
|
Loading…
Reference in New Issue