9.3.8 Container definitions

36.4233GPPEvolved Universal Terrestrial Radio Access Network (E-UTRAN)Release 17TSX2 Application Protocol (X2AP)

— ASN1START

— **************************************************************

— Container definitions

— **************************************************************

X2AP-Containers {

itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)

eps-Access (21) modules (3) x2ap (2) version1 (1) x2ap-Containers (5) }

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

— **************************************************************

— IE parameter types from other modules.

— **************************************************************

IMPORTS

maxPrivateIEs,

maxProtocolExtensions,

maxProtocolIEs,

Criticality,

Presence,

PrivateIE-ID,

ProtocolIE-ID

FROM X2AP-CommonDataTypes;

— **************************************************************

— Class Definition for Protocol IEs

— **************************************************************

X2AP-PROTOCOL-IES ::= CLASS {

&id ProtocolIE-ID UNIQUE,

&criticality Criticality,

&Value,

&presence Presence

}

WITH SYNTAX {

ID &id

CRITICALITY &criticality

TYPE &Value

PRESENCE &presence

}

— **************************************************************

— Class Definition for Protocol IEs

— **************************************************************

X2AP-PROTOCOL-IES-PAIR ::= CLASS {

&id ProtocolIE-ID UNIQUE,

&firstCriticality Criticality,

&FirstValue,

&secondCriticality Criticality,

&SecondValue,

&presence Presence

}

WITH SYNTAX {

ID &id

FIRST CRITICALITY &firstCriticality

FIRST TYPE &FirstValue

SECOND CRITICALITY &secondCriticality

SECOND TYPE &SecondValue

PRESENCE &presence

}

— **************************************************************

— Class Definition for Protocol Extensions

— **************************************************************

X2AP-PROTOCOL-EXTENSION ::= CLASS {

&id ProtocolIE-ID UNIQUE,

&criticality Criticality,

&Extension,

&presence Presence

}

WITH SYNTAX {

ID &id

CRITICALITY &criticality

EXTENSION &Extension

PRESENCE &presence

}

— **************************************************************

— Class Definition for Private IEs

— **************************************************************

X2AP-PRIVATE-IES ::= CLASS {

&id PrivateIE-ID,

&criticality Criticality,

&Value,

&presence Presence

}

WITH SYNTAX {

ID &id

CRITICALITY &criticality

TYPE &Value

PRESENCE &presence

}

— **************************************************************

— Container for Protocol IEs

— **************************************************************

ProtocolIE-Container {X2AP-PROTOCOL-IES : IEsSetParam} ::=

SEQUENCE (SIZE (0..maxProtocolIEs)) OF

ProtocolIE-Field {{IEsSetParam}}

ProtocolIE-Single-Container {X2AP-PROTOCOL-IES : IEsSetParam} ::=

ProtocolIE-Field {{IEsSetParam}}

ProtocolIE-Field {X2AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {

id X2AP-PROTOCOL-IES.&id ({IEsSetParam}),

criticality X2AP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),

value X2AP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})

}

— **************************************************************

— Container for Protocol IE Pairs

— **************************************************************

ProtocolIE-ContainerPair {X2AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=

SEQUENCE (SIZE (0..maxProtocolIEs)) OF

ProtocolIE-FieldPair {{IEsSetParam}}

ProtocolIE-FieldPair {X2AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {

id X2AP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}),

firstCriticality X2AP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}),

firstValue X2AP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}),

secondCriticality X2AP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}),

secondValue X2AP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id})

}

— **************************************************************

— Container Lists for Protocol IE Containers

— **************************************************************

ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, X2AP-PROTOCOL-IES : IEsSetParam} ::=

SEQUENCE (SIZE (lowerBound..upperBound)) OF

ProtocolIE-Container {{IEsSetParam}}

ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, X2AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=

SEQUENCE (SIZE (lowerBound..upperBound)) OF

ProtocolIE-ContainerPair {{IEsSetParam}}

— **************************************************************

— Container for Protocol Extensions

— **************************************************************

ProtocolExtensionContainer {X2AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=

SEQUENCE (SIZE (1..maxProtocolExtensions)) OF

ProtocolExtensionField {{ExtensionSetParam}}

ProtocolExtensionField {X2AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {

id X2AP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),

criticality X2AP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),

extensionValue X2AP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})

}

— **************************************************************

— Container for Private IEs

— **************************************************************

PrivateIE-Container {X2AP-PRIVATE-IES : IEsSetParam} ::=

SEQUENCE (SIZE (1..maxPrivateIEs)) OF

PrivateIE-Field {{IEsSetParam}}

PrivateIE-Field {X2AP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {

id X2AP-PRIVATE-IES.&id ({IEsSetParam}),

criticality X2AP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),

value X2AP-PRIVATE-IES.&Value ({IEsSetParam}{@id})

}

END

— ASN1STOP