9.3.8 Container definitions

38.4233GPPNG-RANRelease 17TSXn Application Protocol (XnAP)

— ASN1START

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

— Container definitions

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

XnAP-Containers {

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

ngran-access (22) modules (3) xnap (2) version1 (1) xnap-Containers (5) }

DEFINITIONS AUTOMATIC TAGS ::=

BEGIN

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

— IE parameter types from other modules.

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

IMPORTS

maxPrivateIEs,

maxProtocolExtensions,

maxProtocolIEs,

Criticality,

Presence,

PrivateIE-ID,

ProtocolIE-ID

FROM XnAP-CommonDataTypes;

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

— Class Definition for Protocol IEs

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

XNAP-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 IE pairs

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

XNAP-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

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

XNAP-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

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

XNAP-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 {XNAP-PROTOCOL-IES : IEsSetParam} ::=

SEQUENCE (SIZE (0..maxProtocolIEs)) OF

ProtocolIE-Field {{IEsSetParam}}

ProtocolIE-Single-Container {XNAP-PROTOCOL-IES : IEsSetParam} ::= ProtocolIE-Field {{IEsSetParam}}

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

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

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

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

}

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

— Container for Protocol IE Pairs

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

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

SEQUENCE (SIZE (0..maxProtocolIEs)) OF

ProtocolIE-FieldPair {{IEsSetParam}}

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

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

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

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

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

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

}

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

— Container Lists for Protocol IE Containers

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

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

SEQUENCE (SIZE (lowerBound..upperBound)) OF

ProtocolIE-Container {{IEsSetParam}}

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

SEQUENCE (SIZE (lowerBound..upperBound)) OF

ProtocolIE-ContainerPair {{IEsSetParam}}

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

— Container for Protocol Extensions

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

ProtocolExtensionContainer {XNAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE (SIZE (1..maxProtocolExtensions)) OF

ProtocolExtensionField {{ExtensionSetParam}}

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

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

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

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

}

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

— Container for Private IEs

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

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

SEQUENCE (SIZE (1..maxPrivateIEs)) OF

PrivateIE-Field {{IEsSetParam}}

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

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

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

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

}

END

— ASN1STOP