From ac666f58317929639fcb685371b2dd5ee53a63c0 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sat, 29 Aug 2015 10:00:38 +0200 Subject: Import HNBAP asn.1 from 3GPP TS 25.469 V12.4.0 (2015-03) --- asn1/hnbap/HNBAP-CommonDataTypes.asn | 47 +++ asn1/hnbap/HNBAP-Constants.asn | 98 ++++++ asn1/hnbap/HNBAP-Containers.asn | 149 +++++++++ asn1/hnbap/HNBAP-IEs.asn | 567 ++++++++++++++++++++++++++++++++++ asn1/hnbap/HNBAP-PDU-Contents.asn | 561 +++++++++++++++++++++++++++++++++ asn1/hnbap/HNBAP-PDU-Descriptions.asn | 228 ++++++++++++++ 6 files changed, 1650 insertions(+) create mode 100644 asn1/hnbap/HNBAP-CommonDataTypes.asn create mode 100644 asn1/hnbap/HNBAP-Constants.asn create mode 100644 asn1/hnbap/HNBAP-Containers.asn create mode 100644 asn1/hnbap/HNBAP-IEs.asn create mode 100644 asn1/hnbap/HNBAP-PDU-Contents.asn create mode 100644 asn1/hnbap/HNBAP-PDU-Descriptions.asn (limited to 'asn1') diff --git a/asn1/hnbap/HNBAP-CommonDataTypes.asn b/asn1/hnbap/HNBAP-CommonDataTypes.asn new file mode 100644 index 0000000..db102a9 --- /dev/null +++ b/asn1/hnbap/HNBAP-CommonDataTypes.asn @@ -0,0 +1,47 @@ +-- ************************************************************** +-- +-- Common definitions +-- +-- ************************************************************** + +HNBAP-CommonDataTypes { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) hnbap(6) version1 (1) hnbap-CommonDataTypes (3) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +-- ************************************************************** +-- +-- Extension constants +-- +-- ************************************************************** + +maxPrivateIEs INTEGER ::= 65535 +maxProtocolExtensions INTEGER ::= 65535 +maxProtocolIEs INTEGER ::= 65535 + +-- ************************************************************** +-- +-- Common Data Types +-- +-- ************************************************************** +Criticality ::= ENUMERATED { reject, ignore, notify } + +Presence ::= ENUMERATED { optional, conditional, mandatory } + +PrivateIE-ID ::= CHOICE { + local INTEGER (0..65535), + global OBJECT IDENTIFIER +} + + +ProcedureCode ::= INTEGER (0..255) + + +ProtocolIE-ID ::= INTEGER (0..maxProtocolIEs) + +TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessful-outcome } + +END diff --git a/asn1/hnbap/HNBAP-Constants.asn b/asn1/hnbap/HNBAP-Constants.asn new file mode 100644 index 0000000..8603703 --- /dev/null +++ b/asn1/hnbap/HNBAP-Constants.asn @@ -0,0 +1,98 @@ +-- ************************************************************** +-- +-- Constant definitions +-- +-- ************************************************************** + +HNBAP-Constants { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) hnbap(6) version1 (1) hnbap-Constants (4) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + ProcedureCode, + ProtocolIE-ID +FROM HNBAP-CommonDataTypes; + + +-- ************************************************************** +-- +-- Elementary Procedures +-- +id-HNBRegister ProcedureCode ::= 1 +id-HNBDe-Register ProcedureCode ::= 2 +id-UERegister ProcedureCode ::= 3 +id-UEDe-Register ProcedureCode ::= 4 +id-ErrorIndication ProcedureCode ::= 5 +id-privateMessage ProcedureCode ::= 6 +id-CSGMembershipUpdate ProcedureCode ::= 7 +id-TNLUpdate ProcedureCode ::= 9 +id-HNBConfigTransfer ProcedureCode ::= 10 +id-RelocationComplete ProcedureCode ::= 11 +id-U-RNTIQuery ProcedureCode ::= 14 + +-- ************************************************************** +-- +-- Lists +-- +-- ************************************************************** +maxNrOfErrors INTEGER ::= 256 +maxnoofRABs INTEGER ::= 256 +maxnoofAdditionalNeighbours INTEGER ::= 128 +maxnoofURAIdentities INTEGER ::= 8 +maxnoofNeighbours INTEGER ::= 32 +maxnoofIurhAddresses INTEGER ::= 3 + +-- ************************************************************** +-- +-- IEs +-- +-- ************************************************************** + +id-Cause ProtocolIE-ID ::= 1 +id-CriticalityDiagnostics ProtocolIE-ID ::= 2 +id-HNB-Identity ProtocolIE-ID ::= 3 +id-Context-ID ProtocolIE-ID ::= 4 +id-UE-Identity ProtocolIE-ID ::= 5 +id-LAC ProtocolIE-ID ::= 6 +id-RAC ProtocolIE-ID ::= 7 +id-HNB-Location-Information ProtocolIE-ID ::= 8 +id-PLMNidentity ProtocolIE-ID ::= 9 +id-SAC ProtocolIE-ID ::= 10 +id-CellIdentity ProtocolIE-ID ::= 11 +id-Registration-Cause ProtocolIE-ID ::= 12 +id-UE-Capabilities ProtocolIE-ID ::= 13 +id-RNC-ID ProtocolIE-ID ::= 14 +id-CSG-ID ProtocolIE-ID ::= 15 +id-BackoffTimer ProtocolIE-ID ::= 16 +id-HNB-Internet-Information ProtocolIE-ID ::= 17 +id-HNB-Cell-Access-Mode ProtocolIE-ID ::= 18 +id-MuxPortNumber ProtocolIE-ID ::= 19 +id-Service-Area-For-Broadcast ProtocolIE-ID ::= 20 +id-CSGMembershipStatus ProtocolIE-ID ::= 21 +id-RABList ProtocolIE-ID ::= 22 +id-HNBConfigInfo ProtocolIE-ID ::= 23 +id-AccessResult ProtocolIE-ID ::= 25 +id-Update-cause ProtocolIE-ID ::= 26 +id-NeighbourInfoList ProtocolIE-ID ::= 27 +id-NeighbourInfoRequestList ProtocolIE-ID ::= 28 +id-Iurh-Signalling-TNL-Address ProtocolIE-ID ::= 29 +id-PSC ProtocolIE-ID ::= 30 +id-HNB-Cell-Identifier ProtocolIE-ID ::= 31 +id-Tunnel-Information ProtocolIE-ID ::= 41 +id-CELL-FACHMobilitySupport ProtocolIE-ID ::= 42 +id-S-RNTIPrefix ProtocolIE-ID ::= 43 +id-URAIdentity ProtocolIE-ID ::= 44 +id-NeighbourIdentity ProtocolIE-ID ::= 45 +id-HNBCapacity ProtocolIE-ID ::= 46 +id-NeighbourCellIdentityList ProtocolIE-ID ::= 47 +id-AdditionalNeighbourInfoList ProtocolIE-ID ::= 48 +id-U-RNTI ProtocolIE-ID ::= 49 +id-UnknownU-RNTIIndication ProtocolIE-ID ::= 50 +id-HNB-GWResponse ProtocolIE-ID ::= 51 +id-URAIdentityList ProtocolIE-ID ::= 52 + +END diff --git a/asn1/hnbap/HNBAP-Containers.asn b/asn1/hnbap/HNBAP-Containers.asn new file mode 100644 index 0000000..91aad6e --- /dev/null +++ b/asn1/hnbap/HNBAP-Containers.asn @@ -0,0 +1,149 @@ +-- ************************************************************** +-- +-- Container definitions +-- +-- ************************************************************** + +HNBAP-Containers { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) hnbap(6) version1 (1) hnbap-Containers (5) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** + +IMPORTS + Criticality, + Presence, + PrivateIE-ID, + ProtocolIE-ID, + maxPrivateIEs, + maxProtocolExtensions, + maxProtocolIEs +FROM HNBAP-CommonDataTypes; + +-- ************************************************************** +-- +-- Class Definition for Protocol IEs +-- +-- ************************************************************** + +HNBAP-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 Extensions +-- +-- ************************************************************** + +HNBAP-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 +-- +-- ************************************************************** + +HNBAP-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 {HNBAP-PROTOCOL-IES : IEsSetParam} ::= + SEQUENCE (SIZE (0..maxProtocolIEs)) OF + ProtocolIE-Field {{IEsSetParam}} + +ProtocolIE-Single-Container {HNBAP-PROTOCOL-IES : IEsSetParam} ::= + ProtocolIE-Field {{IEsSetParam}} + +ProtocolIE-Field {HNBAP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE { + id HNBAP-PROTOCOL-IES.&id ({IEsSetParam}), + criticality HNBAP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}), + value HNBAP-PROTOCOL-IES.&Value ({IEsSetParam}{@id}) +} + +-- ************************************************************** +-- +-- Container Lists for Protocol IE Containers +-- +-- ************************************************************** + +ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, HNBAP-PROTOCOL-IES : IEsSetParam} ::= + SEQUENCE (SIZE (lowerBound..upperBound)) OF + ProtocolIE-Container {{IEsSetParam}} + +-- ************************************************************** +-- +-- Container for Protocol Extensions +-- +-- ************************************************************** + +ProtocolExtensionContainer {HNBAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= + SEQUENCE (SIZE (1..maxProtocolExtensions)) OF + ProtocolExtensionField {{ExtensionSetParam}} + +ProtocolExtensionField {HNBAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE { + id HNBAP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}), + criticality HNBAP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}), + extensionValue HNBAP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id}) +} + +-- ************************************************************** +-- +-- Container for Private IEs +-- +-- ************************************************************** + +PrivateIE-Container {HNBAP-PRIVATE-IES : IEsSetParam } ::= + SEQUENCE (SIZE (1.. maxPrivateIEs)) OF + PrivateIE-Field {{IEsSetParam}} + +PrivateIE-Field {HNBAP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE { + id HNBAP-PRIVATE-IES.&id ({IEsSetParam}), + criticality HNBAP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}), + value HNBAP-PRIVATE-IES.&Value ({IEsSetParam}{@id}) +} + +END diff --git a/asn1/hnbap/HNBAP-IEs.asn b/asn1/hnbap/HNBAP-IEs.asn new file mode 100644 index 0000000..c302636 --- /dev/null +++ b/asn1/hnbap/HNBAP-IEs.asn @@ -0,0 +1,567 @@ +-- ************************************************************** +-- +-- Information Element Definitions +-- +-- ************************************************************** + +HNBAP-IEs { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) hnbap(6) version1 (1) hnbap-IEs (2) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + maxNrOfErrors, + maxnoofRABs, + maxnoofNeighbours, + maxnoofIurhAddresses, + maxnoofAdditionalNeighbours, + maxnoofURAIdentities, + id-HNB-Internet-Information, + id-HNB-Cell-Identifier, + id-S-RNTIPrefix, + id-URAIdentityList + +FROM HNBAP-Constants + + Criticality, + ProcedureCode, + ProtocolIE-ID, + TriggeringMessage +FROM HNBAP-CommonDataTypes + + ProtocolExtensionContainer{}, + HNBAP-PROTOCOL-EXTENSION +FROM HNBAP-Containers; + + +--A +Access-stratum-release-indicator ::= ENUMERATED {r99, + rel-4, rel-5, rel-6, rel-7, rel-8-and-beyond, + ...} + +AccessResult ::= ENUMERATED {allowed, notAllowed, ...} + +AltitudeAndDirection ::= SEQUENCE { + directionOfAltitude ENUMERATED {height, depth}, + altitude INTEGER (0..32767), + ... +} + +--B +BackoffTimer ::= INTEGER(0..3600) + +BindingID ::= OCTET STRING(SIZE(1..4,...)) + +--C +Cause ::= CHOICE { + radioNetwork CauseRadioNetwork, + transport CauseTransport, + protocol CauseProtocol, + misc CauseMisc, + ... +} +CauseRadioNetwork ::= ENUMERATED { + overload, + unauthorised-Location, + unauthorised-HNB, + hNB-parameter-mismatch, + invalid-UE-identity, + uE-not-allowed-on-this-HNB, + uE-unauthorised, + connection-with-UE-lost, + ue-RRC-release, + hNB-not-registered, + unspecified, + normal, + uE-relocated, + ue-registered-in-another-HNB, + ..., + no-neighbour-information-available, + iurh-connection-to-that-neighbour-not-Allowed +} + +CauseTransport ::= ENUMERATED { + transport-resource-unavailable, + unspecified, + ... +} + +CauseProtocol ::= ENUMERATED { + transfer-syntax-error, + abstract-syntax-error-reject, + abstract-syntax-error-ignore-and-notify, + message-not-compatible-with-receiver-state, + semantic-error, + unspecified, + abstract-syntax-error-falsely-constructed-message, + ... +} + +CauseMisc ::= ENUMERATED { + processing-overload, + hardware-failure, + o-and-m-intervention, + unspecified, + ... +} + +CellIdentity ::= BIT STRING (SIZE (28)) + +CELL-FACHMobilitySupport ::= ENUMERATED { + supported, + ... +} + +Context-ID ::= BIT STRING (SIZE(24)) + +CriticalityDiagnostics ::= SEQUENCE { + procedureCode ProcedureCode OPTIONAL, + triggeringMessage TriggeringMessage OPTIONAL, + procedureCriticality Criticality OPTIONAL, + iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL, + ... +} + +CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF + SEQUENCE { + iECriticality Criticality, + iE-ID ProtocolIE-ID, + typeOfError TypeOfError, + iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL, + ... + } + +CriticalityDiagnostics-IE-List-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +CriticalityDiagnostics-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +CSG-ID ::= BIT STRING (SIZE (27)) + +CSG-Capability ::= ENUMERATED { + csg-capable, + not-csg-capable, + ... +} + +CSGMembershipStatus ::= ENUMERATED { + member, + non-member, + ... +} + +CGI ::= SEQUENCE { + pLMNidentity PLMNidentity, + lAC LAC, + cI CI, + iE-Extensions ProtocolExtensionContainer { {CGI-ExtIEs} } OPTIONAL +} + +CGI-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +CI ::= OCTET STRING (SIZE (2)) + + +CN-DomainIndicator ::= ENUMERATED { + cs-domain, + ps-domain +} +--D +--E +ESN ::= BIT STRING (SIZE(32)) +--F +--G +GeographicalLocation ::= SEQUENCE { + geographicalCoordinates GeographicalCoordinates, + altitudeAndDirection AltitudeAndDirection, + iE-Extensions ProtocolExtensionContainer { { GeographicLocation-ExtIEs} } OPTIONAL, + ... +} + +GeographicLocation-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +GeographicalCoordinates ::= SEQUENCE { + latitudeSign ENUMERATED {north, south}, + latitude INTEGER (0..8388607), + longitude INTEGER (-8388608..8388607), + iE-Extensions ProtocolExtensionContainer { {GeographicalCoordinates-ExtIEs} } OPTIONAL, + ... +} + +GeographicalCoordinates-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +GTP-TEI ::= OCTET STRING (SIZE (4)) + +--H + +HNBCapacity ::= INTEGER(0..1000) + +HNB-Cell-Access-Mode::= ENUMERATED { + closed, + hybrid, + open, + ... +} + +HNB-Cell-Identifier ::= SEQUENCE { + pLMNidentity PLMNidentity, + cellIdentity CellIdentity, + iE-Extensions ProtocolExtensionContainer { { HNB-Cell-Identifier-ExtIEs } } OPTIONAL, + ... +} + +HNB-Cell-Identifier-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +HNB-GWResponse ::= CHOICE { + hNB HNBConfigInfo, + macroRNC RNC-ID, + unknownU-RNTIIndication UnknownU-RNTIIndication, + ... +} + +HNB-RNL-Identity ::= CHOICE { + hNB-Identity-as-Cell-Identifier HNB-Cell-Identifier, + ... +} + +HNBConfigInfo ::= SEQUENCE { + hnb-RNL-Identity HNB-RNL-Identity, + configurationInformation ConfigurationInformation, + iE-Extensions ProtocolExtensionContainer { { HNBConfigInfo-ExtIEs } } OPTIONAL, + ... +} + +HNBConfigInfo-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +ConfigurationInformation ::= CHOICE { + provided HNBConfigurationInformationProvided, + missing HNBConfigurationInformationMissing, + ... +} + +HNBConfigurationInformationProvided ::= SEQUENCE { + psc PSC OPTIONAL, + cSG-ID CSG-ID OPTIONAL, + hNB-Cell-Access-Mode HNB-Cell-Access-Mode, + iurh-Signalling-TNL-AddressList Iurh-Signalling-TNL-AddressList, + iE-Extensions ProtocolExtensionContainer { { HNBConfigurationInformationProvided-ExtIEs } } OPTIONAL, + ... +} + +HNBConfigurationInformationProvided-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + { ID id-S-RNTIPrefix CRITICALITY ignore EXTENSION S-RNTIPrefix PRESENCE optional }| + { ID id-URAIdentityList CRITICALITY ignore EXTENSION URAIdentityList PRESENCE optional }, + ... +} + +HNBConfigurationInformationMissing ::= SEQUENCE { + cause Cause, + iE-Extensions ProtocolExtensionContainer { { HNBConfigurationInformationMissing-ExtIEs } } OPTIONAL, + ... +} + +HNBConfigurationInformationMissing-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +HNB-Location-Information ::= SEQUENCE { + macroCoverageInfo MacroCoverageInformation OPTIONAL, + geographicalCoordinates GeographicalLocation OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { HNB-Location-Information-ExtIEs } } OPTIONAL, + ... +} + +HNB-Location-Information-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { +-- Extension for release-8 to support IP address for location verification -- +{ID id-HNB-Internet-Information CRITICALITY reject EXTENSION IP-Address PRESENCE optional }, + ... +} + + + +HNB-Identity ::= SEQUENCE { + hNB-Identity-Info HNB-Identity-Info, + iE-Extensions ProtocolExtensionContainer { { HNB-Identity-ExtIEs } } OPTIONAL, + ... +} + +HNB-Identity-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + + +HNB-Identity-Info ::= OCTET STRING (SIZE (1..255)) + +--I + +IMEI ::= BIT STRING (SIZE(60)) + +IMSI ::= OCTET STRING (SIZE (3..8)) +-- Reference: 23.003 +IMSIDS41 ::= OCTET STRING (SIZE (5..7)) + +IMSIESN ::= SEQUENCE { + iMSIDS41 IMSIDS41, + eSN ESN +} + +IP-Address ::= SEQUENCE { + ipaddress CHOICE { + ipv4info Ipv4Address, + ipv6info Ipv6Address, + ... + }, + iE-Extensions ProtocolExtensionContainer { { IP-Address-ExtIEs } } OPTIONAL, + ... +} + +IP-Address-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +Ipv4Address ::= OCTET STRING (SIZE (4)) + +Ipv6Address ::= OCTET STRING (SIZE (16)) + +Iurh-Signalling-TNL-AddressList ::= SEQUENCE (SIZE(1..maxnoofIurhAddresses)) OF IP-Address + + +--J +--K +--L +LAC ::= OCTET STRING(SIZE(2)) + +LAI ::= SEQUENCE { + pLMNID PLMNidentity, + lAC LAC, + ... +} + +-- M + +MacroCoverageInformation ::= SEQUENCE { + cellIdentity MacroCellID, + iE-Extensions ProtocolExtensionContainer { { MacroCoverageInformation-ExtIEs } } OPTIONAL, + ... +} + +MacroCoverageInformation-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +MacroCellID ::= CHOICE { + uTRANCellID UTRANCellID, + gERANCellID CGI, + ... +} + +MuxPortNumber ::= INTEGER (1024..65535) + +--N + +NeighbourCellIdentityList ::= SEQUENCE (SIZE(0..maxnoofAdditionalNeighbours)) OF NeighbourIdentity + +NeighbourIdentity ::= CHOICE { + hNB-RNL-Identity HNB-RNL-Identity, + cell-ID CellIdentity, + ... +} + +NeighbourInfoList ::= SEQUENCE (SIZE(1..maxnoofNeighbours)) OF HNBConfigInfo + +AdditionalNeighbourInfoList ::= SEQUENCE (SIZE(1..maxnoofAdditionalNeighbours)) OF HNBConfigInfo + +NeighbourInfoRequestList ::= SEQUENCE (SIZE(1..maxnoofNeighbours)) OF NeighbourInfoRequestItem + +NeighbourInfoRequestItem ::= SEQUENCE { + hnb-RNL-Identity HNB-RNL-Identity, + iE-Extensions ProtocolExtensionContainer { { NeighbourInfoRequestItem-ExtIEs } } OPTIONAL, + ... +} + +NeighbourInfoRequestItem-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +--O +--P +PLMNidentity ::= OCTET STRING (SIZE (3)) + +PSC ::= BIT STRING (SIZE(9)) + +PTMSI ::= BIT STRING (SIZE(32)) + +PTMSIRAI ::= SEQUENCE { + pTMSI PTMSI, + rAI RAI, + ... +} + + +--Q +--R + +RAB-ID ::= BIT STRING (SIZE (8)) + +RABList ::= SEQUENCE (SIZE(1..maxnoofRABs)) OF RABListItem + +RABListItem ::= SEQUENCE { + rAB-ID RAB-ID, + old-transport-Info TransportInfo, + new-transport-Info TransportInfo, + cn-domain-indicator CN-DomainIndicator, + iE-Extensions ProtocolExtensionContainer { { RABListItem-ExtIEs } } OPTIONAL, +... +} + +RABListItem-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +RAC ::= OCTET STRING(SIZE(1)) + +RAI ::= SEQUENCE { + lAI LAI, + rAC RAC, + ... +} + + +Registration-Cause ::= ENUMERATED { + emergency-call, + normal, + ..., + ue-relocation +} + +RNC-ID ::= INTEGER(0..65535) + +--S + +SAC ::= OCTET STRING(SIZE(2)) + +S-RNTIPrefix ::= BIT STRING(SIZE(1..16, ...)) + +--T +TMSILAI ::= SEQUENCE { + tMSI BIT STRING(SIZE (32)), + lAI LAI +} + +TMSIDS41 ::= OCTET STRING (SIZE (2..17)) + +TransportInfo ::= SEQUENCE { + transportLayerAddress TransportLayerAddress, + transportAssociation CHOICE { + gtp-TEI GTP-TEI, + bindingID BindingID, + ... + }, + iE-Extensions ProtocolExtensionContainer { { TransportInfo-ExtIEs } } OPTIONAL, +... +} + +TransportInfo-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +TransportLayerAddress ::= BIT STRING(SIZE(1..160,...)) + +Tunnel-Information ::= SEQUENCE { + iP-Address IP-Address, + uDP-Port-Number UDP-Port-Number OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { Tunnel-Information-ExtIEs } } OPTIONAL, + ... +} + +Tunnel-Information-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +TypeOfError ::= ENUMERATED { + not-understood, + missing, + ... +} +--U + +UDP-Port-Number ::= OCTET STRING(SIZE(2)) + +UE-Capabilities ::= SEQUENCE { + access-stratum-release-indicator Access-stratum-release-indicator, + csg-capability CSG-Capability, + iE-Extensions ProtocolExtensionContainer { { UE-Capabilities-ExtIEs } } OPTIONAL, +... +} + +UE-Capabilities-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +UTRANCellID ::= SEQUENCE { + lAC LAC, + rAC RAC, + pLMNidentity PLMNidentity, + uTRANcellID CellIdentity, + iE-Extensions ProtocolExtensionContainer { {UTRANCellID-ExtIEs} } OPTIONAL +} + +UTRANCellID-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + + + +UE-Identity ::= CHOICE { + iMSI IMSI, + tMSILAI TMSILAI, + pTMSIRAI PTMSIRAI, + iMEI IMEI, + eSN ESN, + iMSIDS41 IMSIDS41, + iMSIESN IMSIESN, + tMSIDS41 TMSIDS41, + ... +} + +Update-cause ::= ENUMERATED { + relocation-preparation, + ... +} + +URAIdentityList ::= SEQUENCE (SIZE (0..maxnoofURAIdentities)) OF URAIdentity + +URAIdentity ::= INTEGER(0..65535) + +U-RNTI ::= BIT STRING (SIZE (32)) + +UnknownU-RNTIIndication ::= ENUMERATED { + unknown, + ... +} + +--V +--W +--X +--Y +--Z + + +END diff --git a/asn1/hnbap/HNBAP-PDU-Contents.asn b/asn1/hnbap/HNBAP-PDU-Contents.asn new file mode 100644 index 0000000..1942b0a --- /dev/null +++ b/asn1/hnbap/HNBAP-PDU-Contents.asn @@ -0,0 +1,561 @@ +-- ************************************************************** +-- +-- PDU definitions for HNBAP. +-- +-- ************************************************************** + +HNBAP-PDU-Contents { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) hnbap(6) version1 (1) hnbap-PDU-Contents (1) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** + +IMPORTS + Cause, + CriticalityDiagnostics, + CSGMembershipStatus, + HNB-Location-Information, + HNB-Identity, + Context-ID, + UE-Identity, + LAC, + RAC, + SAC, + CN-DomainIndicator, + IP-Address, + Registration-Cause, + UE-Capabilities, + PLMNidentity, + CellIdentity, + RNC-ID, + CSG-ID, + HNB-Cell-Access-Mode, + BackoffTimer, + MuxPortNumber, + RABList, + HNBConfigInfo, + AccessResult, + Update-cause, + NeighbourInfoList, + NeighbourInfoRequestList, + PSC, + Tunnel-Information, + CELL-FACHMobilitySupport, + S-RNTIPrefix, + NeighbourIdentity, + NeighbourCellIdentityList, + URAIdentity, + URAIdentityList, + HNBCapacity, + AdditionalNeighbourInfoList, + U-RNTI, + UnknownU-RNTIIndication, + HNB-GWResponse + + + +FROM HNBAP-IEs + + + ProtocolExtensionContainer{}, + ProtocolIE-ContainerList{}, + ProtocolIE-Container{}, + ProtocolIE-Single-Container{}, + PrivateIE-Container{}, + HNBAP-PRIVATE-IES, + HNBAP-PROTOCOL-EXTENSION, + HNBAP-PROTOCOL-IES + +FROM HNBAP-Containers + + id-Cause, + id-CriticalityDiagnostics, + id-CSGMembershipStatus, + id-HNB-Location-Information, + id-HNB-Identity, + id-Context-ID, + id-PLMNidentity, + id-UE-Identity, + id-LAC, + id-RAC, + id-SAC, + id-UE-Capabilities, + id-Registration-Cause, + id-CellIdentity, + id-RNC-ID, + id-CSG-ID, + id-HNB-Cell-Access-Mode, + id-BackoffTimer, + id-Service-Area-For-Broadcast, + id-MuxPortNumber, + id-RABList, + id-HNBConfigInfo, + id-AccessResult, + id-Update-cause, + id-NeighbourInfoList, + id-NeighbourInfoRequestList, + id-Iurh-Signalling-TNL-Address, + id-PSC, + id-Tunnel-Information, + id-CELL-FACHMobilitySupport, + id-S-RNTIPrefix, + id-URAIdentity, + id-URAIdentityList, + id-NeighbourIdentity, + id-NeighbourCellIdentityList, + id-HNBCapacity, + id-AdditionalNeighbourInfoList, + id-U-RNTI, + id-UnknownU-RNTIIndication, + id-HNB-GWResponse + + +FROM HNBAP-Constants; + +-- ************************************************************** +-- +-- HNB Register REQUEST +-- +-- ************************************************************** + +HNBRegisterRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {HNBRegisterRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {HNBRegisterRequestExtensions} } OPTIONAL, + ... +} + +HNBRegisterRequestIEs HNBAP-PROTOCOL-IES ::= { + { ID id-HNB-Identity CRITICALITY reject TYPE HNB-Identity PRESENCE mandatory } | + { ID id-HNB-Location-Information CRITICALITY reject TYPE HNB-Location-Information PRESENCE mandatory } | + { ID id-PLMNidentity CRITICALITY reject TYPE PLMNidentity PRESENCE mandatory } | + { ID id-CellIdentity CRITICALITY reject TYPE CellIdentity PRESENCE mandatory } | + { ID id-LAC CRITICALITY reject TYPE LAC PRESENCE mandatory } | + { ID id-RAC CRITICALITY reject TYPE RAC PRESENCE mandatory } | + { ID id-SAC CRITICALITY reject TYPE SAC PRESENCE mandatory } | + { ID id-CSG-ID CRITICALITY reject TYPE CSG-ID PRESENCE optional } , + ... +} + +HNBRegisterRequestExtensions HNBAP-PROTOCOL-EXTENSION ::= { + { ID id-Service-Area-For-Broadcast CRITICALITY ignore EXTENSION SAC PRESENCE optional }| + { ID id-HNB-Cell-Access-Mode CRITICALITY reject EXTENSION HNB-Cell-Access-Mode PRESENCE optional }| + { ID id-PSC CRITICALITY ignore EXTENSION PSC PRESENCE optional }| + { ID id-Iurh-Signalling-TNL-Address CRITICALITY ignore EXTENSION IP-Address PRESENCE optional }| + { ID id-Tunnel-Information CRITICALITY ignore EXTENSION Tunnel-Information PRESENCE optional }| + { ID id-CELL-FACHMobilitySupport CRITICALITY ignore EXTENSION CELL-FACHMobilitySupport PRESENCE optional }| + { ID id-NeighbourCellIdentityList CRITICALITY ignore EXTENSION NeighbourCellIdentityList PRESENCE optional }| + { ID id-URAIdentityList CRITICALITY ignore EXTENSION URAIdentityList PRESENCE optional }| + { ID id-HNBCapacity CRITICALITY ignore EXTENSION HNBCapacity PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- HNB Register Accept +-- +-- ************************************************************** + +HNBRegisterAccept ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {HNBRegisterResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { {HNBRegisterResponseExtensions} } OPTIONAL, + ... +} + +HNBRegisterResponseIEs HNBAP-PROTOCOL-IES ::= { + { ID id-RNC-ID CRITICALITY reject TYPE RNC-ID PRESENCE mandatory }, + ... +} + +HNBRegisterResponseExtensions HNBAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 9 to support CS Multiplexing -- + { ID id-MuxPortNumber CRITICALITY ignore EXTENSION MuxPortNumber PRESENCE optional}| + { ID id-Iurh-Signalling-TNL-Address CRITICALITY ignore EXTENSION IP-Address PRESENCE optional}| + { ID id-S-RNTIPrefix CRITICALITY ignore EXTENSION S-RNTIPrefix PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- HNB Register REJECT +-- +-- ************************************************************** + +HNBRegisterReject ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {HNBRegisterRejectIEs} }, + protocolExtensions ProtocolExtensionContainer { {HNBRegisterRejectExtensions} } OPTIONAL, + ... +} + +HNBRegisterRejectIEs HNBAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } | + { ID id-BackoffTimer CRITICALITY reject TYPE BackoffTimer PRESENCE conditional }, + -- This IE shall be present if the Cause IE is set to "Overload". + ... +} + +HNBRegisterRejectExtensions HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + + + +-- ************************************************************** +-- +-- HNB De- Register +-- +-- ************************************************************** + +HNBDe-Register ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {HNBDe-RegisterIEs} }, + protocolExtensions ProtocolExtensionContainer { {HNBDe-RegisterExtensions} } OPTIONAL, + ... +} + +HNBDe-RegisterIEs HNBAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-BackoffTimer CRITICALITY reject TYPE BackoffTimer PRESENCE conditional }, + -- This IE shall be present if the Cause IE is set to "Overload". + ... +} + +HNBDe-RegisterExtensions HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + + +-- ************************************************************** +-- +-- UE Register REQUEST +-- +-- ************************************************************** + +UERegisterRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UERegisterRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {UERegisterRequestExtensions} } OPTIONAL, + ... +} + +UERegisterRequestIEs HNBAP-PROTOCOL-IES ::= { + { ID id-UE-Identity CRITICALITY reject TYPE UE-Identity PRESENCE mandatory } | + { ID id-Registration-Cause CRITICALITY ignore TYPE Registration-Cause PRESENCE mandatory } | + { ID id-UE-Capabilities CRITICALITY reject TYPE UE-Capabilities PRESENCE mandatory }, + ... +} + +UERegisterRequestExtensions HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- UE Register ACCEPT +-- +-- ************************************************************** + +UERegisterAccept ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UERegisterAcceptIEs} }, + protocolExtensions ProtocolExtensionContainer { {UERegisterAcceptExtensions} } OPTIONAL, + ... +} + +UERegisterAcceptIEs HNBAP-PROTOCOL-IES ::= { + { ID id-UE-Identity CRITICALITY reject TYPE UE-Identity PRESENCE mandatory } | + { ID id-Context-ID CRITICALITY reject TYPE Context-ID PRESENCE mandatory }, + ... +} + + +UERegisterAcceptExtensions HNBAP-PROTOCOL-EXTENSION ::= { + { ID id-CSGMembershipStatus CRITICALITY reject EXTENSION CSGMembershipStatus PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- UE Register REJECT +-- +-- ************************************************************** + +UERegisterReject ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UERegisterRejectIEs} }, + protocolExtensions ProtocolExtensionContainer { {UERegisterRejectExtensions} } OPTIONAL, + ... +} + +UERegisterRejectIEs HNBAP-PROTOCOL-IES ::= { + { ID id-UE-Identity CRITICALITY reject TYPE UE-Identity PRESENCE mandatory } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +UERegisterRejectExtensions HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + + +-- ************************************************************** +-- +-- UE De-Register +-- +-- ************************************************************** + +UEDe-Register ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UEDe-RegisterIEs} }, + protocolExtensions ProtocolExtensionContainer { {UEDe-RegisterExtensions} } OPTIONAL, + ... +} + +UEDe-RegisterIEs HNBAP-PROTOCOL-IES ::= { + { ID id-Context-ID CRITICALITY reject TYPE Context-ID PRESENCE mandatory } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } , + ... +} + +UEDe-RegisterExtensions HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- CSG Membership Update +-- +-- ************************************************************** + +CSGMembershipUpdate ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {CSGMembershipUpdateIEs} }, + protocolExtensions ProtocolExtensionContainer { {CSGMembershipUpdateExtensions} } OPTIONAL, + ... +} + +CSGMembershipUpdateIEs HNBAP-PROTOCOL-IES ::= { + { ID id-Context-ID CRITICALITY reject TYPE Context-ID PRESENCE mandatory } | + { ID id-CSGMembershipStatus CRITICALITY reject TYPE CSGMembershipStatus PRESENCE mandatory }, + ... +} + +CSGMembershipUpdateExtensions HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- TNL Update Request +-- +-- ************************************************************** + +TNLUpdateRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {TNLUpdateRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {TNLUpdateExtensions} } OPTIONAL, + ... +} + +TNLUpdateRequestIEs HNBAP-PROTOCOL-IES ::= { + { ID id-Context-ID CRITICALITY reject TYPE Context-ID PRESENCE mandatory } | + { ID id-RABList CRITICALITY reject TYPE RABList PRESENCE mandatory } | + { ID id-Update-cause CRITICALITY reject TYPE Update-cause PRESENCE mandatory } , + ... +} + +TNLUpdateExtensions HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- TNL UPDATE RESPONSE +-- +-- ************************************************************** + +TNLUpdateResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { TNLUpdateResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { { TNLUpdateResponseExtensions} } OPTIONAL, + ... +} + +TNLUpdateResponseIEs HNBAP-PROTOCOL-IES ::= { + { ID id-Context-ID CRITICALITY reject TYPE Context-ID PRESENCE mandatory } , + ... +} + +TNLUpdateResponseExtensions HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- TNL UPDATE FAILURE +-- +-- ************************************************************** + +TNLUpdateFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {TNLUpdateFailureIEs} }, + protocolExtensions ProtocolExtensionContainer { {TNLUpdateFailureExtensions} } OPTIONAL, + ... +} + +TNLUpdateFailureIEs HNBAP-PROTOCOL-IES ::= { + { ID id-Context-ID CRITICALITY reject TYPE Context-ID PRESENCE mandatory } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } , + ... +} + +TNLUpdateFailureExtensions HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- HNB Configuration Transfer Request +-- +-- ************************************************************** + +HNBConfigTransferRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {HNBConfigTransferRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {HNBConfigTransferRequestExtensions} } OPTIONAL, + ... +} + +HNBConfigTransferRequestIEs HNBAP-PROTOCOL-IES ::= { + { ID id-NeighbourInfoRequestList CRITICALITY reject TYPE NeighbourInfoRequestList PRESENCE mandatory } , + ... +} + +HNBConfigTransferRequestExtensions HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- HNB Configuration Transfer Response +-- +-- ************************************************************** + +HNBConfigTransferResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { HNBConfigTransferResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { { HNBConfigTransferResponseExtensions} } OPTIONAL, + ... +} + +HNBConfigTransferResponseIEs HNBAP-PROTOCOL-IES ::= { + { ID id-NeighbourInfoList CRITICALITY reject TYPE NeighbourInfoList PRESENCE mandatory } , + ... +} + +HNBConfigTransferResponseExtensions HNBAP-PROTOCOL-EXTENSION ::= { + { ID id-AdditionalNeighbourInfoList CRITICALITY ignore EXTENSION AdditionalNeighbourInfoList PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- RELOCATION COMPLETE +-- +-- ************************************************************** + +RelocationComplete ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { RelocationCompleteIEs} }, + protocolExtensions ProtocolExtensionContainer { { RelocationCompleteExtensions} } OPTIONAL, + ... +} + +RelocationCompleteIEs HNBAP-PROTOCOL-IES ::= { + { ID id-Context-ID CRITICALITY ignore TYPE Context-ID PRESENCE mandatory } , + ... +} + + +RelocationCompleteExtensions HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- ERROR INDICATION +-- +-- ************************************************************** + +ErrorIndication ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {ErrorIndicationIEs} }, + protocolExtensions ProtocolExtensionContainer { {ErrorIndicationExtensions} } OPTIONAL, + ... +} + +ErrorIndicationIEs HNBAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +ErrorIndicationExtensions HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- PRIVATE MESSAGE +-- +-- ************************************************************** + +PrivateMessage ::= SEQUENCE { + privateIEs PrivateIE-Container {{PrivateMessage-IEs}}, + ... +} + +PrivateMessage-IEs HNBAP-PRIVATE-IES ::= { + ... +} + +-- ************************************************************** +-- +-- U-RNTI Query Request +-- +-- ************************************************************** + +U-RNTIQueryRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {U-RNTIQueryRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {U-RNTIQueryRequestExtensions} } OPTIONAL, + ... +} + +U-RNTIQueryRequestIEs HNBAP-PROTOCOL-IES ::= { + { ID id-U-RNTI CRITICALITY reject TYPE U-RNTI PRESENCE mandatory } , + ... +} + +U-RNTIQueryRequestExtensions HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- U-RNTI Query Response +-- +-- ************************************************************** + +U-RNTIQueryResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { U-RNTIQueryResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { { U-RNTIQueryResponseExtensions} } OPTIONAL, + ... +} + +U-RNTIQueryResponseIEs HNBAP-PROTOCOL-IES ::= { + { ID id-HNB-GWResponse CRITICALITY reject TYPE HNB-GWResponse PRESENCE mandatory } , + ... +} + +U-RNTIQueryResponseExtensions HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +END diff --git a/asn1/hnbap/HNBAP-PDU-Descriptions.asn b/asn1/hnbap/HNBAP-PDU-Descriptions.asn new file mode 100644 index 0000000..67b3824 --- /dev/null +++ b/asn1/hnbap/HNBAP-PDU-Descriptions.asn @@ -0,0 +1,228 @@ +-- ************************************************************** +-- +-- Elementary Procedure definitions +-- +-- ************************************************************** +HNBAP-PDU-Descriptions { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) hnbap(6) version1 (1) hnbap-PDU-Descriptions (0)} + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** + +IMPORTS + Criticality, + ProcedureCode +FROM HNBAP-CommonDataTypes + + HNBRegisterRequest, + HNBRegisterAccept, + HNBRegisterReject, + HNBDe-Register, + UERegisterRequest, + UERegisterAccept, + UERegisterReject, + UEDe-Register, + ErrorIndication, + PrivateMessage, + CSGMembershipUpdate, + TNLUpdateRequest, + TNLUpdateResponse, + TNLUpdateFailure, + HNBConfigTransferRequest, + HNBConfigTransferResponse, + RelocationComplete, + U-RNTIQueryRequest, + U-RNTIQueryResponse + + +FROM HNBAP-PDU-Contents + id-HNBRegister, + id-UERegister, + id-UEDe-Register, + id-HNBDe-Register, + id-ErrorIndication, + id-privateMessage, + id-CSGMembershipUpdate, + id-TNLUpdate, + id-HNBConfigTransfer, + id-RelocationComplete, + id-U-RNTIQuery + +FROM HNBAP-Constants; + +-- ************************************************************** +-- +-- Interface Elementary Procedure Class +-- +-- ************************************************************** + +HNBAP-ELEMENTARY-PROCEDURE ::= CLASS { + &InitiatingMessage, + &SuccessfulOutcome OPTIONAL, + &UnsuccessfulOutcome OPTIONAL, + &procedureCode ProcedureCode UNIQUE, + &criticality Criticality DEFAULT ignore +} + +WITH SYNTAX { + INITIATING MESSAGE &InitiatingMessage + [SUCCESSFUL OUTCOME &SuccessfulOutcome] + [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome] + PROCEDURE CODE &procedureCode + [CRITICALITY &criticality] +} + +-- ************************************************************** +-- +-- Interface PDU definitions +-- +-- ************************************************************** + +HNBAP-PDU ::= CHOICE { + initiatingMessage InitiatingMessage, + successfulOutcome SuccessfulOutcome, + unsuccessfulOutcome UnsuccessfulOutcome, + ... +} + + +InitiatingMessage ::= SEQUENCE { + procedureCode HNBAP-ELEMENTARY-PROCEDURE.&procedureCode ({HNBAP-ELEMENTARY-PROCEDURES}), + criticality HNBAP-ELEMENTARY-PROCEDURE.&criticality ({HNBAP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value HNBAP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({HNBAP-ELEMENTARY-PROCEDURES}{@procedureCode}) +} + +SuccessfulOutcome ::= SEQUENCE { + procedureCode HNBAP-ELEMENTARY-PROCEDURE.&procedureCode ({HNBAP-ELEMENTARY-PROCEDURES}), + criticality HNBAP-ELEMENTARY-PROCEDURE.&criticality ({HNBAP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value HNBAP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({HNBAP-ELEMENTARY-PROCEDURES}{@procedureCode}) +} + +UnsuccessfulOutcome ::= SEQUENCE { + procedureCode HNBAP-ELEMENTARY-PROCEDURE.&procedureCode ({HNBAP-ELEMENTARY-PROCEDURES}), + criticality HNBAP-ELEMENTARY-PROCEDURE.&criticality ({HNBAP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value HNBAP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({HNBAP-ELEMENTARY-PROCEDURES}{@procedureCode}) +} + +-- ************************************************************** +-- +-- Interface Elementary Procedure List +-- +-- ************************************************************** + +HNBAP-ELEMENTARY-PROCEDURES HNBAP-ELEMENTARY-PROCEDURE ::= { + HNBAP-ELEMENTARY-PROCEDURES-CLASS-1 | + HNBAP-ELEMENTARY-PROCEDURES-CLASS-2 , + ... +} + +HNBAP-ELEMENTARY-PROCEDURES-CLASS-1 HNBAP-ELEMENTARY-PROCEDURE ::= { + hNBRegister| + uERegister, + ..., + tnlUpdate| + hNBConfigTransfer| + u-RNTIQuery +} + + +HNBAP-ELEMENTARY-PROCEDURES-CLASS-2 HNBAP-ELEMENTARY-PROCEDURE ::= { + uEDe-Register | + hNBDe-Register | + errorIndication | + privateMessage, + ..., + csg-membership-update| + relocationComplete +} + +-- ************************************************************** +-- +-- Interface Elementary Procedures +-- +-- ************************************************************** + + +hNBRegister HNBAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE HNBRegisterRequest + SUCCESSFUL OUTCOME HNBRegisterAccept + UNSUCCESSFUL OUTCOME HNBRegisterReject + PROCEDURE CODE id-HNBRegister + CRITICALITY reject +} + +uERegister HNBAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE UERegisterRequest + SUCCESSFUL OUTCOME UERegisterAccept + UNSUCCESSFUL OUTCOME UERegisterReject + PROCEDURE CODE id-UERegister + CRITICALITY reject +} + +uEDe-Register HNBAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE UEDe-Register + PROCEDURE CODE id-UEDe-Register + CRITICALITY ignore +} + +hNBDe-Register HNBAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE HNBDe-Register + PROCEDURE CODE id-HNBDe-Register + CRITICALITY ignore +} + +errorIndication HNBAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE ErrorIndication + PROCEDURE CODE id-ErrorIndication + CRITICALITY ignore +} + +csg-membership-update HNBAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE CSGMembershipUpdate + PROCEDURE CODE id-CSGMembershipUpdate + CRITICALITY ignore +} + +tnlUpdate HNBAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE TNLUpdateRequest + SUCCESSFUL OUTCOME TNLUpdateResponse + UNSUCCESSFUL OUTCOME TNLUpdateFailure + PROCEDURE CODE id-TNLUpdate + CRITICALITY reject +} + +hNBConfigTransfer HNBAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE HNBConfigTransferRequest + SUCCESSFUL OUTCOME HNBConfigTransferResponse + PROCEDURE CODE id-HNBConfigTransfer + CRITICALITY reject +} + +relocationComplete HNBAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE RelocationComplete + PROCEDURE CODE id-RelocationComplete + CRITICALITY ignore +} + +u-RNTIQuery HNBAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE U-RNTIQueryRequest + SUCCESSFUL OUTCOME U-RNTIQueryResponse + PROCEDURE CODE id-U-RNTIQuery + CRITICALITY reject +} + +privateMessage HNBAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE PrivateMessage + PROCEDURE CODE id-privateMessage + CRITICALITY ignore +} + +END -- cgit v1.2.3