-- 3GPP TS 36.443 V17.0.1 (2022-04) -- ************************************************************** -- -- Container definitions -- -- ************************************************************** M2AP-Containers { itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) eps-Access (21) modules (3) m2ap (4) version1 (1) m2ap-Containers (5) } DEFINITIONS AUTOMATIC TAGS ::= BEGIN -- ************************************************************** -- -- IE parameter types from other modules. -- -- ************************************************************** IMPORTS maxPrivateIEs, maxProtocolExtensions, maxProtocolIEs, Criticality, Presence, PrivateIE-ID, ProtocolIE-ID FROM M2AP-CommonDataTypes; -- ************************************************************** -- -- Class Definition for Protocol Ies -- -- ************************************************************** M2AP-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 -- -- ************************************************************** M2AP-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 -- -- ************************************************************** M2AP-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 -- -- ************************************************************** M2AP-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 {M2AP-PROTOCOL-IES : IesSetParam} ::= SEQUENCE (SIZE (0..maxProtocolIEs)) OF ProtocolIE-Field {{IesSetParam}} ProtocolIE-Single-Container {M2AP-PROTOCOL-IES : IesSetParam} ::= ProtocolIE-Field {{IesSetParam}} ProtocolIE-Field {M2AP-PROTOCOL-IES : IesSetParam} ::= SEQUENCE { id M2AP-PROTOCOL-IES.&id ({IesSetParam}), criticality M2AP-PROTOCOL-IES.&criticality ({IesSetParam}{@id}), value M2AP-PROTOCOL-IES.&Value ({IesSetParam}{@id}) } -- ************************************************************** -- -- Container for Protocol IE Pairs -- -- ************************************************************** ProtocolIE-ContainerPair {M2AP-PROTOCOL-IES-PAIR : IesSetParam} ::= SEQUENCE (SIZE (0..maxProtocolIEs)) OF ProtocolIE-FieldPair {{IesSetParam}} ProtocolIE-FieldPair {M2AP-PROTOCOL-IES-PAIR : IesSetParam} ::= SEQUENCE { id M2AP-PROTOCOL-IES-PAIR.&id ({IesSetParam}), firstCriticality M2AP-PROTOCOL-IES-PAIR.&firstCriticality ({IesSetParam}{@id}), firstValue M2AP-PROTOCOL-IES-PAIR.&FirstValue ({IesSetParam}{@id}), secondCriticality M2AP-PROTOCOL-IES-PAIR.&secondCriticality ({IesSetParam}{@id}), secondValue M2AP-PROTOCOL-IES-PAIR.&SecondValue ({IesSetParam}{@id}) } -- ************************************************************** -- -- Container Lists for Protocol IE Containers -- -- ************************************************************** ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, M2AP-PROTOCOL-IES : IesSetParam} ::= SEQUENCE (SIZE (lowerBound..upperBound)) OF ProtocolIE-Container {{IesSetParam}} ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, M2AP-PROTOCOL-IES-PAIR : IesSetParam} ::= SEQUENCE (SIZE (lowerBound..upperBound)) OF ProtocolIE-ContainerPair {{IesSetParam}} -- ************************************************************** -- -- Container for Protocol Extensions -- -- ************************************************************** ProtocolExtensionContainer {M2AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE (SIZE (1..maxProtocolExtensions)) OF ProtocolExtensionField {{ExtensionSetParam}} ProtocolExtensionField {M2AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE { id M2AP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}), criticality M2AP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}), extensionValue M2AP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id}) } -- ************************************************************** -- -- Container for Private Ies -- -- ************************************************************** PrivateIE-Container {M2AP-PRIVATE-IES : IesSetParam} ::= SEQUENCE (SIZE (1..maxPrivateIEs)) OF PrivateIE-Field {{IesSetParam}} PrivateIE-Field {M2AP-PRIVATE-IES : IesSetParam} ::= SEQUENCE { id M2AP-PRIVATE-IES.&id ({IesSetParam}), criticality M2AP-PRIVATE-IES.&criticality ({IesSetParam}{@id}), value M2AP-PRIVATE-IES.&Value ({IesSetParam}{@id}) } END