From a013e68fc9024ce680f43e6fe53a3e9efb1cd42e Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Mon, 18 Jun 2018 19:49:39 +0200 Subject: [PATCH] HNBAP, RUA and RANAP protocol codecs This patch introduces protocol codecs for the HNBAP, RUA and RANAP protocols, which is mandatory for testing IuCS, IuPS or Iuh in the future. As Eclipse TITAN ASN.1 only supports the BER codec and the above protocols all use APER, we need to use an external transcoder from APER to BER and vice-versa. This was implemented using a proprietary ASN.1 compiler / trnaslator which sysmocom is packaging as libfftranscode, which is made available as binary package for Debian 9 at https://ftp.osmocom.org/binaries/libfftranscode/ Related: OS#2856, OS#2857, OS#2858 Change-Id: If4a72de9bc54d6e6a7daaca78a4d4aa5684203a5 --- asn-test/ttcn3_asn1_rename.sh | 1 + library/hnbap/HNBAP_CommonDataTypes.asn | 55 + library/hnbap/HNBAP_Constants.asn | 92 + library/hnbap/HNBAP_Containers.asn | 157 + library/hnbap/HNBAP_EncDec.cc | 64 + library/hnbap/HNBAP_IEs.asn | 518 +++ library/hnbap/HNBAP_PDU_Contents.asn | 490 +++ library/hnbap/HNBAP_PDU_Descriptions.asn | 231 ++ library/hnbap/HNBAP_Types.ttcn | 7 + library/hnbap/regen_makefile.sh | 9 + library/ranap/RANAP_CodecPort.ttcn | 410 +++ library/ranap/RANAP_CommonDataTypes.asn | 40 + library/ranap/RANAP_Constants.asn | 436 +++ library/ranap/RANAP_Containers.asn | 202 ++ library/ranap/RANAP_EncDec.cc | 66 + library/ranap/RANAP_IEs.asn | 2796 ++++++++++++++++ library/ranap/RANAP_PDU_Contents.asn | 3736 ++++++++++++++++++++++ library/ranap/RANAP_PDU_Descriptions.asn | 646 ++++ library/ranap/RANAP_Selftests.ttcn | 76 + library/ranap/RANAP_Templates.ttcn | 1427 +++++++++ library/ranap/RANAP_Types.ttcn | 7 + library/ranap/regen_makefile.sh | 9 + library/rua/RUA_CommonDataTypes.asn | 53 + library/rua/RUA_Constants.asn | 63 + library/rua/RUA_Containers.asn | 161 + library/rua/RUA_EncDec.cc | 64 + library/rua/RUA_IEs.asn | 199 ++ library/rua/RUA_PDU_Contents.asn | 204 ++ library/rua/RUA_PDU_Descriptions.asn | 176 + library/rua/RUA_Types.ttcn | 7 + library/rua/regen_makefile.sh | 9 + 31 files changed, 12411 insertions(+) create mode 100755 asn-test/ttcn3_asn1_rename.sh create mode 100644 library/hnbap/HNBAP_CommonDataTypes.asn create mode 100644 library/hnbap/HNBAP_Constants.asn create mode 100644 library/hnbap/HNBAP_Containers.asn create mode 100644 library/hnbap/HNBAP_EncDec.cc create mode 100644 library/hnbap/HNBAP_IEs.asn create mode 100644 library/hnbap/HNBAP_PDU_Contents.asn create mode 100644 library/hnbap/HNBAP_PDU_Descriptions.asn create mode 100644 library/hnbap/HNBAP_Types.ttcn create mode 100755 library/hnbap/regen_makefile.sh create mode 100644 library/ranap/RANAP_CodecPort.ttcn create mode 100644 library/ranap/RANAP_CommonDataTypes.asn create mode 100644 library/ranap/RANAP_Constants.asn create mode 100644 library/ranap/RANAP_Containers.asn create mode 100644 library/ranap/RANAP_EncDec.cc create mode 100644 library/ranap/RANAP_IEs.asn create mode 100644 library/ranap/RANAP_PDU_Contents.asn create mode 100644 library/ranap/RANAP_PDU_Descriptions.asn create mode 100644 library/ranap/RANAP_Selftests.ttcn create mode 100644 library/ranap/RANAP_Templates.ttcn create mode 100644 library/ranap/RANAP_Types.ttcn create mode 100755 library/ranap/regen_makefile.sh create mode 100644 library/rua/RUA_CommonDataTypes.asn create mode 100644 library/rua/RUA_Constants.asn create mode 100644 library/rua/RUA_Containers.asn create mode 100644 library/rua/RUA_EncDec.cc create mode 100644 library/rua/RUA_IEs.asn create mode 100644 library/rua/RUA_PDU_Contents.asn create mode 100644 library/rua/RUA_PDU_Descriptions.asn create mode 100644 library/rua/RUA_Types.ttcn create mode 100755 library/rua/regen_makefile.sh diff --git a/asn-test/ttcn3_asn1_rename.sh b/asn-test/ttcn3_asn1_rename.sh new file mode 100755 index 000000000..f34f85af8 --- /dev/null +++ b/asn-test/ttcn3_asn1_rename.sh @@ -0,0 +1 @@ +for f in *.asn; do nf=`echo $f | sed -e 's/-/_/'g`; mv $f $nf; done diff --git a/library/hnbap/HNBAP_CommonDataTypes.asn b/library/hnbap/HNBAP_CommonDataTypes.asn new file mode 100644 index 000000000..8097a3e1f --- /dev/null +++ b/library/hnbap/HNBAP_CommonDataTypes.asn @@ -0,0 +1,55 @@ +-- HNBAP-CommonDataTypes.asn +-- +-- 3GPP TS 25.469 V10.1.0 (2011-06) +-- http://www.3gpp.org/ftp/Specs/html-info/25469.htm +-- +-- 9.3.5 Common Definitions +-- + +-- ************************************************************** +-- +-- 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/library/hnbap/HNBAP_Constants.asn b/library/hnbap/HNBAP_Constants.asn new file mode 100644 index 000000000..befb935c4 --- /dev/null +++ b/library/hnbap/HNBAP_Constants.asn @@ -0,0 +1,92 @@ +-- HNBAP-Constants.asn +-- +-- 3GPP TS 25.469 V10.1.0 (2011-06) +-- http://www.3gpp.org/ftp/Specs/html-info/25469.htm +-- +-- 9.3.6 Constant Definitions +-- +-- ************************************************************** +-- +-- 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 + + +-- ************************************************************** +-- +-- Lists +-- +-- ************************************************************** +maxNrOfErrors INTEGER ::= 256 +maxnoofRABs INTEGER ::= 256 +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 + + +END diff --git a/library/hnbap/HNBAP_Containers.asn b/library/hnbap/HNBAP_Containers.asn new file mode 100644 index 000000000..f00c4d0e2 --- /dev/null +++ b/library/hnbap/HNBAP_Containers.asn @@ -0,0 +1,157 @@ +-- HNBAP-Containers.asn +-- +-- 3GPP TS 25.469 V10.1.0 (2011-06) +-- http://www.3gpp.org/ftp/Specs/html-info/25469.htm +-- +-- 9.3.7 Container Definitions +-- + +-- ************************************************************** +-- +-- 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/library/hnbap/HNBAP_EncDec.cc b/library/hnbap/HNBAP_EncDec.cc new file mode 100644 index 000000000..37d764f69 --- /dev/null +++ b/library/hnbap/HNBAP_EncDec.cc @@ -0,0 +1,64 @@ + +#include +#include +#include "HNBAP_PDU_Descriptions.hh" + +extern "C" { +#include +} + +namespace HNBAP__Types { + +TTCN_Module HNBAP__EncDec("HNBAP_EncDec", __DATE__, __TIME__); + +OCTETSTRING enc__HNBAP__PDU(const HNBAP__PDU__Descriptions::HNBAP__PDU &pdu) +{ + uint8_t *aper_buf; + int aper_buf_len; + TTCN_Buffer TTCN_buf; + TTCN_buf.clear(); + + /* Encode from abstract data type into BER/DER */ + pdu.encode(HNBAP__PDU__Descriptions::HNBAP__PDU_descr_, TTCN_buf, + TTCN_EncDec::CT_BER, BER_ENCODE_DER); + + aper_buf_len = fftranscode_ber2aper(FFTRANSC_T_HNBAP, &aper_buf, TTCN_buf.get_data(), TTCN_buf.get_len()); + if (aper_buf_len < 0) { + TTCN_error("fftranscode failed."); + } + + /* make octetstring from output buffer */ + OCTETSTRING ret_val(aper_buf_len, aper_buf); + + /* release dynamically-allocated output buffer */ + fftranscode_free(aper_buf); + + return ret_val; +} + +HNBAP__PDU__Descriptions::HNBAP__PDU dec__HNBAP__PDU(const OCTETSTRING &stream) +{ + uint8_t *ber_buf; + int ber_buf_len; + + /* First, decode APER + re-encode as BER */ + ber_buf_len = fftranscode_aper2ber(FFTRANSC_T_HNBAP, &ber_buf, (const unsigned char *)stream, stream.lengthof()); + if (ber_buf_len < 0) { + TTCN_error("fftranscode failed."); + } + + /* Then, re-encode from BER to TITAN representation */ + HNBAP__PDU__Descriptions::HNBAP__PDU ret_dcc; + TTCN_Buffer TTCN_buf; + TTCN_buf.clear(); + TTCN_buf.put_s(ber_buf_len, ber_buf); + + ret_dcc.decode(HNBAP__PDU__Descriptions::HNBAP__PDU_descr_, TTCN_buf, + TTCN_EncDec::CT_BER, BER_ACCEPT_ALL); + + fftranscode_free(ber_buf); + + return ret_dcc; +} + +} diff --git a/library/hnbap/HNBAP_IEs.asn b/library/hnbap/HNBAP_IEs.asn new file mode 100644 index 000000000..3a4fa1c65 --- /dev/null +++ b/library/hnbap/HNBAP_IEs.asn @@ -0,0 +1,518 @@ +-- HNBAP-IEs.asn +-- +-- 3GPP TS 25.469 V10.1.0 (2011-06) +-- http://www.3gpp.org/ftp/Specs/html-info/25469.htm +-- +-- 9.3.4 Information Element Definitions +-- + +-- ************************************************************** +-- +-- 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, + id-HNB-Internet-Information, + id-HNB-Cell-Identifier + +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-telease, + hNB-not-registered, + unspecified, + normal, + uE-relocated, + ue-registered-in-another-HNB, + ... +} + +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)) + +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 + +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-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 ::= { + ... +} + +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 + +NeighbourInfoList ::= SEQUENCE (SIZE(1..maxnoofNeighbours)) 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)) + +--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,...)) + +TypeOfError ::= ENUMERATED { + not-understood, + missing, + ... +} +--U +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, + ... +} + +--V +--W +--X +--Y +--Z + + +END diff --git a/library/hnbap/HNBAP_PDU_Contents.asn b/library/hnbap/HNBAP_PDU_Contents.asn new file mode 100644 index 000000000..97c974328 --- /dev/null +++ b/library/hnbap/HNBAP_PDU_Contents.asn @@ -0,0 +1,490 @@ +-- HNBAP-PDU-Contents.asn +-- +-- 3GPP TS 25.469 V10.1.0 (2011-06) +-- http://www.3gpp.org/ftp/Specs/html-info/25469.htm +-- +-- 9.3.3 PDU Definitions +-- + +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 + + + +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 + + +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 }, + ... +} + +-- ************************************************************** +-- +-- 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}, + ... +} + +-- ************************************************************** +-- +-- 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 ::= { + ... +} + +-- ************************************************************** +-- +-- 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 ::= { + ... +} + +END diff --git a/library/hnbap/HNBAP_PDU_Descriptions.asn b/library/hnbap/HNBAP_PDU_Descriptions.asn new file mode 100644 index 000000000..514d4510b --- /dev/null +++ b/library/hnbap/HNBAP_PDU_Descriptions.asn @@ -0,0 +1,231 @@ +-- HNBAP-PDU-Descriptions.asn +-- +-- 3GPP TS 25.469 V10.1.0 (2011-06) +-- http://www.3gpp.org/ftp/Specs/html-info/25469.htm +-- +-- 9.3.2 Elementary Procedure definitions +-- + +-- ************************************************************** +-- +-- Elementary Procedure definitions +-- +-- ************************************************************** +-- ************************************************************** +-- ************************************************************** +-- +-- 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 + + +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 + +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 +} + + +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 +} + +privateMessage HNBAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE PrivateMessage + PROCEDURE CODE id-privateMessage + CRITICALITY ignore +} + +END diff --git a/library/hnbap/HNBAP_Types.ttcn b/library/hnbap/HNBAP_Types.ttcn new file mode 100644 index 000000000..0742714b8 --- /dev/null +++ b/library/hnbap/HNBAP_Types.ttcn @@ -0,0 +1,7 @@ +module HNBAP_Types { + + import from HNBAP_PDU_Descriptions language "ASN.1:1997" all; + + external function enc_HNBAP_PDU(in HNBAP_PDU pdu) return octetstring; + external function dec_HNBAP_PDU(in octetstring stream) return HNBAP_PDU; +} diff --git a/library/hnbap/regen_makefile.sh b/library/hnbap/regen_makefile.sh new file mode 100755 index 000000000..4da6872a6 --- /dev/null +++ b/library/hnbap/regen_makefile.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +FILES="*.asn *.ttcn HNBAP_EncDec.cc" + +../../regen-makefile.sh $FILES + +sed -i -e '/^CPPFLAGS/ s/$/ `pkg-config --cflags libfftranscode`/' Makefile +sed -i -e '/^LDFLAGS/ s/$/ `pkg-config --libs libfftranscode`/' Makefile +sed -i -e '/^LINUX_LIBS/ s/$/ `pkg-config --libs libfftranscode`/' Makefile diff --git a/library/ranap/RANAP_CodecPort.ttcn b/library/ranap/RANAP_CodecPort.ttcn new file mode 100644 index 000000000..07e1b00e4 --- /dev/null +++ b/library/ranap/RANAP_CodecPort.ttcn @@ -0,0 +1,410 @@ +module RANAP_CodecPort { + +/* Simple RANAP Codec Port, translating between raw SCCP primitives with + * octetstring payload towards the SCCP provider, and RANAP-SCCP primitives + * which carry the decoded RANAP data types as payload. + * + * (C) 2017-2018 by Harald Welte + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + */ + +import from General_Types all; +import from Osmocom_Types all; + +import from SCCPasp_Types all; +import from SCCP_Types all; + +import from RANAP_PDU_Descriptions all; +import from RANAP_Types all; + +type record RANAP_N_CONNECT_req +{ + SCCP_PAR_Address calledAddress, + SCCP_PAR_Address callingAddress optional, + SCCP_PAR_Expedited_Data_Sel expeditedDataSel optional, + SCCP_PAR_Quality_Of_Service qualityOfService optional, + RANAP_PDU userData optional, + SCCP_PAR_Connection_Id connectionId optional, + SCCP_PAR_Importance importance optional +} + +template RANAP_N_CONNECT_req ts_RANAP_CONNECT_req(SCCP_PAR_Address called, + SCCP_PAR_Address calling, + SCCP_PAR_Connection_Id conn_id, + template RANAP_PDU ranap := omit) := { + calledAddress := called, + callingAddress := calling, + expeditedDataSel := omit, + qualityOfService := omit, + userData := ranap, + connectionId := conn_id, + importance := omit +} + +type record RANAP_N_CONNECT_ind +{ + SCCP_PAR_Address calledAddress, + SCCP_PAR_Address callingAddress optional, + SCCP_PAR_Quality_Of_Service qualityOfService optional, + RANAP_PDU userData optional, + SCCP_PAR_Connection_Id connectionId optional, + SCCP_PAR_Importance importance optional +} + +template RANAP_N_CONNECT_ind tr_RANAP_CONNECT_ind(template SCCP_PAR_Address called, + template SCCP_PAR_Address calling, + template RANAP_PDU payload := *) := { + calledAddress := called, + callingAddress := calling, + qualityOfService := *, + userData := payload, + connectionId := *, + importance := * +} + +type record RANAP_N_CONNECT_res +{ + SCCP_PAR_Address respondingAddress optional, + SCCP_PAR_Expedited_Data_Sel expeditedDataSel optional, + SCCP_PAR_Quality_Of_Service qualityOfService optional, + RANAP_PDU userData optional, + SCCP_PAR_Connection_Id connectionId optional, + SCCP_PAR_Importance importance optional +} + +template RANAP_N_CONNECT_res ts_RANAP_CONNECT_res(SCCP_PAR_Connection_Id conn_id, + template RANAP_PDU ranap := omit) := { + respondingAddress := omit, + expeditedDataSel := omit, + qualityOfService := omit, + userData := ranap, + connectionId := conn_id, + importance := omit +} + +type record RANAP_N_CONNECT_cfm +{ + SCCP_PAR_Address respondingAddress optional, + SCCP_PAR_Quality_Of_Service qualityOfService optional, + RANAP_PDU userData optional, + SCCP_PAR_Connection_Id connectionId optional, + SCCP_PAR_Importance importance optional +} + +template RANAP_N_CONNECT_cfm tr_RANAP_CONNECT_cfm(template SCCP_PAR_Connection_Id conn_id, + template RANAP_PDU ranap := *) := { + respondingAddress := *, + qualityOfService := *, + userData := ranap, + connectionId := conn_id, + importance := * +} + +type record RANAP_N_DATA_req +{ + RANAP_PDU userData , + SCCP_PAR_Connection_Id connectionId optional , + SCCP_PAR_Importance importance optional +} + +template RANAP_N_DATA_req ts_RANAP_DATA_req(SCCP_PAR_Connection_Id conn_id, + template RANAP_PDU ranap) := { + userData := ranap, + connectionId := conn_id, + importance := omit +} + + +type record RANAP_N_DATA_ind +{ + RANAP_PDU userData , + SCCP_PAR_Connection_Id connectionId optional , + SCCP_PAR_Importance importance optional +} + +template RANAP_N_DATA_ind tr_RANAP_DATA_ind(SCCP_PAR_Connection_Id conn_id, + template RANAP_PDU ranap := *) := { + userData := ranap, + connectionId := conn_id, + importance := * +} + + +type record RANAP_N_DISCONNECT_req +{ + SCCP_PAR_Address respondingAddress optional, + SCCP_PAR_Reason reason , + RANAP_PDU userData optional , + SCCP_PAR_Connection_Id connectionId optional , + SCCP_PAR_Importance importance optional +} + +template RANAP_N_DISCONNECT_req ts_RANAP_DISC_req(SCCP_PAR_Connection_Id conn_id, + template SCCP_PAR_Reason reason, + template RANAP_PDU ranap := omit) := { + respondingAddress := omit, + reason := reason, + userData := ranap, + connectionId := conn_id, + importance := omit +} + + +type record RANAP_N_DISCONNECT_ind +{ + SCCP_PAR_Originator originator , + SCCP_PAR_Address respondingAddress optional , + SCCP_PAR_Reason reason , + RANAP_PDU userData optional , + SCCP_PAR_Connection_Id connectionId optional , + SCCP_PAR_Importance importance optional +} + +template RANAP_N_DISCONNECT_ind tr_RANAP_DISC_ind(template SCCP_PAR_Connection_Id conn_id, + template SCCP_PAR_Originator originator, + template SCCP_PAR_Reason reason, + template RANAP_PDU ranap := *) := { + originator := originator, + respondingAddress:= *, + reason := reason, + userData := ranap, + connectionId := conn_id, + importance := * +} + +type record RANAP_N_UNITDATA_req +{ + SCCP_PAR_Address calledAddress , + SCCP_PAR_Address callingAddress , + SCCP_PAR_Sequence_Control sequenceControl optional , + SCCP_PAR_Return_Option returnOption optional , + RANAP_PDU userData , + SCCP_PAR_Importance importance optional + } + +template RANAP_N_UNITDATA_req ts_RANAP_UNITDATA_req(SCCP_PAR_Address called, SCCP_PAR_Address calling, template RANAP_PDU payload) := { + calledAddress := called, + callingAddress := calling, + sequenceControl := omit, + returnOption := omit, + userData := payload, + importance := omit +} + +type record RANAP_N_UNITDATA_ind +{ + SCCP_PAR_Address calledAddress , + SCCP_PAR_Address callingAddress , + SCCP_PAR_Sequence_Control sequenceControl optional , + SCCP_PAR_Return_Option returnOption optional , + RANAP_PDU userData , + SCCP_PAR_Importance importance optional +} + +template RANAP_N_UNITDATA_ind tr_RANAP_UNITDATA_ind(template SCCP_PAR_Address called, template SCCP_PAR_Address calling, template RANAP_PDU payload) := { + calledAddress := called, + callingAddress := calling, + sequenceControl := *, + returnOption := *, + userData := payload, + importance := * +} + +type record RANAP_N_NOTICE_ind +{ + SCCP_PAR_Address calledAddress , + SCCP_PAR_Address callingAddress , + SCCP_PAR_Reason_For_Return reasonForReturn , + RANAP_PDU userData , + SCCP_PAR_Importance importance optional +} + + + +private function f_dec_ConnectInd(in ASP_SCCP_N_CONNECT_ind pin, out RANAP_N_CONNECT_ind pout) { + pout.calledAddress := pin.calledAddress; + pout.callingAddress := pin.callingAddress; + pout.qualityOfService := pin.qualityOfService; + if (ispresent(pin.userData)) { + pout.userData := dec_RANAP_PDU(pin.userData); + } else { + pout.userData := omit; + } + pout.connectionId := pin.connectionId; + pout.importance := pin.importance; + //port.setstate(0); +} with {extension "prototype(fast)" } + +private function f_dec_ConnectCfm(in ASP_SCCP_N_CONNECT_cfm pin, out RANAP_N_CONNECT_cfm pout) { + pout.respondingAddress := pin.respondingAddress; + pout.qualityOfService := pin.qualityOfService; + if (ispresent(pin.userData)) { + pout.userData := dec_RANAP_PDU(pin.userData); + } else { + pout.userData := omit; + } + pout.connectionId := pin.connectionId; + pout.importance := pin.importance; + //port.setstate(0); +} with {extension "prototype(fast)" } + +private function f_dec_DataInd(in ASP_SCCP_N_DATA_ind pin, out RANAP_N_DATA_ind pout) { + pout.userData := dec_RANAP_PDU(pin.userData); + pout.connectionId := pin.connectionId; + pout.importance := pin.importance; + //port.setstate(0); +} with {extension "prototype(fast)" } + +private function f_dec_DisconnectInd(in ASP_SCCP_N_DISCONNECT_ind pin, out RANAP_N_DISCONNECT_ind pout) { + pout.originator := pin.originator; + pout.respondingAddress := pin.respondingAddress; + pout.reason := pin.reason; + if (ispresent(pin.userData)) { + pout.userData := dec_RANAP_PDU(pin.userData); + } else { + pout.userData := omit; + } + pout.connectionId := pin.connectionId; + pout.importance := pin.importance; + //port.setstate(0); +} with {extension "prototype(fast)" } + +private function f_dec_UnitdataInd(in ASP_SCCP_N_UNITDATA_ind pin, out RANAP_N_UNITDATA_ind pout) { + pout.calledAddress := pin.calledAddress; + pout.callingAddress := pin.callingAddress; + pout.sequenceControl := pin.sequenceControl; + pout.returnOption := pin.returnOption; + pout.userData := dec_RANAP_PDU(pin.userData); + pout.importance := pin.importance; + //port.setstate(0); +} with {extension "prototype(fast)" } + +private function f_dec_NoticeInd(in ASP_SCCP_N_NOTICE_ind pin, out RANAP_N_NOTICE_ind pout) { + pout.calledAddress := pin.calledAddress; + pout.callingAddress := pin.callingAddress; + pout.reasonForReturn := pin.reasonForReturn; + pout.userData := dec_RANAP_PDU(pin.userData); + pout.importance := pin.importance; + //port.setstate(0); +} with {extension "prototype(fast)" } + + + +private function f_enc_ConnectReq(in RANAP_N_CONNECT_req pin, out ASP_SCCP_N_CONNECT_req pout) { + pout.calledAddress := pin.calledAddress; + pout.callingAddress := pin.callingAddress; + pout.expeditedDataSel := pin.expeditedDataSel; + pout.qualityOfService := pin.qualityOfService; + if (ispresent(pin.userData)) { + pout.userData := enc_RANAP_PDU(pin.userData); + } else { + pout.userData := omit; + } + pout.connectionId := pin.connectionId; + pout.importance := pin.importance; + //port.setstate(0); +} with {extension "prototype(fast)" } + +private function f_enc_ConnectRes(in RANAP_N_CONNECT_res pin, out ASP_SCCP_N_CONNECT_res pout) { + pout.respondingAddress := pin.respondingAddress; + pout.expeditedDataSel := pin.expeditedDataSel; + pout.qualityOfService := pin.qualityOfService; + if (ispresent(pin.userData)) { + pout.userData := enc_RANAP_PDU(pin.userData); + } else { + pout.userData := omit; + } + pout.connectionId := pin.connectionId; + pout.importance := pin.importance; + //port.setstate(0); +} with {extension "prototype(fast)" } + +private function f_enc_DataReq(in RANAP_N_DATA_req pin, out ASP_SCCP_N_DATA_req pout) { + pout.userData := enc_RANAP_PDU(pin.userData); + pout.connectionId := pin.connectionId; + pout.importance := pin.importance; + //port.setstate(0); +} with {extension "prototype(fast)" } + +private function f_enc_DisconnectReq(in RANAP_N_DISCONNECT_req pin, out ASP_SCCP_N_DISCONNECT_req pout) { + pout.respondingAddress := pin.respondingAddress; + pout.reason := pin.reason; + if (ispresent(pin.userData)) { + pout.userData := enc_RANAP_PDU(pin.userData); + } else { + pout.userData := omit; + } + pout.connectionId := pin.connectionId; + pout.importance := pin.importance; + //port.setstate(0); +} with {extension "prototype(fast)" } + +private function f_enc_UnitdataReq(in RANAP_N_UNITDATA_req pin, out ASP_SCCP_N_UNITDATA_req pout) { + pout.calledAddress := pin.calledAddress; + pout.callingAddress := pin.callingAddress; + pout.userData := enc_RANAP_PDU(pin.userData); + pout.sequenceControl := pin.sequenceControl; + pout.returnOption := pin.returnOption; + pout.importance := pin.importance; + //port.setstate(0); +} with {extension "prototype(fast)" } + + +/* +type port RANAP_CODEC_PT message map to SCCPasp_PT { + out RANAP_N_CONNECT_req to ASP_SCCP_N_CONNECT_req with f_enc_ConnectReq(), + RANAP_N_CONNECT_res to ASP_SCCP_N_CONNECT_res with f_enc_ConnectRes(), + RANAP_N_DATA_req to ASP_SCCP_N_DATA_req with f_enc_DataReq(), + RANAP_N_DISCONNECT_req to ASP_SCCP_N_DISCONNECT_req with f_enc_DisconnectReq(), + RANAP_N_UNITDATA_req to ASP_SCCP_N_UNITDATA_req with f_enc_UnitdataReq(), + ASP_SCCP_N_RESET_req, ASP_SCCP_N_RESET_resp; + + in RANAP_N_CONNECT_ind from ASP_SCCP_N_CONNECT_ind with f_dec_ConnectInd(), + RANAP_N_CONNECT_cfm from ASP_SCCP_N_CONNECT_cfm with f_dec_ConnectCfm(), + RANAP_N_DATA_ind from ASP_SCCP_N_DATA_ind with f_dec_DataInd(), + RANAP_N_DISCONNECT_ind from ASP_SCCP_N_DISCONNECT_ind with f_dec_DisconnectInd(), + RANAP_N_UNITDATA_ind from ASP_SCCP_N_UNITDATA_ind with f_dec_UnitdataInd(), + RANAP_N_NOTICE_ind from ASP_SCCP_N_NOTICE_ind with f_dec_NoticeInd(), + ASP_SCCP_N_STATE_ind, ASP_SCCP_N_RESET_ind, ASP_SCCP_N_RESET_cfm; +} with {extension "internal"} +*/ + +type port RANAP_CODEC_PT message { + out RANAP_N_CONNECT_req, + RANAP_N_CONNECT_res, + RANAP_N_DATA_req, + RANAP_N_DISCONNECT_req, + RANAP_N_UNITDATA_req, + ASP_SCCP_N_RESET_req; + in RANAP_N_CONNECT_ind, + RANAP_N_CONNECT_cfm, + RANAP_N_DATA_ind, + RANAP_N_DISCONNECT_ind, + RANAP_N_UNITDATA_ind, + RANAP_N_NOTICE_ind, + ASP_SCCP_N_RESET_ind, + ASP_SCCP_N_RESET_cfm, + ASP_SCCP_N_STATE_ind; +} with { extension "internal user SCCPasp_PT + out(RANAP_N_CONNECT_req -> ASP_SCCP_N_CONNECT_req: function(f_enc_ConnectReq); + RANAP_N_CONNECT_res -> ASP_SCCP_N_CONNECT_res: function(f_enc_ConnectRes); + RANAP_N_DATA_req -> ASP_SCCP_N_DATA_req: function(f_enc_DataReq); + RANAP_N_DISCONNECT_req -> ASP_SCCP_N_DISCONNECT_req: function(f_enc_DisconnectReq); + RANAP_N_UNITDATA_req -> ASP_SCCP_N_UNITDATA_req: function(f_enc_UnitdataReq); + ASP_SCCP_N_RESET_req -> ASP_SCCP_N_RESET_req: simple) + in(ASP_SCCP_N_CONNECT_ind -> RANAP_N_CONNECT_ind: function(f_dec_ConnectInd); + ASP_SCCP_N_CONNECT_cfm -> RANAP_N_CONNECT_cfm: function(f_dec_ConnectCfm); + ASP_SCCP_N_DATA_ind -> RANAP_N_DATA_ind: function(f_dec_DataInd); + ASP_SCCP_N_DISCONNECT_ind -> RANAP_N_DISCONNECT_ind: function(f_dec_DisconnectInd); + ASP_SCCP_N_UNITDATA_ind -> RANAP_N_UNITDATA_ind: function(f_dec_UnitdataInd); + ASP_SCCP_N_NOTICE_ind -> RANAP_N_NOTICE_ind: function(f_dec_NoticeInd); + ASP_SCCP_N_RESET_ind -> ASP_SCCP_N_RESET_ind: simple; + ASP_SCCP_N_RESET_cfm -> ASP_SCCP_N_RESET_cfm: simple; + ASP_SCCP_N_STATE_ind -> ASP_SCCP_N_STATE_ind: simple)" +} + + +} diff --git a/library/ranap/RANAP_CommonDataTypes.asn b/library/ranap/RANAP_CommonDataTypes.asn new file mode 100644 index 000000000..0287dfc93 --- /dev/null +++ b/library/ranap/RANAP_CommonDataTypes.asn @@ -0,0 +1,40 @@ +-- RANAP-CommonDataTypes.asn +-- +-- 3GPP TS 25.413 V14.0.0 (2017-03) +-- http://www.3gpp.org/ftp/Specs/html-info/25413.htm +-- +-- 9.3.5 Common Definitions +-- + +-- ************************************************************** +-- +-- Common definitions +-- +-- ************************************************************** + +RANAP-CommonDataTypes { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) ranap (0) version1 (1) ranap-CommonDataTypes (3) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +Criticality ::= ENUMERATED { reject, ignore, notify } + +Presence ::= ENUMERATED { optional, conditional, mandatory } + +PrivateIE-ID ::= CHOICE { + local INTEGER (0..65535), + global OBJECT IDENTIFIER +} + +ProcedureCode ::= INTEGER (0..255) + +ProtocolExtensionID ::= INTEGER (0..65535) + +ProtocolIE-ID ::= INTEGER (0..65535) + +TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome, outcome } + +END diff --git a/library/ranap/RANAP_Constants.asn b/library/ranap/RANAP_Constants.asn new file mode 100644 index 000000000..46360d0f1 --- /dev/null +++ b/library/ranap/RANAP_Constants.asn @@ -0,0 +1,436 @@ +-- RANAP-Constants.asn +-- +-- 3GPP TS 25.413 V14.0.0 (2017-03) +-- http://www.3gpp.org/ftp/Specs/html-info/25413.htm +-- +-- 9.3.6 Constant Definitions +-- +-- ************************************************************** +-- +-- Constant definitions +-- +-- ************************************************************** + +RANAP-Constants { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) ranap (0) version1 (1) ranap-Constants (4) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +-- ************************************************************** +-- +-- Elementary Procedures +-- +-- ************************************************************** + +id-RAB-Assignment INTEGER ::= 0 +id-Iu-Release INTEGER ::= 1 +id-RelocationPreparation INTEGER ::= 2 +id-RelocationResourceAllocation INTEGER ::= 3 +id-RelocationCancel INTEGER ::= 4 +id-SRNS-ContextTransfer INTEGER ::= 5 +id-SecurityModeControl INTEGER ::= 6 +id-DataVolumeReport INTEGER ::= 7 +--WS Extension +id-Not-Used-8 INTEGER ::= 8 +id-Reset INTEGER ::= 9 +id-RAB-ReleaseRequest INTEGER ::= 10 +id-Iu-ReleaseRequest INTEGER ::= 11 +id-RelocationDetect INTEGER ::= 12 +id-RelocationComplete INTEGER ::= 13 +id-Paging INTEGER ::= 14 +id-CommonID INTEGER ::= 15 +id-CN-InvokeTrace INTEGER ::= 16 +id-LocationReportingControl INTEGER ::= 17 +id-LocationReport INTEGER ::= 18 +id-InitialUE-Message INTEGER ::= 19 +id-DirectTransfer INTEGER ::= 20 +id-OverloadControl INTEGER ::= 21 +id-ErrorIndication INTEGER ::= 22 +id-SRNS-DataForward INTEGER ::= 23 +id-ForwardSRNS-Context INTEGER ::= 24 +id-privateMessage INTEGER ::= 25 +id-CN-DeactivateTrace INTEGER ::= 26 +id-ResetResource INTEGER ::= 27 +id-RANAP-Relocation INTEGER ::= 28 +id-RAB-ModifyRequest INTEGER ::= 29 +id-LocationRelatedData INTEGER ::= 30 +id-InformationTransfer INTEGER ::= 31 +id-UESpecificInformation INTEGER ::= 32 +id-UplinkInformationExchange INTEGER ::= 33 +id-DirectInformationTransfer INTEGER ::= 34 +id-MBMSSessionStart INTEGER ::= 35 +id-MBMSSessionUpdate INTEGER ::= 36 +id-MBMSSessionStop INTEGER ::= 37 +id-MBMSUELinking INTEGER ::= 38 +id-MBMSRegistration INTEGER ::= 39 +id-MBMSCNDe-Registration-Procedure INTEGER ::= 40 +id-MBMSRABEstablishmentIndication INTEGER ::= 41 +id-MBMSRABRelease INTEGER ::= 42 +id-enhancedRelocationComplete INTEGER ::= 43 +id-enhancedRelocationCompleteConfirm INTEGER ::= 44 +id-RANAPenhancedRelocation INTEGER ::= 45 +id-SRVCCPreparation INTEGER ::= 46 +id-UeRadioCapabilityMatch INTEGER ::= 47 +id-UeRegistrationQuery INTEGER ::= 48 +id-RerouteNASRequest INTEGER ::= 49 + +-- ************************************************************** +-- +-- Extension constants +-- +-- ************************************************************** + +maxPrivateIEs INTEGER ::= 65535 +maxProtocolExtensions INTEGER ::= 65535 +maxProtocolIEs INTEGER ::= 65535 + +-- ************************************************************** +-- +-- Lists +-- +-- ************************************************************** + +maxNrOfDTs INTEGER ::= 15 +maxNrOfErrors INTEGER ::= 256 +maxNrOfIuSigConIds INTEGER ::= 250 +maxNrOfPDPDirections INTEGER ::= 2 +maxNrOfPoints INTEGER ::= 15 +maxNrOfRABs INTEGER ::= 256 +maxNrOfSeparateTrafficDirections INTEGER ::= 2 +maxNrOfSRBs INTEGER ::= 8 +maxNrOfVol INTEGER ::= 2 +maxNrOfLevels INTEGER ::= 256 +maxNrOfAltValues INTEGER ::= 16 +maxNrOfPLMNsSN INTEGER ::= 32 +maxNrOfLAs INTEGER ::= 65536 +maxNrOfSNAs INTEGER ::= 65536 +maxNrOfUEsToBeTraced INTEGER ::= 64 +maxNrOfInterfaces INTEGER ::= 16 +maxRAB-Subflows INTEGER ::= 7 +maxRAB-SubflowCombination INTEGER ::= 64 +maxSet INTEGER ::= 9 +maxNrOfHSDSCHMACdFlows-1 INTEGER ::= 7 +maxnoofMulticastServicesPerUE INTEGER ::= 128 +maxnoofMulticastServicesPerRNC INTEGER ::= 512 +maxMBMSSA INTEGER ::= 256 +maxMBMSRA INTEGER ::= 65536 +maxNrOfEDCHMACdFlows-1 INTEGER ::= 7 +maxGANSSSet INTEGER ::= 9 +maxNrOfCSGs INTEGER ::= 256 +maxNrOfEUTRAFreqs INTEGER ::= 8 +maxNrOfCellIds INTEGER ::= 32 +maxNrOfRAIs INTEGER ::= 8 +maxNrOfLAIs INTEGER ::= 8 +maxSizeOfIMSInfo INTEGER ::= 32 +maxnoofMDTPLMNs INTEGER ::= 16 +maxAddPosSet INTEGER ::= 8 +maxnoofPLMNs INTEGER ::= 16 + +-- ************************************************************** +-- +-- IEs +-- +-- ************************************************************** + +id-AreaIdentity INTEGER ::= 0 +-- WS Extension +id-Not-Used-1 INTEGER ::= 1 +id-Not-Used-2 INTEGER ::= 2 +id-CN-DomainIndicator INTEGER ::= 3 +id-Cause INTEGER ::= 4 +id-ChosenEncryptionAlgorithm INTEGER ::= 5 +id-ChosenIntegrityProtectionAlgorithm INTEGER ::= 6 +id-ClassmarkInformation2 INTEGER ::= 7 +id-ClassmarkInformation3 INTEGER ::= 8 +id-CriticalityDiagnostics INTEGER ::= 9 +id-DL-GTP-PDU-SequenceNumber INTEGER ::= 10 +id-EncryptionInformation INTEGER ::= 11 +id-IntegrityProtectionInformation INTEGER ::= 12 +id-IuTransportAssociation INTEGER ::= 13 +id-L3-Information INTEGER ::= 14 +id-LAI INTEGER ::= 15 +id-NAS-PDU INTEGER ::= 16 +id-NonSearchingIndication INTEGER ::= 17 +id-NumberOfSteps INTEGER ::= 18 +id-OMC-ID INTEGER ::= 19 +id-OldBSS-ToNewBSS-Information INTEGER ::= 20 +id-PagingAreaID INTEGER ::= 21 +id-PagingCause INTEGER ::= 22 +id-PermanentNAS-UE-ID INTEGER ::= 23 +id-RAB-ContextItem INTEGER ::= 24 +id-RAB-ContextList INTEGER ::= 25 +id-RAB-DataForwardingItem INTEGER ::= 26 +id-RAB-DataForwardingItem-SRNS-CtxReq INTEGER ::= 27 +id-RAB-DataForwardingList INTEGER ::= 28 +id-RAB-DataForwardingList-SRNS-CtxReq INTEGER ::= 29 +id-RAB-DataVolumeReportItem INTEGER ::= 30 +id-RAB-DataVolumeReportList INTEGER ::= 31 +id-RAB-DataVolumeReportRequestItem INTEGER ::= 32 +id-RAB-DataVolumeReportRequestList INTEGER ::= 33 +id-RAB-FailedItem INTEGER ::= 34 +id-RAB-FailedList INTEGER ::= 35 +id-RAB-ID INTEGER ::= 36 +id-RAB-QueuedItem INTEGER ::= 37 +id-RAB-QueuedList INTEGER ::= 38 +id-RAB-ReleaseFailedList INTEGER ::= 39 +id-RAB-ReleaseItem INTEGER ::= 40 +id-RAB-ReleaseList INTEGER ::= 41 +id-RAB-ReleasedItem INTEGER ::= 42 +id-RAB-ReleasedList INTEGER ::= 43 +id-RAB-ReleasedList-IuRelComp INTEGER ::= 44 +id-RAB-RelocationReleaseItem INTEGER ::= 45 +id-RAB-RelocationReleaseList INTEGER ::= 46 +id-RAB-SetupItem-RelocReq INTEGER ::= 47 +id-RAB-SetupItem-RelocReqAck INTEGER ::= 48 +id-RAB-SetupList-RelocReq INTEGER ::= 49 +id-RAB-SetupList-RelocReqAck INTEGER ::= 50 +id-RAB-SetupOrModifiedItem INTEGER ::= 51 +id-RAB-SetupOrModifiedList INTEGER ::= 52 +id-RAB-SetupOrModifyItem INTEGER ::= 53 +id-RAB-SetupOrModifyList INTEGER ::= 54 +id-RAC INTEGER ::= 55 +id-RelocationType INTEGER ::= 56 +id-RequestType INTEGER ::= 57 +id-SAI INTEGER ::= 58 +id-SAPI INTEGER ::= 59 +id-SourceID INTEGER ::= 60 +id-Source-ToTarget-TransparentContainer INTEGER ::= 61 +id-TargetID INTEGER ::= 62 +id-Target-ToSource-TransparentContainer INTEGER ::= 63 +id-TemporaryUE-ID INTEGER ::= 64 +id-TraceReference INTEGER ::= 65 +id-TraceType INTEGER ::= 66 +id-TransportLayerAddress INTEGER ::= 67 +id-TriggerID INTEGER ::= 68 +id-UE-ID INTEGER ::= 69 +id-UL-GTP-PDU-SequenceNumber INTEGER ::= 70 +id-RAB-FailedtoReportItem INTEGER ::= 71 +id-RAB-FailedtoReportList INTEGER ::= 72 +-- WS Extension +id-Not-Used-73 INTEGER ::= 73 +id-Not-Used-74 INTEGER ::= 74 +id-KeyStatus INTEGER ::= 75 +id-DRX-CycleLengthCoefficient INTEGER ::= 76 +id-IuSigConIdList INTEGER ::= 77 +id-IuSigConIdItem INTEGER ::= 78 +id-IuSigConId INTEGER ::= 79 +id-DirectTransferInformationItem-RANAP-RelocInf INTEGER ::= 80 +id-DirectTransferInformationList-RANAP-RelocInf INTEGER ::= 81 +id-RAB-ContextItem-RANAP-RelocInf INTEGER ::= 82 +id-RAB-ContextList-RANAP-RelocInf INTEGER ::= 83 +id-RAB-ContextFailedtoTransferItem INTEGER ::= 84 +id-RAB-ContextFailedtoTransferList INTEGER ::= 85 +id-GlobalRNC-ID INTEGER ::= 86 +id-RAB-ReleasedItem-IuRelComp INTEGER ::= 87 +id-MessageStructure INTEGER ::= 88 +id-Alt-RAB-Parameters INTEGER ::= 89 +id-Ass-RAB-Parameters INTEGER ::= 90 +id-RAB-ModifyList INTEGER ::= 91 +id-RAB-ModifyItem INTEGER ::= 92 +id-TypeOfError INTEGER ::= 93 +id-BroadcastAssistanceDataDecipheringKeys INTEGER ::= 94 +id-LocationRelatedDataRequestType INTEGER ::= 95 +id-GlobalCN-ID INTEGER ::= 96 +id-LastKnownServiceArea INTEGER ::= 97 +id-SRB-TrCH-Mapping INTEGER ::= 98 +id-InterSystemInformation-TransparentContainer INTEGER ::= 99 +id-NewBSS-To-OldBSS-Information INTEGER ::= 100 +-- WS extension +id-Not-Used-101 INTEGER ::= 101 +id-Not-Used-102 INTEGER ::= 102 +id-SourceRNC-PDCP-context-info INTEGER ::= 103 +id-InformationTransferID INTEGER ::= 104 +id-SNA-Access-Information INTEGER ::= 105 +id-ProvidedData INTEGER ::= 106 +id-GERAN-BSC-Container INTEGER ::= 107 +id-GERAN-Classmark INTEGER ::= 108 +id-GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item INTEGER ::= 109 +id-GERAN-Iumode-RAB-FailedList-RABAssgntResponse INTEGER ::= 110 +id-VerticalAccuracyCode INTEGER ::= 111 +id-ResponseTime INTEGER ::= 112 +id-PositioningPriority INTEGER ::= 113 +id-ClientType INTEGER ::= 114 +id-LocationRelatedDataRequestTypeSpecificToGERANIuMode INTEGER ::= 115 +id-SignallingIndication INTEGER ::= 116 +id-hS-DSCH-MAC-d-Flow-ID INTEGER ::= 117 +id-UESBI-Iu INTEGER ::= 118 +id-PositionData INTEGER ::= 119 +id-PositionDataSpecificToGERANIuMode INTEGER ::= 120 +id-CellLoadInformationGroup INTEGER ::= 121 +id-AccuracyFulfilmentIndicator INTEGER ::= 122 +id-InformationTransferType INTEGER ::= 123 +id-TraceRecordingSessionInformation INTEGER ::= 124 +id-TracePropagationParameters INTEGER ::= 125 +id-InterSystemInformationTransferType INTEGER ::= 126 +id-SelectedPLMN-ID INTEGER ::= 127 +id-RedirectionCompleted INTEGER ::= 128 +id-RedirectionIndication INTEGER ::= 129 +id-NAS-SequenceNumber INTEGER ::= 130 +id-RejectCauseValue INTEGER ::= 131 +id-APN INTEGER ::= 132 +id-CNMBMSLinkingInformation INTEGER ::= 133 +id-DeltaRAListofIdleModeUEs INTEGER ::= 134 +id-FrequenceLayerConvergenceFlag INTEGER ::= 135 +id-InformationExchangeID INTEGER ::= 136 +id-InformationExchangeType INTEGER ::= 137 +id-InformationRequested INTEGER ::= 138 +id-InformationRequestType INTEGER ::= 139 +id-IPMulticastAddress INTEGER ::= 140 +id-JoinedMBMSBearerServicesList INTEGER ::= 141 +id-LeftMBMSBearerServicesList INTEGER ::= 142 +id-MBMSBearerServiceType INTEGER ::= 143 +id-MBMSCNDe-Registration INTEGER ::= 144 +id-MBMSServiceArea INTEGER ::= 145 +id-MBMSSessionDuration INTEGER ::= 146 +id-MBMSSessionIdentity INTEGER ::= 147 +id-PDP-TypeInformation INTEGER ::= 148 +id-RAB-Parameters INTEGER ::= 149 +id-RAListofIdleModeUEs INTEGER ::= 150 +id-MBMSRegistrationRequestType INTEGER ::= 151 +id-SessionUpdateID INTEGER ::= 152 +id-TMGI INTEGER ::= 153 +id-TransportLayerInformation INTEGER ::= 154 +id-UnsuccessfulLinkingList INTEGER ::= 155 +id-MBMSLinkingInformation INTEGER ::= 156 +id-MBMSSessionRepetitionNumber INTEGER ::= 157 +id-AlternativeRABConfiguration INTEGER ::= 158 +id-AlternativeRABConfigurationRequest INTEGER ::= 159 +id-E-DCH-MAC-d-Flow-ID INTEGER ::= 160 +id-SourceBSS-ToTargetBSS-TransparentContainer INTEGER ::= 161 +id-TargetBSS-ToSourceBSS-TransparentContainer INTEGER ::= 162 +id-TimeToMBMSDataTransfer INTEGER ::= 163 +id-IncludeVelocity INTEGER ::= 164 +id-VelocityEstimate INTEGER ::= 165 +id-RedirectAttemptFlag INTEGER ::= 166 +id-RAT-Type INTEGER ::= 167 +id-PeriodicLocationInfo INTEGER ::= 168 +id-MBMSCountingInformation INTEGER ::= 169 +id-170-not-to-be-used-for-IE-ids INTEGER ::= 170 +id-ExtendedRNC-ID INTEGER ::= 171 +id-Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf INTEGER ::= 172 +id-Alt-RAB-Parameter-ExtendedMaxBitrateInf INTEGER ::= 173 +id-Ass-RAB-Parameter-ExtendedGuaranteedBitrateList INTEGER ::= 174 +id-Ass-RAB-Parameter-ExtendedMaxBitrateList INTEGER ::= 175 +id-RAB-Parameter-ExtendedGuaranteedBitrateList INTEGER ::= 176 +id-RAB-Parameter-ExtendedMaxBitrateList INTEGER ::= 177 +id-Requested-RAB-Parameter-ExtendedMaxBitrateList INTEGER ::= 178 +id-Requested-RAB-Parameter-ExtendedGuaranteedBitrateList INTEGER ::= 179 +id-LAofIdleModeUEs INTEGER ::= 180 +id-newLAListofIdleModeUEs INTEGER ::= 181 +id-LAListwithNoIdleModeUEsAnyMore INTEGER ::= 182 +id-183-not-to-be-used-for-IE-ids INTEGER ::= 183 +id-GANSS-PositioningDataSet INTEGER ::= 184 +id-RequestedGANSSAssistanceData INTEGER ::= 185 +id-BroadcastGANSSAssistanceDataDecipheringKeys INTEGER ::= 186 +id-d-RNTI-for-NoIuCSUP INTEGER ::= 187 +id-RAB-SetupList-EnhancedRelocCompleteReq INTEGER ::= 188 +id-RAB-SetupItem-EnhancedRelocCompleteReq INTEGER ::= 189 +id-RAB-SetupList-EnhancedRelocCompleteRes INTEGER ::= 190 +id-RAB-SetupItem-EnhancedRelocCompleteRes INTEGER ::= 191 +id-RAB-SetupList-EnhRelocInfoReq INTEGER ::= 192 +id-RAB-SetupItem-EnhRelocInfoReq INTEGER ::= 193 +id-RAB-SetupList-EnhRelocInfoRes INTEGER ::= 194 +id-RAB-SetupItem-EnhRelocInfoRes INTEGER ::= 195 +id-OldIuSigConId INTEGER ::= 196 +id-RAB-FailedList-EnhRelocInfoRes INTEGER ::= 197 +id-RAB-FailedItem-EnhRelocInfoRes INTEGER ::= 198 +id-Global-ENB-ID INTEGER ::= 199 +id-UE-History-Information INTEGER ::= 200 +id-MBMSSynchronisationInformation INTEGER ::= 201 +id-SubscriberProfileIDforRFP INTEGER ::= 202 +id-CSG-Id INTEGER ::= 203 +id-OldIuSigConIdCS INTEGER ::= 204 +id-OldIuSigConIdPS INTEGER ::= 205 +id-GlobalCN-IDCS INTEGER ::= 206 +id-GlobalCN-IDPS INTEGER ::= 207 +id-SourceExtendedRNC-ID INTEGER ::= 208 +id-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes INTEGER ::= 209 +id-RAB-ToBeReleasedList-EnhancedRelocCompleteRes INTEGER ::= 210 +id-SourceRNC-ID INTEGER ::= 211 +id-Relocation-TargetRNC-ID INTEGER ::= 212 +id-Relocation-TargetExtendedRNC-ID INTEGER ::= 213 +id-Alt-RAB-Parameter-SupportedGuaranteedBitrateInf INTEGER ::= 214 +id-Alt-RAB-Parameter-SupportedMaxBitrateInf INTEGER ::= 215 +id-Ass-RAB-Parameter-SupportedGuaranteedBitrateList INTEGER ::= 216 +id-Ass-RAB-Parameter-SupportedMaxBitrateList INTEGER ::= 217 +id-RAB-Parameter-SupportedGuaranteedBitrateList INTEGER ::= 218 +id-RAB-Parameter-SupportedMaxBitrateList INTEGER ::= 219 +id-Requested-RAB-Parameter-SupportedMaxBitrateList INTEGER ::= 220 +id-Requested-RAB-Parameter-SupportedGuaranteedBitrateList INTEGER ::= 221 +id-Relocation-SourceRNC-ID INTEGER ::= 222 +id-Relocation-SourceExtendedRNC-ID INTEGER ::= 223 +id-EncryptionKey INTEGER ::= 224 +id-IntegrityProtectionKey INTEGER ::= 225 +id-SRVCC-HO-Indication INTEGER ::= 226 +id-SRVCC-Information INTEGER ::= 227 +id-SRVCC-Operation-Possible INTEGER ::= 228 +id-CSG-Id-List INTEGER ::= 229 +id-PSRABtobeReplaced INTEGER ::= 230 +id-E-UTRAN-Service-Handover INTEGER ::= 231 +-- WS Extension +id-Not-Used-232 INTEGER ::= 232 +id-UE-AggregateMaximumBitRate INTEGER ::= 233 +id-CSG-Membership-Status INTEGER ::= 234 +id-Cell-Access-Mode INTEGER ::= 235 +id-IP-Source-Address INTEGER ::= 236 +id-CSFB-Information INTEGER ::= 237 +id-PDP-TypeInformation-extension INTEGER ::= 238 +id-MSISDN INTEGER ::= 239 +id-Offload-RAB-Parameters INTEGER ::= 240 +id-LGW-TransportLayerAddress INTEGER ::= 241 +id-Correlation-ID INTEGER ::= 242 +id-IRAT-Measurement-Configuration INTEGER ::= 243 +id-MDT-Configuration INTEGER ::= 244 +id-Priority-Class-Indicator INTEGER ::= 245 +id-RNSAPRelocationParameters INTEGER ::= 247 +id-RABParametersList INTEGER ::= 248 +id-Management-Based-MDT-Allowed INTEGER ::= 249 +id-HigherBitratesThan16MbpsFlag INTEGER ::= 250 +id-Trace-Collection-Entity-IP-Addess INTEGER ::= 251 +id-End-Of-CSFB INTEGER ::= 252 +id-Time-UE-StayedInCell-EnhancedGranularity INTEGER ::= 253 +id-Out-Of-UTRAN INTEGER ::= 254 +id-TraceRecordingSessionReference INTEGER ::= 255 +id-IMSI INTEGER ::= 256 +id-HO-Cause INTEGER ::= 257 +id-VoiceSupportMatchIndicator INTEGER ::= 258 +id-RSRVCC-HO-Indication INTEGER ::= 259 +id-RSRVCC-Information INTEGER ::= 260 +id-AnchorPLMN-ID INTEGER ::= 261 +id-Tunnel-Information-for-BBF INTEGER ::= 262 +id-Management-Based-MDT-PLMN-List INTEGER ::= 263 +id-SignallingBasedMDTPLMNList INTEGER ::= 264 +id-M4Report INTEGER ::= 265 +id-M5Report INTEGER ::= 266 +id-M6Report INTEGER ::= 267 +id-M7Report INTEGER ::= 268 +id-TimingDifferenceULDL INTEGER ::= 269 +id-Serving-Cell-Identifier INTEGER ::= 270 +id-EARFCN-Extended INTEGER ::= 271 +id-RSRVCC-Operation-Possible INTEGER ::= 272 +id-SIPTO-LGW-TransportLayerAddress INTEGER ::= 273 +id-SIPTO-Correlation-ID INTEGER ::= 274 +id-LHN-ID INTEGER ::= 275 +id-Session-Re-establishment-Indicator INTEGER ::= 276 +id-LastE-UTRANPLMNIdentity INTEGER ::= 277 +id-RSRQ-Type INTEGER ::= 278 +id-RSRQ-Extension INTEGER ::= 279 +id-Additional-CSPS-coordination-information INTEGER ::= 280 +id-UERegistrationQueryResult INTEGER ::= 281 +id-IuSigConIdRangeEnd INTEGER ::= 282 +id-BarometricPressure INTEGER ::= 283 +id-Additional-PositioningDataSet INTEGER ::= 284 +id-CivicAddress INTEGER ::= 285 +id-SGSN-Group-Identity INTEGER ::= 286 +id-P-TMSI INTEGER ::= 287 +id-RANAP-Message INTEGER ::= 288 +id-PowerSavingIndicator INTEGER ::= 289 +id-UE-Usage-Type INTEGER ::= 290 +id-DCN-ID INTEGER ::= 291 +id-UE-Application-Layer-Measurement-Configuration INTEGER ::= 292 +id-UE-Application-Layer-Measurement-Configuration-For-Relocation INTEGER ::= 293 + +END diff --git a/library/ranap/RANAP_Containers.asn b/library/ranap/RANAP_Containers.asn new file mode 100644 index 000000000..f920a62af --- /dev/null +++ b/library/ranap/RANAP_Containers.asn @@ -0,0 +1,202 @@ +-- RANAP-Containers.asn +-- +-- 3GPP TS 25.413 V14.0.0 (2017-03) +-- http://www.3gpp.org/ftp/Specs/html-info/25413.htm +-- +-- 9.3.7 Container Definitions +-- + +-- ************************************************************** +-- +-- Container definitions +-- +-- ************************************************************** + +RANAP-Containers { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) ranap (0) version1 (1) ranap-Containers (5) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** + +IMPORTS + Criticality, + Presence, + PrivateIE-ID, + ProtocolExtensionID, + ProtocolIE-ID +FROM RANAP-CommonDataTypes + + maxPrivateIEs, + maxProtocolExtensions, + maxProtocolIEs +FROM RANAP-Constants; + +-- ************************************************************** +-- +-- Class Definition for Protocol IEs +-- +-- ************************************************************** + +RANAP-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 +-- +-- ************************************************************** + +RANAP-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 +-- +-- ************************************************************** + +RANAP-PROTOCOL-EXTENSION ::= CLASS { + &id ProtocolExtensionID UNIQUE, + &criticality Criticality, + &Extension, + &presence Presence +} +WITH SYNTAX { + ID &id + CRITICALITY &criticality + EXTENSION &Extension + PRESENCE &presence +} + +-- ************************************************************** +-- +-- Class Definition for Private IEs +-- +-- ************************************************************** + +RANAP-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 {RANAP-PROTOCOL-IES : IEsSetParam} ::= + SEQUENCE (SIZE (0..maxProtocolIEs)) OF + ProtocolIE-Field {{IEsSetParam}} + +ProtocolIE-Field {RANAP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE { + id RANAP-PROTOCOL-IES.&id ({IEsSetParam}), + criticality RANAP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}), + value RANAP-PROTOCOL-IES.&Value ({IEsSetParam}{@id}) +} + +-- ************************************************************** +-- +-- Container for Protocol IE Pairs +-- +-- ************************************************************** + +ProtocolIE-ContainerPair {RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::= + SEQUENCE (SIZE (0..maxProtocolIEs)) OF + ProtocolIE-FieldPair {{IEsSetParam}} + +ProtocolIE-FieldPair {RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE { + id RANAP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}), + firstCriticality RANAP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}), + firstValue RANAP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}), + secondCriticality RANAP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}), + secondValue RANAP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id}) +} + +-- ************************************************************** +-- +-- Container Lists for Protocol IE Containers +-- +-- ************************************************************** + +ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, RANAP-PROTOCOL-IES : IEsSetParam} ::= + SEQUENCE (SIZE (lowerBound..upperBound)) OF + ProtocolIE-Container {{IEsSetParam}} + +ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::= + SEQUENCE (SIZE (lowerBound..upperBound)) OF + ProtocolIE-ContainerPair {{IEsSetParam}} + +-- ************************************************************** +-- +-- Container for Protocol Extensions +-- +-- ************************************************************** + +ProtocolExtensionContainer {RANAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= + SEQUENCE (SIZE (1..maxProtocolExtensions)) OF + ProtocolExtensionField {{ExtensionSetParam}} + +ProtocolExtensionField {RANAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE { + id RANAP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}), + criticality RANAP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}), + extensionValue RANAP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id}) +} + +-- ************************************************************** +-- +-- Container for Private IEs +-- +-- ************************************************************** + +PrivateIE-Container {RANAP-PRIVATE-IES : IEsSetParam } ::= + SEQUENCE (SIZE (1.. maxPrivateIEs)) OF + PrivateIE-Field {{IEsSetParam}} + +PrivateIE-Field {RANAP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE { + id RANAP-PRIVATE-IES.&id ({IEsSetParam}), + criticality RANAP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}), + value RANAP-PRIVATE-IES.&Value ({IEsSetParam}{@id}) +} + +END diff --git a/library/ranap/RANAP_EncDec.cc b/library/ranap/RANAP_EncDec.cc new file mode 100644 index 000000000..7626b7bee --- /dev/null +++ b/library/ranap/RANAP_EncDec.cc @@ -0,0 +1,66 @@ + +#include +#include +#include "RANAP_PDU_Descriptions.hh" + +extern "C" { +#include +} + +namespace RANAP__Types { + +TTCN_Module RANAP__EncDec("RANAP_EncDec", __DATE__, __TIME__); + +OCTETSTRING enc__RANAP__PDU(const RANAP__PDU__Descriptions::RANAP__PDU &pdu) +{ + uint8_t *aper_buf; + int aper_buf_len; + TTCN_Buffer TTCN_buf; + TTCN_buf.clear(); + + /* Encode from abstract data type into BER/DER */ + pdu.encode(RANAP__PDU__Descriptions::RANAP__PDU_descr_, TTCN_buf, + TTCN_EncDec::CT_BER, BER_ENCODE_DER); + + aper_buf_len = fftranscode_ber2aper(FFTRANSC_T_RANAP, &aper_buf, TTCN_buf.get_data(), TTCN_buf.get_len()); + if (aper_buf_len < 0) { + TTCN_Logger::begin_event_log2str(); + TTCN_buf.log(); + TTCN_error("fftranscode_ber2aper failed: %s", (const char *) TTCN_Logger::end_event_log2str()); + } + + /* make octetstring from output buffer */ + OCTETSTRING ret_val(aper_buf_len, aper_buf); + + /* release dynamically-allocated output buffer */ + fftranscode_free(aper_buf); + + return ret_val; +} + +RANAP__PDU__Descriptions::RANAP__PDU dec__RANAP__PDU(const OCTETSTRING &stream) +{ + uint8_t *ber_buf; + int ber_buf_len; + + /* First, decode APER + re-encode as BER */ + ber_buf_len = fftranscode_aper2ber(FFTRANSC_T_RANAP, &ber_buf, (const unsigned char *)stream, stream.lengthof()); + if (ber_buf_len < 0) { + TTCN_error("fftranscode_aper2ber failed."); + } + + /* Then, re-encode from BER to TITAN representation */ + RANAP__PDU__Descriptions::RANAP__PDU ret_dcc; + TTCN_Buffer TTCN_buf; + TTCN_buf.clear(); + TTCN_buf.put_s(ber_buf_len, ber_buf); + + ret_dcc.decode(RANAP__PDU__Descriptions::RANAP__PDU_descr_, TTCN_buf, + TTCN_EncDec::CT_BER, BER_ACCEPT_ALL); + + fftranscode_free(ber_buf); + + return ret_dcc; +} + +} diff --git a/library/ranap/RANAP_IEs.asn b/library/ranap/RANAP_IEs.asn new file mode 100644 index 000000000..3b47d0122 --- /dev/null +++ b/library/ranap/RANAP_IEs.asn @@ -0,0 +1,2796 @@ +-- RANAP-IEs.asn +-- +-- 3GPP TS 25.413 V14.0.0 (2017-03) +-- http://www.3gpp.org/ftp/Specs/html-info/25413.htm +-- +-- 9.3.4 Information Element Definitions +-- + +-- ************************************************************** +-- +-- Information Element Definitions +-- +-- ************************************************************** + +RANAP-IEs { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) ranap (0) version1 (1) ranap-IEs (2) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + maxNrOfCSGs, + maxNrOfErrors, + maxNrOfPDPDirections, + maxNrOfPoints, + maxNrOfRABs, + maxNrOfSRBs, + maxNrOfSeparateTrafficDirections, + maxRAB-Subflows, + maxRAB-SubflowCombination, + maxNrOfLevels, + maxNrOfAltValues, + maxNrOfSNAs, + maxNrOfLAs, + maxNrOfPLMNsSN, + maxSet, + maxNrOfHSDSCHMACdFlows-1, + maxNrOfUEsToBeTraced, + maxNrOfInterfaces, + maxnoofMulticastServicesPerRNC, + maxMBMSSA, + maxMBMSRA, + maxnoofMulticastServicesPerUE, + maxNrOfEDCHMACdFlows-1, + maxGANSSSet, + maxNrOfEUTRAFreqs, + maxNrOfCellIds, + maxNrOfRAIs, + maxNrOfLAIs, + maxNrOfVol, + maxSizeOfIMSInfo, + maxnoofMDTPLMNs, + maxAddPosSet, + maxnoofPLMNs, + + id-CN-DomainIndicator, + id-MessageStructure, + id-SRB-TrCH-Mapping, + id-TypeOfError, + id-hS-DSCH-MAC-d-Flow-ID, + id-SignallingIndication, + id-CellLoadInformationGroup, + id-TraceRecordingSessionInformation, + id-MBMSLinkingInformation, + id-AlternativeRABConfiguration, + id-AlternativeRABConfigurationRequest, + id-E-DCH-MAC-d-Flow-ID, + id-RAC, + id-Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf, + id-Alt-RAB-Parameter-ExtendedMaxBitrateInf, + id-Ass-RAB-Parameter-ExtendedGuaranteedBitrateList, + id-Ass-RAB-Parameter-ExtendedMaxBitrateList, + id-RAB-Parameter-ExtendedGuaranteedBitrateList, + id-RAB-Parameter-ExtendedMaxBitrateList, + id-Requested-RAB-Parameter-ExtendedMaxBitrateList, + id-Requested-RAB-Parameter-ExtendedGuaranteedBitrateList, + id-LAofIdleModeUEs, + id-newLAListofIdleModeUEs, + id-LAListwithNoIdleModeUEsAnyMore, + id-ExtendedRNC-ID, + id-GANSS-PositioningDataSet, + id-d-RNTI-for-NoIuCSUP, + id-UE-History-Information, + id-SubscriberProfileIDforRFP, + id-Alt-RAB-Parameter-SupportedGuaranteedBitrateInf, + id-Alt-RAB-Parameter-SupportedMaxBitrateInf, + id-Ass-RAB-Parameter-SupportedGuaranteedBitrateList, + id-Ass-RAB-Parameter-SupportedMaxBitrateList, + id-RAB-Parameter-SupportedGuaranteedBitrateList, + id-RAB-Parameter-SupportedMaxBitrateList, + id-Requested-RAB-Parameter-SupportedMaxBitrateList, + id-Requested-RAB-Parameter-SupportedGuaranteedBitrateList, + id-PSRABtobeReplaced, + id-SRVCC-Information, + id-CSG-Id, + id-CSFB-Information, + id-IRAT-Measurement-Configuration, + id-Management-Based-MDT-Allowed, + id-Time-UE-StayedInCell-EnhancedGranularity, + id-HO-Cause, + id-TraceRecordingSessionReference, + id-IMSI, + id-Management-Based-MDT-PLMN-List, + id-SignallingBasedMDTPLMNList, + id-M4Report, + id-M5Report, + id-M6Report, + id-M7Report, + id-TimingDifferenceULDL, + id-Trace-Collection-Entity-IP-Addess, + id-Serving-Cell-Identifier, + id-EARFCN-Extended, + id-LastE-UTRANPLMNIdentity, + id-RSRQ-Type, + id-RSRQ-Extension, + id-Additional-PositioningDataSet + + +FROM RANAP-Constants + + Criticality, + ProcedureCode, + ProtocolIE-ID, + TriggeringMessage +FROM RANAP-CommonDataTypes + + ProtocolExtensionContainer{}, + RANAP-PROTOCOL-EXTENSION +FROM RANAP-Containers; + +-- A + +AccuracyFulfilmentIndicator ::= ENUMERATED{ + requested-Accuracy-Fulfilled, + requested-Accuracy-Not-Fulfilled, + ... +} + +Additional-CSPS-coordination-information ::= SEQUENCE { + old-LAI LAI OPTIONAL, + old-RAC RAC OPTIONAL, + nRI BIT STRING (SIZE (10)) OPTIONAL, + uE-is-Attaching NULL OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {Additional-CSPS-coordination-information-ExtIEs} } OPTIONAL, + ... +} + +Additional-CSPS-coordination-information-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +Additional-PositioningDataSet ::= SEQUENCE(SIZE(1..maxAddPosSet)) OF Additional-PositioningMethodAndUsage + +Additional-PositioningMethodAndUsage ::= OCTET STRING (SIZE(1)) + +AllocationOrRetentionPriority ::= SEQUENCE { + priorityLevel PriorityLevel, + pre-emptionCapability Pre-emptionCapability, + pre-emptionVulnerability Pre-emptionVulnerability, + queuingAllowed QueuingAllowed, + iE-Extensions ProtocolExtensionContainer { {AllocationOrRetentionPriority-ExtIEs} } OPTIONAL, + ... +} + +AllocationOrRetentionPriority-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +Alt-RAB-Parameters ::= SEQUENCE { + altMaxBitrateInf Alt-RAB-Parameter-MaxBitrateInf OPTIONAL, + altGuaranteedBitRateInf Alt-RAB-Parameter-GuaranteedBitrateInf OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {Alt-RAB-Parameters-ExtIEs} } OPTIONAL, + ... +} + +Alt-RAB-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 6 to indicate an alternative RAB configuration -- + { ID id-AlternativeRABConfiguration CRITICALITY ignore EXTENSION RAB-Parameters PRESENCE optional }| +-- Extension for Release 7 to indicate an alternative list of Extended Guaranteed Bitrates -- +{ ID id-Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf CRITICALITY ignore EXTENSION Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf PRESENCE optional }| +-- Extension for Release 7 to indicate an alternative list of Extended Maximum Bitrates -- +{ ID id-Alt-RAB-Parameter-ExtendedMaxBitrateInf CRITICALITY ignore EXTENSION Alt-RAB-Parameter-ExtendedMaxBitrateInf PRESENCE optional }| +-- Extension for Release 8 to indicate an alternative list of Supported Maximum Bitrates -- +{ ID id-Alt-RAB-Parameter-SupportedMaxBitrateInf CRITICALITY reject EXTENSION Alt-RAB-Parameter-SupportedMaxBitrateInf PRESENCE optional }| +-- Extension for Release 8 to indicate an alternative list of Supported Guaranteed Bitrates -- +{ ID id-Alt-RAB-Parameter-SupportedGuaranteedBitrateInf CRITICALITY reject EXTENSION Alt-RAB-Parameter-SupportedGuaranteedBitrateInf PRESENCE optional }, + ... +} + +Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf ::= SEQUENCE { + altExtendedGuaranteedBitrateType Alt-RAB-Parameter-GuaranteedBitrateType, + altExtendedGuaranteedBitrates Alt-RAB-Parameter-ExtendedGuaranteedBitrates OPTIONAL + -- This IE shall be present if the Type of Extended Guaranteed Bit Rates Information IE is set to "Value range" or "Discrete values" --, + ... +} + +Alt-RAB-Parameter-ExtendedGuaranteedBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF + Alt-RAB-Parameter-ExtendedGuaranteedBitrateList + +Alt-RAB-Parameter-ExtendedGuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedGuaranteedBitrate + +Alt-RAB-Parameter-GuaranteedBitrateInf ::= SEQUENCE { + altGuaranteedBitrateType Alt-RAB-Parameter-GuaranteedBitrateType, + altGuaranteedBitrates Alt-RAB-Parameter-GuaranteedBitrates OPTIONAL + -- This IE shall be present if the Type of Guaranteed Bit Rates Information IE is set to "Value range" or "Discrete values" --, + ... +} + +Alt-RAB-Parameter-GuaranteedBitrateType ::= ENUMERATED{ + unspecified, + value-range, + discrete-values, + ... +} + +Alt-RAB-Parameter-GuaranteedBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF + Alt-RAB-Parameter-GuaranteedBitrateList + + +Alt-RAB-Parameter-GuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF GuaranteedBitrate + +Alt-RAB-Parameter-SupportedGuaranteedBitrateInf ::= SEQUENCE { + altSupportedGuaranteedBitrateType Alt-RAB-Parameter-GuaranteedBitrateType, + altSupportedGuaranteedBitrates Alt-RAB-Parameter-SupportedGuaranteedBitrates OPTIONAL + -- This IE shall be present if the Type of Supported Guaranteed Bit Rates Information IE is set to "Value range" or "Discrete values" --, + iE-Extensions ProtocolExtensionContainer { { Alt-RAB-Parameter-SupportedGuaranteedBitrateInf-ExtIEs} } OPTIONAL, + ... +} + +Alt-RAB-Parameter-SupportedGuaranteedBitrateInf-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +... +} + +Alt-RAB-Parameter-SupportedGuaranteedBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF + SupportedRAB-ParameterBitrateList + + +Alt-RAB-Parameter-ExtendedMaxBitrateInf ::= SEQUENCE { + altExtendedMaxBitrateType Alt-RAB-Parameter-MaxBitrateType, + altExtendedMaxBitrates Alt-RAB-Parameter-ExtendedMaxBitrates OPTIONAL + -- This IE shall be present if the Type of Extended Alternative Maximum Bit Rates Information IE is set to "Value range" or "Discrete values" --, + ... +} + +Alt-RAB-Parameter-ExtendedMaxBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF + Alt-RAB-Parameter-ExtendedMaxBitrateList + +Alt-RAB-Parameter-ExtendedMaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedMaxBitrate + +Alt-RAB-Parameter-MaxBitrateInf ::= SEQUENCE { + altMaxBitrateType Alt-RAB-Parameter-MaxBitrateType, + altMaxBitrates Alt-RAB-Parameter-MaxBitrates OPTIONAL + -- This IE shall be present if the Type of Alternative Maximun Bit Rates Information IE is set to "Value range" or "Discrete values" --, + ... +} + +Alt-RAB-Parameter-MaxBitrateType ::= ENUMERATED{ + unspecified, + value-range, + discrete-values, + ... +} + +Alt-RAB-Parameter-MaxBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF + Alt-RAB-Parameter-MaxBitrateList + + +Alt-RAB-Parameter-MaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF MaxBitrate + + +Alt-RAB-Parameter-SupportedMaxBitrateInf ::= SEQUENCE { + altSupportedMaxBitrateType Alt-RAB-Parameter-MaxBitrateType, + altSupportedMaxBitrates Alt-RAB-Parameter-SupportedMaxBitrates OPTIONAL + -- This IE shall be present if the Type of Supported Alternative Maximun Bit Rates Information IE is set to "Value range" or "Discrete values" --, + iE-Extensions ProtocolExtensionContainer { { Alt-RAB-Parameter-SupportedMaxBitrateInf-ExtIEs} } OPTIONAL, +... +} + +Alt-RAB-Parameter-SupportedMaxBitrateInf-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +... +} + + +Alt-RAB-Parameter-SupportedMaxBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF + SupportedRAB-ParameterBitrateList + +AlternativeRABConfigurationRequest ::= ENUMERATED{ + alternative-RAB-configuration-Requested, + ... +} + +UE-Application-Layer-Measurement-Configuration ::= SEQUENCE { + applicationLayerContainerForMeasurementConfiguration OCTET STRING ( SIZE (1..1000)), + areaScopeForUEApplicationLayerMeasurementConfiguration AreaScopeForUEApplicationLayerMeasurementConfiguration, + ... +} + +UE-Application-Layer-Measurement-Configuration-For-Relocation ::= SEQUENCE { + areaScopeForUEApplicationLayerMeasurementConfiguration AreaScopeForUEApplicationLayerMeasurementConfiguration, + traceReference TraceReference, + tracePropagationParameters TracePropagationParameters OPTIONAL, + traceCollectionEntityIPAddress TransportLayerAddress OPTIONAL, + ... +} + + +APN ::= OCTET STRING (SIZE (1..255)) +-- Reference: 23.003 + +AreaScopeForUEApplicationLayerMeasurementConfiguration ::= CHOICE { + cellbased CellBased, + labased LABased, + rabased RABased, + plmn-area-based PLMNBased, + ... +} + +AreaIdentity ::= CHOICE { + sAI SAI, + geographicalArea GeographicalArea, + ... +} + +Ass-RAB-Parameters ::= SEQUENCE { + assMaxBitrateInf Ass-RAB-Parameter-MaxBitrateList OPTIONAL, + assGuaranteedBitRateInf Ass-RAB-Parameter-GuaranteedBitrateList OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {Ass-RAB-Parameters-ExtIEs} } OPTIONAL, + ... +} + +Ass-RAB-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 7 to indicate an extended assigned Guaranteed Bitrate -- + { ID id-Ass-RAB-Parameter-ExtendedGuaranteedBitrateList CRITICALITY reject EXTENSION Ass-RAB-Parameter-ExtendedGuaranteedBitrateList PRESENCE optional }| +-- Extension for Release 7 to indicate an extended assigned Maximum Bitrate -- + { ID id-Ass-RAB-Parameter-ExtendedMaxBitrateList CRITICALITY reject EXTENSION Ass-RAB-Parameter-ExtendedMaxBitrateList PRESENCE optional }| +-- Extension for Release 8 to indicate an supported assigned Maximum Bitrate -- + { ID id-Ass-RAB-Parameter-SupportedMaxBitrateList CRITICALITY ignore EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional }| +-- Extension for Release 8 to indicate an supported assigned Guaranteed Bitrate -- + { ID id-Ass-RAB-Parameter-SupportedGuaranteedBitrateList CRITICALITY ignore EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional }, + ... +} + +Ass-RAB-Parameter-ExtendedGuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedGuaranteedBitrate + +Ass-RAB-Parameter-ExtendedMaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedMaxBitrate + + +Ass-RAB-Parameter-GuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF GuaranteedBitrate + + +Ass-RAB-Parameter-MaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF MaxBitrate + +AuthorisedPLMNs ::= SEQUENCE (SIZE (1..maxNrOfPLMNsSN)) OF + SEQUENCE { + pLMNidentity PLMNidentity, + authorisedSNAsList AuthorisedSNAs OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {AuthorisedPLMNs-ExtIEs} } OPTIONAL, + ... + } + +AuthorisedPLMNs-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +AuthorisedSNAs ::= SEQUENCE (SIZE (1..maxNrOfSNAs)) OF SNAC + + +-- B + +BarometricPressure ::= INTEGER (30000..115000) + +BindingID ::= OCTET STRING (SIZE (4)) + +BroadcastAssistanceDataDecipheringKeys ::= SEQUENCE { + cipheringKeyFlag BIT STRING (SIZE (1)), + currentDecipheringKey BIT STRING (SIZE (56)), + nextDecipheringKey BIT STRING (SIZE (56)), + ... +} + +-- C + + +Cause ::= CHOICE { + radioNetwork CauseRadioNetwork, + transmissionNetwork CauseTransmissionNetwork, + nAS CauseNAS, + protocol CauseProtocol, + misc CauseMisc, + non-Standard CauseNon-Standard, + ..., + radioNetworkExtension CauseRadioNetworkExtension +} + +CauseMisc ::= INTEGER { + om-intervention (113), + no-resource-available (114), + unspecified-failure (115), + network-optimisation (116) +} (113..128) + +CauseNAS ::= INTEGER { + user-restriction-start-indication (81), + user-restriction-end-indication (82), + normal-release (83), + csg-subscription-expiry(84) +} (81..96) + +CauseProtocol ::= INTEGER { + transfer-syntax-error (97), + semantic-error (98), + message-not-compatible-with-receiver-state (99), + abstract-syntax-error-reject (100), + abstract-syntax-error-ignore-and-notify (101), + abstract-syntax-error-falsely-constructed-message (102) +} (97..112) + +CauseRadioNetwork ::= INTEGER { + rab-pre-empted (1), + trelocoverall-expiry (2), + trelocprep-expiry (3), + treloccomplete-expiry (4), + tqueing-expiry (5), + relocation-triggered (6), + trellocalloc-expiry(7), + unable-to-establish-during-relocation (8), + unknown-target-rnc (9), + relocation-cancelled (10), + successful-relocation (11), + requested-ciphering-and-or-integrity-protection-algorithms-not-supported (12), + conflict-with-already-existing-integrity-protection-and-or-ciphering-information (13), + failure-in-the-radio-interface-procedure (14), + release-due-to-utran-generated-reason (15), + user-inactivity (16), + time-critical-relocation (17), + requested-traffic-class-not-available (18), + invalid-rab-parameters-value (19), + requested-maximum-bit-rate-not-available (20), + requested-guaranteed-bit-rate-not-available (21), + requested-transfer-delay-not-achievable (22), + invalid-rab-parameters-combination (23), + condition-violation-for-sdu-parameters (24), + condition-violation-for-traffic-handling-priority (25), + condition-violation-for-guaranteed-bit-rate (26), + user-plane-versions-not-supported (27), + iu-up-failure (28), + relocation-failure-in-target-CN-RNC-or-target-system(29), + invalid-RAB-ID (30), + no-remaining-rab (31), + interaction-with-other-procedure (32), + requested-maximum-bit-rate-for-dl-not-available (33), + requested-maximum-bit-rate-for-ul-not-available (34), + requested-guaranteed-bit-rate-for-dl-not-available (35), + requested-guaranteed-bit-rate-for-ul-not-available (36), + repeated-integrity-checking-failure (37), + requested-request-type-not-supported (38), + request-superseded (39), + release-due-to-UE-generated-signalling-connection-release (40), + resource-optimisation-relocation (41), + requested-information-not-available (42), + relocation-desirable-for-radio-reasons (43), + relocation-not-supported-in-target-RNC-or-target-system (44), + directed-retry (45), + radio-connection-with-UE-Lost (46), + rNC-unable-to-establish-all-RFCs (47), + deciphering-keys-not-available(48), + dedicated-assistance-data-not-available(49), + relocation-target-not-allowed (50), + location-reporting-congestion (51), + reduce-load-in-serving-cell (52), + no-radio-resources-available-in-target-cell (53), + gERAN-Iumode-failure (54), + access-restricted-due-to-shared-networks (55), + incoming-relocation-not-supported-due-to-PUESBINE-feature (56), + traffic-load-in-the-target-cell-higher-than-in-the-source-cell (57), + mBMS-no-multicast-service-for-this-UE(58), + mBMS-unknown-UE-ID(59), + successful-MBMS-session-start-no-data-bearer-necessary(60), + mBMS-superseded-due-to-NNSF(61), + mBMS-UE-linking-already-done(62), + mBMS-UE-de-linking-failure-no-existing-UE-linking(63), + tMGI-unknown(64) +} (1..64) + +CauseRadioNetworkExtension ::= INTEGER { + iP-multicast-address-and-APN-not-valid(257), + mBMS-de-registration-rejected-due-to-implicit-registration(258), + mBMS-request-superseded(259), + mBMS-de-registration-during-session-not-allowed(260), + mBMS-no-data-bearer-necessary(261), + periodicLocationInformationNotAvailable(262), + gTP-Resources-Unavailable(263), + tMGI-inUse-overlapping-MBMS-service-area(264), + mBMS-no-cell-in-MBMS-service-area(265), + no-Iu-CS-UP-relocation(266), + successful-MBMS-Session-Start-IP-Multicast-Bearer-established(267), + cS-fallback-triggered(268), + invalid-CSG-Id(269) +} (257..512) + +CauseNon-Standard ::= INTEGER (129..256) +-- Cause value 256 shall not be used -- + +CauseTransmissionNetwork ::= INTEGER { + signalling-transport-resource-failure (65), + iu-transport-connection-failed-to-establish (66) +} (65..80) + +Cell-Access-Mode::= ENUMERATED { + hybrid, + ... +} + +CellBased::= SEQUENCE { + cellIdList CellIdList, + iE-Extensions ProtocolExtensionContainer { {CellBased-ExtIEs} } OPTIONAL, + ... +} + +CellBased-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +CellIdList ::= SEQUENCE (SIZE (1..maxNrOfCellIds)) OF + Cell-Id + +Cell-Id ::= INTEGER (0..268435455) + +Cell-Capacity-Class-Value ::= INTEGER (1..100,...) + +CellLoadInformation ::= SEQUENCE { + cell-Capacity-Class-Value Cell-Capacity-Class-Value, + loadValue LoadValue, + rTLoadValue RTLoadValue OPTIONAL, + nRTLoadInformationValue NRTLoadInformationValue OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { CellLoadInformation-ExtIEs } } OPTIONAL, + ... +} + +CellLoadInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +CellLoadInformationGroup ::= SEQUENCE { + sourceCellID SourceCellID, + uplinkCellLoadInformation CellLoadInformation OPTIONAL, + downlinkCellLoadInformation CellLoadInformation OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { CellLoadInformationGroup-ExtIEs } } OPTIONAL, + ... +} + +CellLoadInformationGroup-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +CellType ::= ENUMERATED{ + macro, + micro, + pico, + femto, + ... +} + +CivicAddress ::= OCTET STRING + +ClientType ::= ENUMERATED { + emergency-Services, + value-Added-Services, + pLMN-Operator-Services, + lawful-Intercept-Services, + pLMN-Operator-Broadcast-Services, + pLMN-Operator-O-et-M, + pLMN-Operator-Anonymous-Statistics, + pLMN-Operator-Target-MS-Service-Support, + ... +} + +CriticalityDiagnostics ::= SEQUENCE { + procedureCode ProcedureCode OPTIONAL, + triggeringMessage TriggeringMessage OPTIONAL, + procedureCriticality Criticality OPTIONAL, + iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL, + ... +} + +CriticalityDiagnostics-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF + SEQUENCE { + iECriticality Criticality, + iE-ID ProtocolIE-ID, + repetitionNumber RepetitionNumber0 OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL, + ... + } + +CriticalityDiagnostics-IE-List-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 99 to enable reporting the message structure down to the erroneous IE -- + { ID id-MessageStructure CRITICALITY ignore EXTENSION MessageStructure PRESENCE optional } | +-- Extension for Release 99 to enable reporting if a reported error is due to a not understood or a missing IE -- + { ID id-TypeOfError CRITICALITY ignore EXTENSION TypeOfError PRESENCE mandatory }, + ... +} + +MessageStructure ::= SEQUENCE (SIZE (1..maxNrOfLevels)) OF + SEQUENCE { + iE-ID ProtocolIE-ID, + repetitionNumber RepetitionNumber1 OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {MessageStructure-ExtIEs} } OPTIONAL, + ... + } + +MessageStructure-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +CGI ::= SEQUENCE { + pLMNidentity PLMNidentity, + lAC LAC, + cI CI, + iE-Extensions ProtocolExtensionContainer { {CGI-ExtIEs} } OPTIONAL +} + +CGI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 6 to enable Inter-RAT PS Handover between UTRAN and GERAN A/Gb -- + { ID id-RAC CRITICALITY ignore EXTENSION RAC PRESENCE optional }, + ... +} + +ChosenEncryptionAlgorithm ::= EncryptionAlgorithm + +ChosenIntegrityProtectionAlgorithm ::= IntegrityProtectionAlgorithm + +CI ::= OCTET STRING (SIZE (2)) + +ClassmarkInformation2 ::= OCTET STRING + +ClassmarkInformation3 ::= OCTET STRING + +CN-DomainIndicator ::= ENUMERATED { + cs-domain, + ps-domain +} + +CN-ID ::= INTEGER (0..4095) + +Correlation-ID ::= OCTET STRING (SIZE (4)) + +CSFB-Information ::= ENUMERATED { + csfb, + csfb-high-priority, + ... +} + +CSG-Id ::= BIT STRING (SIZE (27)) + +CSG-Id-List ::= SEQUENCE (SIZE (1..maxNrOfCSGs)) OF + CSG-Id + +CSG-Membership-Status ::= ENUMERATED { + member, + non-member, + ... +} + +-- D + +DataPDUType ::= ENUMERATED { + pDUtype0, + pDUtype1, + ... + } + +DataVolumeReference ::= INTEGER (0..255) + +DataVolumeReportingIndication ::= ENUMERATED { + do-report, + do-not-report +} + +DCH-ID ::= INTEGER (0..255) + +DCN-ID ::= INTEGER (0..65535) + + +DeliveryOfErroneousSDU ::= ENUMERATED { + yes, + no, + no-error-detection-consideration +} + +DeliveryOrder::= ENUMERATED { + delivery-order-requested, + delivery-order-not-requested +} + +DeltaRAListofIdleModeUEs ::= SEQUENCE { + newRAListofIdleModeUEs NewRAListofIdleModeUEs OPTIONAL, + rAListwithNoIdleModeUEsAnyMore RAListwithNoIdleModeUEsAnyMore OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {DeltaRAListofIdleModeUEs-ExtIEs} } OPTIONAL +} + +NewRAListofIdleModeUEs ::= SEQUENCE (SIZE (1..maxMBMSRA)) OF + RAC + +RAListwithNoIdleModeUEsAnyMore ::= SEQUENCE (SIZE (1..maxMBMSRA)) OF + RAC + +DeltaRAListofIdleModeUEs-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +{ ID id-newLAListofIdleModeUEs CRITICALITY reject EXTENSION LAListofIdleModeUEs PRESENCE conditional }| + -- This IE shall be present if the New RA List of Idle Mode UEs IE is included. -- +{ ID id-LAListwithNoIdleModeUEsAnyMore CRITICALITY reject EXTENSION LAListofIdleModeUEs PRESENCE conditional }, + -- This IE shall be presentif the RA List with No Idle Mode UEs Any More IE is included. -- + ... +} + +ForwardingIndication::=ENUMERATED{ + forwarding-admitted, + ... +} + +DL-GTP-PDU-SequenceNumber ::= INTEGER (0..65535) + +DL-N-PDU-SequenceNumber ::= INTEGER (0..65535) + +D-RNTI ::= INTEGER (0..1048575) + +DRX-CycleLengthCoefficient ::= INTEGER (6..9) + +DSCH-ID ::= INTEGER (0..255) + + +-- E + +EARFCN-Extended ::= INTEGER (65536..262143, ...) + +E-DCH-MAC-d-Flow-ID ::= INTEGER (0.. maxNrOfEDCHMACdFlows-1) + +ENB-ID ::= CHOICE { + macroENB-ID BIT STRING (SIZE(20)), + homeENB-ID BIT STRING (SIZE(28)), + ..., + short-macroENB-ID BIT STRING (SIZE(18)), + long-macroENB-ID BIT STRING (SIZE(21)) + +} + +EncryptionAlgorithm ::= INTEGER { no-encryption (0), standard-UMTS-encryption-algorith-UEA1 (1), standard-UMTS-encryption-algorithm-UEA2 (2) } (0..15) + +EncryptionInformation ::= SEQUENCE { + permittedAlgorithms PermittedEncryptionAlgorithms, + key EncryptionKey, + iE-Extensions ProtocolExtensionContainer { {EncryptionInformation-ExtIEs} } OPTIONAL +} + +EncryptionInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +EncryptionKey ::= BIT STRING (SIZE (128)) +-- Reference: 33.102 + +End-Of-CSFB ::= ENUMERATED{ + end-of-CSFB, + ... +} + +EquipmentsToBeTraced ::= CHOICE { + iMEIlist IMEIList, + iMEISVlist IMEISVList, + iMEIgroup IMEIGroup, + iMEISVgroup IMEISVGroup, + ... +} + +E-UTRAN-Service-Handover ::= ENUMERATED { + handover-to-E-UTRAN-shall-not-be-performed, + ... +} + +Event ::= ENUMERATED { + stop-change-of-service-area, + direct, + change-of-servicearea, + ..., + stop-direct, + periodic, + stop-periodic +} + +Event1F-Parameters ::= SEQUENCE { + measurementQuantity MeasurementQuantity, + threshold INTEGER(-120..165), + ... +} + +Event1I-Parameters ::= SEQUENCE { + threshold INTEGER(-120..-25), + ... +} + +ExtendedGuaranteedBitrate ::= INTEGER (16000001..256000000) +-- Unit is bits per sec + +ExtendedMaxBitrate ::= INTEGER (16000001..256000000) +-- Unit is bits per sec + +ExtendedRNC-ID ::= INTEGER (4096..65535) + +-- F + +FrameSequenceNumber ::= INTEGER(0..15) + +FrequenceLayerConvergenceFlag ::= ENUMERATED { + no-FLC-flag, + ... +} + +-- G + +GANSS-PositioningDataSet ::= SEQUENCE(SIZE(1..maxGANSSSet)) OF GANSS-PositioningMethodAndUsage + +GANSS-PositioningMethodAndUsage ::= OCTET STRING (SIZE(1)) + +GeographicalArea ::= CHOICE { + point GA-Point, + pointWithUnCertainty GA-PointWithUnCertainty, + polygon GA-Polygon, + ..., + pointWithUncertaintyEllipse GA-PointWithUnCertaintyEllipse, + pointWithAltitude GA-PointWithAltitude, + pointWithAltitudeAndUncertaintyEllipsoid GA-PointWithAltitudeAndUncertaintyEllipsoid, + ellipsoidArc GA-EllipsoidArc +} + +GeographicalCoordinates ::= SEQUENCE { + latitudeSign ENUMERATED { north, south }, + latitude INTEGER (0..8388607), + longitude INTEGER (-8388608..8388607), + iE-Extensions ProtocolExtensionContainer { {GeographicalCoordinates-ExtIEs} } OPTIONAL, + ... +} + +GeographicalCoordinates-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +GA-AltitudeAndDirection ::= SEQUENCE { + directionOfAltitude ENUMERATED {height, depth}, + altitude INTEGER (0..32767), + ... +} + +GA-EllipsoidArc ::= SEQUENCE { + geographicalCoordinates GeographicalCoordinates, + innerRadius INTEGER (0..65535), + uncertaintyRadius INTEGER (0..127), + offsetAngle INTEGER (0..179), + includedAngle INTEGER (0..179), + confidence INTEGER (0..127), + iE-Extensions ProtocolExtensionContainer { { GA-EllipsoidArc-ExtIEs} } OPTIONAL, + ... +} + +GA-EllipsoidArc-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +GA-Point ::= SEQUENCE { + geographicalCoordinates GeographicalCoordinates, + iE-Extensions ProtocolExtensionContainer { {GA-Point-ExtIEs} } OPTIONAL, + ... +} + +GA-Point-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +GA-PointWithAltitude ::= SEQUENCE { + geographicalCoordinates GeographicalCoordinates, + altitudeAndDirection GA-AltitudeAndDirection, + iE-Extensions ProtocolExtensionContainer { { GA-PointWithAltitude-ExtIEs} } OPTIONAL, + ... +} + +GA-PointWithAltitude-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +GA-PointWithAltitudeAndUncertaintyEllipsoid ::= SEQUENCE { + geographicalCoordinates GeographicalCoordinates, + altitudeAndDirection GA-AltitudeAndDirection, + uncertaintyEllipse GA-UncertaintyEllipse, + uncertaintyAltitude INTEGER (0..127), + confidence INTEGER (0..127), + iE-Extensions ProtocolExtensionContainer { { GA-PointWithAltitudeAndUncertaintyEllipsoid-ExtIEs} } OPTIONAL, + ... +} + +GA-PointWithAltitudeAndUncertaintyEllipsoid-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +GA-PointWithUnCertainty ::=SEQUENCE { + geographicalCoordinates GeographicalCoordinates, + iE-Extensions ProtocolExtensionContainer { {GA-PointWithUnCertainty-ExtIEs} } OPTIONAL, + uncertaintyCode INTEGER (0..127) +} + +GA-PointWithUnCertainty-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +GA-PointWithUnCertaintyEllipse ::= SEQUENCE { + geographicalCoordinates GeographicalCoordinates, + uncertaintyEllipse GA-UncertaintyEllipse, + confidence INTEGER (0..127), + iE-Extensions ProtocolExtensionContainer { { GA-PointWithUnCertaintyEllipse-ExtIEs} } OPTIONAL, + ... +} + +GA-PointWithUnCertaintyEllipse-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +GA-Polygon ::= SEQUENCE (SIZE (1..maxNrOfPoints)) OF + SEQUENCE { + geographicalCoordinates GeographicalCoordinates, + iE-Extensions ProtocolExtensionContainer { {GA-Polygon-ExtIEs} } OPTIONAL, + ... + } + +GA-Polygon-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +GA-UncertaintyEllipse ::= SEQUENCE { + uncertaintySemi-major INTEGER (0..127), + uncertaintySemi-minor INTEGER (0..127), + orientationOfMajorAxis INTEGER (0..179), -- The values 90..179 shall not be used. + ... +} + +GERAN-BSC-Container ::= OCTET STRING + -- GERAN BSC Container as defined in TS 48.008 [11] -- + + +GERAN-Cell-ID ::= SEQUENCE { + lAI LAI, + rAC RAC, + cI CI, + iE-Extensions ProtocolExtensionContainer { {GERAN-Cell-ID-ExtIEs} } OPTIONAL +} + +GERAN-Cell-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +GERAN-Classmark ::= OCTET STRING + -- GERAN Classmark as defined in TS 48.008 [11] -- + +GlobalCN-ID ::= SEQUENCE { + pLMNidentity PLMNidentity, + cN-ID CN-ID +} + + +GlobalRNC-ID ::= SEQUENCE { + pLMNidentity PLMNidentity, + rNC-ID RNC-ID +} + +GTP-TEI ::= OCTET STRING (SIZE (4)) + +GuaranteedBitrate ::= INTEGER (0..16000000) +-- Unit is bits per sec + +-- H + +HigherBitratesThan16MbpsFlag ::= ENUMERATED{ + allowed, + not-allowed, + ... +} + +HS-DSCH-MAC-d-Flow-ID ::= INTEGER (0.. maxNrOfHSDSCHMACdFlows-1) + +-- I + + +IMEI ::= OCTET STRING (SIZE (8)) +-- Reference: 23.003 + +IMEIGroup ::= SEQUENCE { + iMEI IMEI, + iMEIMask BIT STRING (SIZE (7)), + iE-Extensions ProtocolExtensionContainer { { IMEIGroup-ExtIEs} } OPTIONAL +} + +IMEIGroup-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +IMEIList ::= SEQUENCE (SIZE (1..maxNrOfUEsToBeTraced)) OF IMEI + +IMEISV ::= OCTET STRING (SIZE (8)) +-- Reference: 23.003 + +IMEISVGroup ::= SEQUENCE { + iMEISV IMEISV, + iMEISVMask BIT STRING (SIZE (7)), + iE-Extensions ProtocolExtensionContainer { { IMEISVGroup-ExtIEs} } OPTIONAL +} + +IMEISVGroup-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +IMEISVList ::= SEQUENCE (SIZE (1..maxNrOfUEsToBeTraced)) OF IMEISV + +ImmediateMDT ::= SEQUENCE { + measurementsToActivate MeasurementsToActivate, + m1report M1Report OPTIONAL, + -- Included in case of event-triggered reporting for measurement M1 + m2report M2Report OPTIONAL, + -- Included in case of event-triggered reporting for measurement M2 + ..., + iE-Extensions ProtocolExtensionContainer { { ImmediateMDT-ExtIEs} } OPTIONAL +} + +ImmediateMDT-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + {ID id-M4Report CRITICALITY ignore EXTENSION M4Report PRESENCE optional}| + -- Included in case that measurement M4 is activated + {ID id-M5Report CRITICALITY ignore EXTENSION M5Report PRESENCE optional}| + -- Included in case that measurement M5 is activated + {ID id-M6Report CRITICALITY ignore EXTENSION M6Report PRESENCE optional}| + -- Included in case that measurement M6 is activated + {ID id-M7Report CRITICALITY ignore EXTENSION M7Report PRESENCE optional}, + -- Included in case that measurement M7 is activated + ... +} + +IMSI ::= TBCD-STRING (SIZE (3..8)) +-- Reference: 23.003 + +IncludeVelocity ::= ENUMERATED { + requested +} + +InformationExchangeID ::= INTEGER (0.. 1048575) + +InformationExchangeType ::= ENUMERATED { + transfer, + request, + ... +} + +InformationRequested ::= CHOICE { + requestedMBMSIPMulticastAddressandAPNRequest RequestedMBMSIPMulticastAddressandAPNRequest, + requestedMulticastServiceList RequestedMulticastServiceList, + ... +} + + +InformationRequestType ::= CHOICE { + mBMSIPMulticastAddressandAPNRequest MBMSIPMulticastAddressandAPNRequest, + permanentNAS-UE-ID PermanentNAS-UE-ID, + ... +} + +InformationTransferID ::= INTEGER (0.. 1048575) + +InformationTransferType ::= CHOICE { + rNCTraceInformation RNCTraceInformation, + ... +} + +IntegrityProtectionAlgorithm ::= INTEGER { + standard-UMTS-integrity-algorithm-UIA1 (0), standard-UMTS-integrity-algorithm-UIA2 (1), + no-value (15) +} (0..15) + +IntegrityProtectionInformation ::= SEQUENCE { + permittedAlgorithms PermittedIntegrityProtectionAlgorithms, + key IntegrityProtectionKey, + iE-Extensions ProtocolExtensionContainer { {IntegrityProtectionInformation-ExtIEs} } OPTIONAL +} + +IntegrityProtectionInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +IntegrityProtectionKey ::= BIT STRING (SIZE (128)) + +InterSystemInformationTransferType ::= CHOICE { + rIM-Transfer RIM-Transfer, + ... +} + +InterSystemInformation-TransparentContainer ::= SEQUENCE { + downlinkCellLoadInformation CellLoadInformation OPTIONAL, + uplinkCellLoadInformation CellLoadInformation OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { InterSystemInformation-TransparentContainer-ExtIEs} } OPTIONAL, + ... +} + +InterSystemInformation-TransparentContainer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +... +} + +IPMulticastAddress ::= OCTET STRING (SIZE (4..16)) +-- Reference: 23.003 + +IuSignallingConnectionIdentifier ::= BIT STRING (SIZE (24)) + +IuTransportAssociation ::= CHOICE { + gTP-TEI GTP-TEI, + bindingID BindingID, + ... +} + +-- J +-- K + +KeyStatus ::= ENUMERATED { + old, + new, + ... +} +-- L + +LA-LIST ::= SEQUENCE (SIZE (1..maxNrOfLAs)) OF + SEQUENCE { + lAC LAC, + listOF-SNAs ListOF-SNAs, + iE-Extensions ProtocolExtensionContainer { { LA-LIST-ExtIEs} } OPTIONAL, + ... + } + +LA-LIST-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +LAC ::= OCTET STRING (SIZE (2)) + +LAI ::= SEQUENCE { + pLMNidentity PLMNidentity, + lAC LAC, + iE-Extensions ProtocolExtensionContainer { {LAI-ExtIEs} } OPTIONAL +} + +LAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +LastKnownServiceArea ::= SEQUENCE { + sAI SAI, + ageOfSAI INTEGER (0..32767), + iE-Extensions ProtocolExtensionContainer { {LastKnownServiceArea-ExtIEs} } OPTIONAL, + ... +} + +LastKnownServiceArea-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +LastVisitedUTRANCell-Item ::= SEQUENCE { + uTRAN-CellID UTRAN-CellID, + cellType CellType, + time-UE-StayedInCell Time-UE-StayedInCell, + iE-Extensions ProtocolExtensionContainer { {LastVisitedUTRANCell-Item-ExtIEs} } OPTIONAL, + ... +} + +LastVisitedUTRANCell-Item-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Rel-11 to support enhanced granularity for time UE stayed in cell -- + { ID id-Time-UE-StayedInCell-EnhancedGranularity CRITICALITY ignore EXTENSION Time-UE-StayedInCell-EnhancedGranularity PRESENCE optional }| + { ID id-HO-Cause CRITICALITY ignore EXTENSION Cause PRESENCE optional }, + ... +} + +LHN-ID ::= OCTET STRING (SIZE (32..256)) + +Links-to-log ::= ENUMERATED {uplink, downlink, both-uplink-and-downlink, ...} + +ListOF-SNAs ::= SEQUENCE (SIZE (1..maxNrOfSNAs)) OF SNAC + +ListOfInterfacesToTrace ::= SEQUENCE (SIZE (1..maxNrOfInterfaces)) OF InterfacesToTraceItem + +InterfacesToTraceItem ::= SEQUENCE { + interface ENUMERATED {iu-cs, iu-ps, iur, iub, uu, ...}, + iE-Extensions ProtocolExtensionContainer { {InterfacesToTraceItem-ExtIEs} } OPTIONAL, + ... +} + +InterfacesToTraceItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +LoadValue ::= INTEGER (0..100) + +LocationRelatedDataRequestType ::= SEQUENCE { + requestedLocationRelatedDataType RequestedLocationRelatedDataType, + requestedGPSAssistanceData RequestedGPSAssistanceData OPTIONAL, + -- This IE shall be present if the Requested Location Related Data Type IE is set to ‘Dedicated Assistance Data for Assisted GPS’ or + -- `Dedicated Assistance Data for Assisted GPS and GANSS’ + ... +} + +LocationRelatedDataRequestTypeSpecificToGERANIuMode ::= ENUMERATED { + decipheringKeysEOTD, + dedicatedMobileAssistedEOTDAssistanceData, + dedicatedMobileBasedEOTDAssistanceData, + ... +} + +LocationReportingTransferInformation ::= SEQUENCE { + reportChangeOfSAI ReportChangeOfSAI OPTIONAL, + periodicReportingIndicator PeriodicReportingIndicator OPTIONAL, + directReportingIndicator DirectReportingIndicator OPTIONAL, + verticalAccuracyCode VerticalAccuracyCode OPTIONAL, + positioningPriorityChangeSAI PositioningPriority OPTIONAL, + positioningPriorityDirect PositioningPriority OPTIONAL, + clientTypePeriodic ClientType OPTIONAL, + clientTypeDirect ClientType OPTIONAL, + responseTime ResponseTime OPTIONAL, + includeVelocity IncludeVelocity OPTIONAL, + periodicLocationInfo PeriodicLocationInfo OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { LocationReportingTransferInformation-ExtIEs } } OPTIONAL, + ... +} + +LocationReportingTransferInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +ReportChangeOfSAI ::= ENUMERATED { + requested, + ... + } + +PeriodicReportingIndicator::= ENUMERATED { + periodicSAI, + periodicGeo, + ... + } + +DirectReportingIndicator::= ENUMERATED { + directSAI, + directGeo, + ... + } + +L3-Information ::= OCTET STRING + +-- M + +M1Report ::= CHOICE { + periodic MDT-Report-Parameters, + event1F Event1F-Parameters, + ... +} + +M2Report ::= CHOICE { + periodic MDT-Report-Parameters, + event1I Event1I-Parameters, + ... +} + +M4Report ::= CHOICE { + all NULL, + m4-collection-parameters M4-Collection-Parameters, + ... +} + +M4-Collection-Parameters ::= SEQUENCE { + m4-period M4-Period, + m4-threshold M4-Threshold OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { M4-Collection-Parameters-ExtIEs} } OPTIONAL, + ... +} + +M4-Collection-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +M4-Period ::= ENUMERATED {ms100, ms250, ms500, ms1000, ms2000, ms3000, ms4000, ms6000, ...} + + +M4-Threshold ::= INTEGER (0..31) + + +M5Report ::= CHOICE { + when-available NULL, + m5-period M5-Period, + ... +} +M5-Period ::= ENUMERATED {ms100, ms250, ms500, ms1000, ms2000, ms3000, ms4000, ms6000, ...} + + + +M6Report ::= SEQUENCE { + m6-period M6-Period, + m6-links-to-log Links-to-log, + iE-Extensions ProtocolExtensionContainer { { M6Report-ExtIEs} } OPTIONAL, + ... +} + +M6Report-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +M6-Period ::= ENUMERATED {ms1000, ms2000, ms3000, ms4000, ms6000, ms8000, ms12000, ms16000, ms20000, ms24000, ms28000, ms32000, ms64000, ...} + +M7Report ::= SEQUENCE { + m7-period M7-Period, + m7-links-to-log Links-to-log, + iE-Extensions ProtocolExtensionContainer { { M7Report-ExtIEs} } OPTIONAL, + ... +} + +M7Report-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +M7-Period ::= ENUMERATED {ms1000, ms2000, ms3000, ms4000, ms6000, ms8000, ms12000, ms16000, ms20000, ms24000, ms28000, ms32000, ms64000, ...} + +Management-Based-MDT-Allowed ::= ENUMERATED { + allowed, ... } + +MaxBitrate ::= INTEGER (1..16000000) +-- Unit is bits per sec + +MaxSDU-Size ::= INTEGER (0..32768) +-- MaxSDU-Size +-- Unit is bit + +MBMS-PTP-RAB-ID ::= BIT STRING (SIZE (8)) + +MBMSBearerServiceType ::= ENUMERATED { + multicast, + broadcast, + ... +} + +MBMSCNDe-Registration ::= ENUMERATED { + normalsessionstop, + deregister, + ... +} + + +MBMSCountingInformation ::= ENUMERATED { + counting, + notcounting, + ... +} + +MBMSHCIndicator ::= ENUMERATED { + uncompressed-header, + compressed-header, + ... +} + +MBMSIPMulticastAddressandAPNRequest ::= SEQUENCE (SIZE (1..maxnoofMulticastServicesPerRNC)) OF + TMGI + +MBMSLinkingInformation ::= ENUMERATED { + uE-has-joined-multicast-services, + ... +} + +MBMSRegistrationRequestType ::= ENUMERATED { + register, + deregister, + ... +} + +MBMSServiceArea ::= OCTET STRING + +MBMSSessionDuration ::= OCTET STRING (SIZE (3)) + + + +MBMSSessionIdentity ::= OCTET STRING (SIZE (1)) + +MBMSSessionRepetitionNumber ::= OCTET STRING (SIZE (1)) + +MDT-Activation ::= ENUMERATED { immediateMDTonly, + loggedMDTonly, + immediateMDTandTrace, + ... } + +MDTAreaScope ::= CHOICE { + cellbased CellBased, + labased LABased, + rabased RABased, + plmn-area-based NULL, + ... +} + +MDT-Configuration ::= SEQUENCE { + mdtActivation MDT-Activation, + mdtAreaScope MDTAreaScope, + mdtMode MDTMode, + iE-Extensions ProtocolExtensionContainer { { MDT-Configuration-ExtIEs} } OPTIONAL, + ... +} + +MDT-Configuration-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + { ID id-SignallingBasedMDTPLMNList CRITICALITY ignore EXTENSION MDT-PLMN-List PRESENCE optional }, +... +} + +MDTMode ::= CHOICE { + immediateMDT ImmediateMDT, + loggedMDT LoggedMDT, + ... +} + +MDT-PLMN-List ::= SEQUENCE (SIZE (1..maxnoofMDTPLMNs)) OF + PLMNidentity + +MDT-Report-Parameters ::= SEQUENCE { + reportInterval ReportInterval, + reportAmount ReportAmount, + ... +} + +MeasurementQuantity ::= ENUMERATED { + cpichEcNo, + cpichRSCP, + pathloss, + ... +} + +MeasurementsToActivate::= BIT STRING (SIZE (8)) + +MSISDN ::= OCTET STRING (SIZE (1..9)) + +-- N + + +NAS-PDU ::= OCTET STRING + +NAS-SequenceNumber ::= BIT STRING (SIZE (2)) +-- Reference: 24.008 + +NAS-SynchronisationIndicator ::= BIT STRING (SIZE (4)) + +NewBSS-To-OldBSS-Information ::= OCTET STRING + +NonSearchingIndication ::= ENUMERATED { + non-searching, + searching +} + +NRTLoadInformationValue ::= INTEGER (0..3) + +Null-NRI ::= BIT STRING (SIZE (10)) + +NumberOfIuInstances ::= INTEGER (1..2) + +NumberOfSteps ::= INTEGER (1..16) + +-- O + +Offload-RAB-Parameters ::= SEQUENCE { + accessPointName Offload-RAB-Parameters-APN, + chargingCharacteristics Offload-RAB-Parameters-ChargingCharacteristics, + iE-Extensions ProtocolExtensionContainer { { Offload-RAB-Parameters-ExtIEs} } OPTIONAL, + ... +} + +Offload-RAB-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +Offload-RAB-Parameters-APN ::= OCTET STRING (SIZE (1..255)) + +Offload-RAB-Parameters-ChargingCharacteristics ::= OCTET STRING (SIZE (2)) + +OldBSS-ToNewBSS-Information ::= OCTET STRING + +OMC-ID ::= OCTET STRING (SIZE (3..22)) +-- Reference: GSM TS 12.20 [25] + +Out-Of-UTRAN ::= ENUMERATED{ + cell-reselection-to-EUTRAN, + ... +} + +-- P + +PagingAreaID ::= CHOICE { + lAI LAI, + rAI RAI, + ... +} + +PagingCause ::= ENUMERATED { + terminating-conversational-call, + terminating-streaming-call, + terminating-interactive-call, + terminating-background-call, + terminating-low-priority-signalling, + ..., + terminating-high-priority-signalling +} + +PDP-TypeInformation ::= SEQUENCE (SIZE (1..maxNrOfPDPDirections)) OF + PDP-Type + +PDP-Type ::= ENUMERATED { + empty, + ppp, + osp-ihoss -- this value shall not be used -- , + ipv4, + ipv6, + ... +} +PDP-TypeInformation-extension ::= SEQUENCE (SIZE (1..maxNrOfPDPDirections)) OF + PDP-Type-extension + +PDP-Type-extension ::= ENUMERATED { + ipv4-and-ipv6, + ... +} + +PDUType14FrameSequenceNumber ::= INTEGER(0..3) + +PeriodicLocationInfo ::= SEQUENCE { + reportingAmount INTEGER (1..8639999, ...), + reportingInterval INTEGER (1..8639999, ...), + iE-Extensions ProtocolExtensionContainer { { PeriodicLocationInfo-ExtIEs } } OPTIONAL, + ... +} + +PeriodicLocationInfo-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + + +PermanentNAS-UE-ID ::= CHOICE { + iMSI IMSI, + ... +} + +PermittedEncryptionAlgorithms ::= SEQUENCE (SIZE (1..16)) OF + EncryptionAlgorithm + +PermittedIntegrityProtectionAlgorithms ::= SEQUENCE (SIZE (1..16)) OF + IntegrityProtectionAlgorithm + +LABased ::= SEQUENCE { + laiList LAI-List, + iE-Extensions ProtocolExtensionContainer { {LABased-ExtIEs} } OPTIONAL, + ... +} + +LABased-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + + +LAI-List ::= SEQUENCE (SIZE (1..maxNrOfLAIs)) OF + LAI + + + +LoggedMDT ::= SEQUENCE { + loggingInterval LoggingInterval, + loggingDuration LoggingDuration, + iE-Extensions ProtocolExtensionContainer { {LoggedMDT-ExtIEs} } OPTIONAL, + ... +} + +LoggedMDT-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +LoggingInterval ::= ENUMERATED { + s1d28, + s2d56, + s5d12, + s10d24, + s20d48, + s30d72, + s40d96, + s61d44, + ... + } + +LoggingDuration ::= ENUMERATED { + min10, + min20, + min40, + min60, + min90, + min120, +...} + + + +PLMNBased::= SEQUENCE { + plmnList PLMNList, + iE-Extensions ProtocolExtensionContainer { {PLMNBased-ExtIEs} } OPTIONAL, + ... +} + +PLMNBased-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +PLMNList ::= SEQUENCE (SIZE (1.. maxnoofPLMNs)) OF + PLMNidentity + + + +PLMNidentity ::= TBCD-STRING (SIZE (3)) + +PLMNs-in-shared-network ::= SEQUENCE (SIZE (1..maxNrOfPLMNsSN)) OF + SEQUENCE { + pLMNidentity PLMNidentity, + lA-LIST LA-LIST, + iE-Extensions ProtocolExtensionContainer { { PLMNs-in-shared-network-ExtIEs} } OPTIONAL, + ... + } + +PLMNs-in-shared-network-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +Port-Number ::= OCTET STRING (SIZE (2)) + +PositioningDataDiscriminator ::= BIT STRING (SIZE(4)) + +PositioningDataSet ::= SEQUENCE(SIZE(1..maxSet)) OF PositioningMethodAndUsage + +PositioningMethodAndUsage ::= OCTET STRING (SIZE(1)) + +PositioningPriority ::= ENUMERATED { + high-Priority, + normal-Priority, +... +} + +PositionData ::= SEQUENCE { + positioningDataDiscriminator PositioningDataDiscriminator, + positioningDataSet PositioningDataSet OPTIONAL, +-- This IE shall be present if the PositioningDataDiscriminator IE is set to the value "0000" -- + iE-Extensions ProtocolExtensionContainer { {PositionData-ExtIEs} } OPTIONAL, + ... +} + +PositionData-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + { ID id-GANSS-PositioningDataSet CRITICALITY ignore EXTENSION GANSS-PositioningDataSet PRESENCE optional}| + { ID id-Additional-PositioningDataSet CRITICALITY ignore EXTENSION Additional-PositioningDataSet PRESENCE optional}, + ... +} + +PositionDataSpecificToGERANIuMode ::= OCTET STRING + +Pre-emptionCapability ::= ENUMERATED { + shall-not-trigger-pre-emption, + may-trigger-pre-emption +} + +Pre-emptionVulnerability ::= ENUMERATED { + not-pre-emptable, + pre-emptable +} + +PriorityLevel ::= INTEGER { spare (0), highest (1), lowest (14), no-priority (15) } (0..15) + +Priority-Class-Indicator ::= BIT STRING (SIZE(8)) + +ProvidedData ::= CHOICE { + shared-network-information Shared-Network-Information, + ... +} + +PowerSavingIndicator ::= ENUMERATED { + psmConfigured, + eDRXConfigured, + ... +} + +P-TMSI ::= OCTET STRING (SIZE (4)) + +-- Q + +QueuingAllowed ::= ENUMERATED { + queueing-not-allowed, + queueing-allowed +} + +-- R +RAB-AsymmetryIndicator::= ENUMERATED { + symmetric-bidirectional, + asymmetric-unidirectional-downlink, + asymmetric-unidirectional-uplink, + asymmetric-bidirectional, + ... +} + +RABased ::= SEQUENCE { + raiList RAI-List, + iE-Extensions ProtocolExtensionContainer { {RABased-ExtIEs} } OPTIONAL, + ... +} + +RABased-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + + +RAI-List ::= SEQUENCE (SIZE (1..maxNrOfRAIs)) OF + RAI + +RABDataVolumeReport ::= SEQUENCE (SIZE (1..maxNrOfVol)) OF + SEQUENCE { + dl-UnsuccessfullyTransmittedDataVolume UnsuccessfullyTransmittedDataVolume, + dataVolumeReference DataVolumeReference OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {RABDataVolumeReport-ExtIEs} } OPTIONAL, + ... + } + +RABDataVolumeReport-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RAB-ID ::= BIT STRING (SIZE (8)) + +RAB-Parameter-ExtendedGuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedGuaranteedBitrate + +RAB-Parameter-ExtendedMaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedMaxBitrate + + +RAB-Parameter-GuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF GuaranteedBitrate +--This IE shall be ignored if Supported Guaranteed Bit rate is present-- + +RAB-Parameter-MaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF MaxBitrate +--This IE shall be ignored if Supported Maximum Bit rate is present-- + +RAB-Parameters ::= SEQUENCE { + trafficClass TrafficClass, + rAB-AsymmetryIndicator RAB-AsymmetryIndicator, + maxBitrate RAB-Parameter-MaxBitrateList, + guaranteedBitRate RAB-Parameter-GuaranteedBitrateList OPTIONAL + -- This IE shall be present the traffic class IE is set to "Conversational" or "Streaming" --, + deliveryOrder DeliveryOrder, + maxSDU-Size MaxSDU-Size, + sDU-Parameters SDU-Parameters, + transferDelay TransferDelay OPTIONAL + -- This IE shall be present the traffic class IE is set to "Conversational" or "Streaming" --, + trafficHandlingPriority TrafficHandlingPriority OPTIONAL + -- This IE shall be present the traffic class IE is set to "Interactive" --, + allocationOrRetentionPriority AllocationOrRetentionPriority OPTIONAL, + sourceStatisticsDescriptor SourceStatisticsDescriptor OPTIONAL + -- This IE shall be present the traffic class IE is set to "Conversational" or "Streaming" --, + relocationRequirement RelocationRequirement OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {RAB-Parameters-ExtIEs} } OPTIONAL, + ... +} + +RAB-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 5 to enable indication that Interactive User Plane data is of a signalling nature -- + { ID id-SignallingIndication CRITICALITY ignore EXTENSION SignallingIndication PRESENCE optional }| +-- Extension for Release 7 to indicate an Extended Guaranteed Bitrate -- +{ ID id-RAB-Parameter-ExtendedGuaranteedBitrateList CRITICALITY reject EXTENSION RAB-Parameter-ExtendedGuaranteedBitrateList PRESENCE optional }| +-- Extension for Release 7 to indicate an Extended Maximum Bitrate -- +{ ID id-RAB-Parameter-ExtendedMaxBitrateList CRITICALITY reject EXTENSION RAB-Parameter-ExtendedMaxBitrateList PRESENCE optional }| +-- Extension for Release 8 to indicate an Supported Maximum Bitrate -- +{ ID id-RAB-Parameter-SupportedMaxBitrateList CRITICALITY reject EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional }| +-- Extension for Release 8 to indicate an Supported Guaranteed Bitrate -- +{ ID id-RAB-Parameter-SupportedGuaranteedBitrateList CRITICALITY reject EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional }, + ... +} + +RABParametersList ::= SEQUENCE (SIZE (1.. maxNrOfRABs)) OF SEQUENCE { + rab-Id RAB-ID, + cn-domain CN-DomainIndicator, + rabDataVolumeReport RABDataVolumeReport OPTIONAL, + upInformation UPInformation OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { RABParametersList-ExtIEs } } OPTIONAL, + ... +} + +RABParametersList-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RAB-SubflowCombinationBitRate ::= INTEGER (0..16000000) + +RAB-TrCH-Mapping ::= SEQUENCE ( SIZE (1..maxNrOfRABs)) OF + RAB-TrCH-MappingItem + +RAB-TrCH-MappingItem ::= SEQUENCE { + rAB-ID RAB-ID, + trCH-ID-List TrCH-ID-List, + iE-Extensions ProtocolExtensionContainer { { RAB-TrCH-MappingItem-ExtIEs} } OPTIONAL, + ... +} + +RAB-TrCH-MappingItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 99 to enable transfer of RAB Subflow mapping onto Iur transport channel Ids for a given indicated domain -- + { ID id-CN-DomainIndicator CRITICALITY ignore EXTENSION CN-DomainIndicator PRESENCE optional }, + ... +} + +RAC ::= OCTET STRING (SIZE (1)) + +RAI ::= SEQUENCE { + lAI LAI, + rAC RAC, + iE-Extensions ProtocolExtensionContainer { {RAI-ExtIEs} } OPTIONAL, + ... +} + +RAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RAListofIdleModeUEs ::= CHOICE { + notEmptyRAListofIdleModeUEs NotEmptyRAListofIdleModeUEs, + emptyFullRAListofIdleModeUEs ENUMERATED {emptylist,fulllist,...}, + ... +} + +NotEmptyRAListofIdleModeUEs ::= SEQUENCE { + rAofIdleModeUEs RAofIdleModeUEs, + iE-Extensions ProtocolExtensionContainer { {NotEmptyRAListofIdleModeUEs-ExtIEs} } OPTIONAL +} + +RAofIdleModeUEs ::= SEQUENCE (SIZE (1..maxMBMSRA)) OF + RAC + +NotEmptyRAListofIdleModeUEs-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +{ ID id-LAofIdleModeUEs CRITICALITY reject EXTENSION LAListofIdleModeUEs PRESENCE conditional }, + -- This IE shall be present if the RA of Idle Mode UEs IE is included. -- + ... +} + +LAListofIdleModeUEs ::= SEQUENCE (SIZE (1..maxMBMSRA)) OF + LAI + +RAT-Type ::= ENUMERATED { + utran, + geran, + ... +} + +RateControlAllowed ::= ENUMERATED { + not-allowed, + allowed +} + +RedirectAttemptFlag ::= NULL + +RedirectionCompleted ::= ENUMERATED { + redirection-completed, + ... +} + +RejectCauseValue ::= ENUMERATED { + pLMN-Not-Allowed, + location-Area-Not-Allowed, + roaming-Not-Allowed-In-This-Location-Area, + no-Suitable-Cell-In-Location-Area, + gPRS-Services-Not-Allowed-In-This-PLMN, + cS-PS-coordination-required, + ..., + network-failure, + not-authorized-for-this-CSG +} + + +RelocationRequirement ::= ENUMERATED { + lossless, + none, + ..., + realtime +} + +RelocationType ::= ENUMERATED { + ue-not-involved, + ue-involved, + ... +} + +RepetitionNumber0 ::= INTEGER (0..255) + +RepetitionNumber1 ::= INTEGER (1..256) + + +ReportArea ::= ENUMERATED { + service-area, + geographical-area, + ... +} + +ReportInterval ::= ENUMERATED { + ms250, + ms500, + ms1000, + ms2000, + ms3000, + ms4000, + ms6000, + ms12000, + ms16000, + ms20000, + ms24000, + ms32000, + ms64000, + ..., + ms8000, + ms28000 +} + +ReportAmount ::= ENUMERATED { n1, n2, n4, n8, n16, n32, n64, infinity, ... } + +RequestedGPSAssistanceData ::= OCTET STRING (SIZE (1 .. 38 )) + -- gpsAssistanceData as defined in 24.080 -- + +RequestedGANSSAssistanceData ::= OCTET STRING (SIZE (1 .. 201 )) + -- ganssAssistanceData as defined in 24.080 -- + +RequestedLocationRelatedDataType ::= ENUMERATED { + decipheringKeysUEBasedOTDOA, + decipheringKeysAssistedGPS, + dedicatedAssistanceDataUEBasedOTDOA, + dedicatedAssistanceDataAssistedGPS, + ..., +-- Release 7 extension elements -- + decipheringKeysAssistedGANSS, + dedicatedAssistanceDataAssistedGANSS, + decipheringKeysAssistedGPSandGANSS, + dedicatedAssistanceDataAssistedGPSandGANSS +} + +RequestedMBMSIPMulticastAddressandAPNRequest ::= SEQUENCE (SIZE (1..maxnoofMulticastServicesPerRNC)) OF + MBMSIPMulticastAddressandAPNlist + +MBMSIPMulticastAddressandAPNlist ::= SEQUENCE { + tMGI TMGI, + iPMulticastAddress IPMulticastAddress, + aPN APN, + iE-Extensions ProtocolExtensionContainer { {MBMSIPMulticastAddressandAPNlist-ExtIEs} } OPTIONAL, + ... +} + +MBMSIPMulticastAddressandAPNlist-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RequestedMulticastServiceList ::= SEQUENCE (SIZE (1.. maxnoofMulticastServicesPerUE)) OF + TMGI + +Requested-RAB-Parameter-Values ::= SEQUENCE { + requestedMaxBitrates Requested-RAB-Parameter-MaxBitrateList OPTIONAL, + requestedGuaranteedBitrates Requested-RAB-Parameter-GuaranteedBitrateList OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { Requested-RAB-Parameter-Values-ExtIEs} } OPTIONAL, + ... +} + +Requested-RAB-Parameter-Values-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 6 to enable RNC to request the execution of an alternative RAB configuration -- + { ID id-AlternativeRABConfigurationRequest CRITICALITY ignore EXTENSION AlternativeRABConfigurationRequest PRESENCE optional }| +-- Extension for Release 7 to request an Extended Maximum Bitrate -- + { ID id-Requested-RAB-Parameter-ExtendedMaxBitrateList CRITICALITY reject EXTENSION Requested-RAB-Parameter-ExtendedMaxBitrateList PRESENCE optional }| +-- Extension for Release 7 to request an Extended Guaranteed Bitrate -- + { ID id-Requested-RAB-Parameter-ExtendedGuaranteedBitrateList CRITICALITY reject EXTENSION Requested-RAB-Parameter-ExtendedGuaranteedBitrateList PRESENCE optional }| +-- Extension for Release 8 to request an Supported Maximum Bitrate -- + { ID id-Requested-RAB-Parameter-SupportedMaxBitrateList CRITICALITY reject EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional }| +-- Extension for Release 8 to request an Supported Guaranteed Bitrate -- + { ID id-Requested-RAB-Parameter-SupportedGuaranteedBitrateList CRITICALITY reject EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional }, + ... +} + +Requested-RAB-Parameter-ExtendedMaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedMaxBitrate + +Requested-RAB-Parameter-ExtendedGuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedGuaranteedBitrate + +Requested-RAB-Parameter-MaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF MaxBitrate + +Requested-RAB-Parameter-GuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF GuaranteedBitrate + + +RequestType ::= SEQUENCE { + event Event, + reportArea ReportArea, + accuracyCode INTEGER (0..127) OPTIONAL, + ... +} + +ResidualBitErrorRatio ::= SEQUENCE { + mantissa INTEGER (1..9), + exponent INTEGER (1..8), + iE-Extensions ProtocolExtensionContainer { {ResidualBitErrorRatio-ExtIEs} } OPTIONAL +} +-- ResidualBitErrorRatio = mantissa * 10^-exponent + +ResidualBitErrorRatio-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +ResponseTime ::= ENUMERATED { + lowdelay, + delaytolerant, +... +} + +RIMInformation ::= OCTET STRING + +RIM-Transfer ::= SEQUENCE { + rIMInformation RIMInformation, + rIMRoutingAddress RIMRoutingAddress OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {RIM-Transfer-ExtIEs} } OPTIONAL +} + +RIM-Transfer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RIMRoutingAddress ::= CHOICE { + targetRNC-ID TargetRNC-ID, + gERAN-Cell-ID GERAN-Cell-ID, + ... , + targeteNB-ID TargetENB-ID +} + + +RNC-ID ::= INTEGER (0..4095) +-- RNC-ID ::= BIT STRING (SIZE (12)) +-- Harmonized with RNSAP and NBAP definitions + + +RNCTraceInformation::= SEQUENCE { + traceReference TraceReference, + traceActivationIndicator ENUMERATED {activated,deactivated}, + equipmentsToBeTraced EquipmentsToBeTraced OPTIONAL, + -- This IE shall be present if the Trace Activation Indicator IE is set to "Activated". + iE-Extensions ProtocolExtensionContainer { { RNCTraceInformation-ExtIEs} } OPTIONAL +} + +RNCTraceInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 11 to enable anonymization MDT for area based MDT -- + {ID id-TraceRecordingSessionReference CRITICALITY ignore EXTENSION TraceRecordingSessionReference PRESENCE optional}| + {ID id-IMSI CRITICALITY ignore EXTENSION IMSI PRESENCE optional}| + {ID id-Trace-Collection-Entity-IP-Addess CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional}| + {ID id-Serving-Cell-Identifier CRITICALITY ignore EXTENSION UTRAN-CellID PRESENCE optional}, + ... +} + +RNSAPRelocationParameters ::= SEQUENCE { + rabParmetersList RABParametersList OPTIONAL, + locationReporting LocationReportingTransferInformation OPTIONAL, + traceInformation TraceInformation OPTIONAL, + sourceSAI SAI OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { RNSAPRelocationParameters-ExtIEs } } OPTIONAL, + ... +} + +RNSAPRelocationParameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RRC-Container ::= OCTET STRING + +RTLoadValue ::= INTEGER (0..100) + +RSRVCC-HO-Indication ::= ENUMERATED { + ps-only, + ... +} + +RSRVCC-Information ::= SEQUENCE { + nonce BIT STRING (SIZE (128)), + iMSInformation OCTET STRING(SIZE(1.. maxSizeOfIMSInfo)), + iE-Extensions ProtocolExtensionContainer { { RSRVCC-Information-ExtIEs} } OPTIONAL, + ... + +} + +RSRVCC-Information-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RSRVCC-Operation-Possible ::= ENUMERATED { + rsrvcc-possible, + ... +} + +-- S + +SAC ::= OCTET STRING (SIZE (2)) +SAI ::= SEQUENCE { + pLMNidentity PLMNidentity, + lAC LAC, + sAC SAC, + iE-Extensions ProtocolExtensionContainer { {SAI-ExtIEs} } OPTIONAL +} + +SAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +SAPI ::= ENUMERATED { + sapi-0, + sapi-3, + ... +} + +SessionUpdateID ::= INTEGER (0.. 1048575) +Shared-Network-Information ::= SEQUENCE { + pLMNs-in-shared-network PLMNs-in-shared-network, + iE-Extensions ProtocolExtensionContainer { {Shared-Network-Information-ExtIEs} } OPTIONAL, + ... + } + +Session-Re-establishment-Indicator ::= ENUMERATED {true, ...} + +Shared-Network-Information-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +SignallingIndication ::= ENUMERATED { + signalling, + ... +} + +SDU-ErrorRatio ::= SEQUENCE { + mantissa INTEGER (1..9), + exponent INTEGER (1..6), + iE-Extensions ProtocolExtensionContainer { {SDU-ErrorRatio-ExtIEs} } OPTIONAL +} +-- SDU-ErrorRatio = mantissa * 10^-exponent + +SDU-ErrorRatio-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} +SDU-FormatInformationParameters ::= SEQUENCE (SIZE (1..maxRAB-SubflowCombination)) OF + SEQUENCE { + subflowSDU-Size SubflowSDU-Size OPTIONAL, + rAB-SubflowCombinationBitRate RAB-SubflowCombinationBitRate OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {SDU-FormatInformationParameters-ExtIEs} } OPTIONAL, + ... + } + +SDU-FormatInformationParameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +SDU-Parameters ::= SEQUENCE (SIZE (1..maxRAB-Subflows)) OF + SEQUENCE { + sDU-ErrorRatio SDU-ErrorRatio OPTIONAL + -- This IE shall be present if the Delivery Of Erroneous SDU IE is set to "Yes" or "No" --, + residualBitErrorRatio ResidualBitErrorRatio, + deliveryOfErroneousSDU DeliveryOfErroneousSDU, + sDU-FormatInformationParameters SDU-FormatInformationParameters OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {SDU-Parameters-ExtIEs} } OPTIONAL, + ... + } + +SDU-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +SGSN-Group-Identity ::= CHOICE { + null-NRI Null-NRI, + sGSN-Group-ID SGSN-Group-ID +} + +SGSN-Group-ID ::= OCTET STRING (SIZE (2)) + +SNA-Access-Information ::= SEQUENCE { + authorisedPLMNs AuthorisedPLMNs, + iE-Extensions ProtocolExtensionContainer { {SNA-Access-Information-ExtIEs} } OPTIONAL, + ... + } + +SNA-Access-Information-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +SNAC ::= INTEGER (0..65535) + +Service-Handover ::= ENUMERATED { + handover-to-GSM-should-be-performed, + handover-to-GSM-should-not-be-performed, + handover-to-GSM-shall-not-be-performed, + ... +} + +Source-ToTarget-TransparentContainer ::= OCTET STRING +-- This IE is a transparent container, the IE shall be encoded not as an OCTET STRING but according to the type specifications of the target system. +-- Note: In the current version of this specification, this IE may either carry the Source RNC to +-- Target RNC Transparent Container or the Source eNB to Target eNB Transparent Container IE as +-- defined in TS 36.413 [49] + +SourceeNodeB-ToTargeteNodeB-TransparentContainer ::= OCTET STRING + + +SourceCellID ::= CHOICE { + sourceUTRANCellID SourceUTRANCellID, + sourceGERANCellID CGI, + ... +} + +SourceBSS-ToTargetBSS-TransparentContainer ::= OCTET STRING + +SourceID ::= CHOICE { + sourceRNC-ID SourceRNC-ID, + sAI SAI, + ... +} + + +SourceRNC-ID ::= SEQUENCE { + pLMNidentity PLMNidentity, + rNC-ID RNC-ID, + iE-Extensions ProtocolExtensionContainer { {SourceRNC-ID-ExtIEs} } OPTIONAL +} + +SourceRNC-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 7 to indicate extended RNC-ID -- + { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional }, + ... +} + +SourceRNC-ToTargetRNC-TransparentContainer ::= SEQUENCE { + rRC-Container RRC-Container, + numberOfIuInstances NumberOfIuInstances, + relocationType RelocationType, + chosenIntegrityProtectionAlgorithm ChosenIntegrityProtectionAlgorithm OPTIONAL, + integrityProtectionKey IntegrityProtectionKey OPTIONAL, + chosenEncryptionAlgorithForSignalling ChosenEncryptionAlgorithm OPTIONAL, + cipheringKey EncryptionKey OPTIONAL, + chosenEncryptionAlgorithForCS ChosenEncryptionAlgorithm OPTIONAL, + chosenEncryptionAlgorithForPS ChosenEncryptionAlgorithm OPTIONAL, + d-RNTI D-RNTI OPTIONAL + -- This IE shall be present if the Relocation type IE is set to "UE not involved in relocation of SRNS" --, + targetCellId TargetCellId OPTIONAL + -- This IE shall be present if the Relocation type IE is set to "UE involved in relocation of SRNS" --, + rAB-TrCH-Mapping RAB-TrCH-Mapping OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {SourceRNC-ToTargetRNC-TransparentContainer-ExtIEs} } OPTIONAL, + ... +} + +SourceRNC-ToTargetRNC-TransparentContainer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 99 to enable transfer of SRB mapping onto Iur transport channel Ids -- + {ID id-SRB-TrCH-Mapping CRITICALITY reject EXTENSION SRB-TrCH-Mapping PRESENCE optional}| +-- Extension for Release 5 to enable Inter RAN Load Information Exchange over Iu -- + {ID id-CellLoadInformationGroup CRITICALITY ignore EXTENSION CellLoadInformationGroup PRESENCE optional}| +-- Extension for Release 6 to provide Trace Recording Session Information to the Target RNC -- + {ID id-TraceRecordingSessionInformation CRITICALITY ignore EXTENSION TraceRecordingSessionInformation PRESENCE optional}| +-- Extension for Release 6 to indicate to the Target RNC that the UE has activated Multicast Service -- + {ID id-MBMSLinkingInformation CRITICALITY ignore EXTENSION MBMSLinkingInformation PRESENCE optional}| + {ID id-d-RNTI-for-NoIuCSUP CRITICALITY reject EXTENSION D-RNTI PRESENCE optional}| + {ID id-UE-History-Information CRITICALITY ignore EXTENSION UE-History-Information PRESENCE optional}| + {ID id-SubscriberProfileIDforRFP CRITICALITY ignore EXTENSION SubscriberProfileIDforRFP PRESENCE optional}| +-- Extension for Release 8 to transfer to the Target RNC parameters required for SRVCC operation -- + {ID id-SRVCC-Information CRITICALITY reject EXTENSION SRVCC-Information PRESENCE optional}| + {ID id-PSRABtobeReplaced CRITICALITY reject EXTENSION RAB-ID PRESENCE optional}| +-- Extension for Release 9 to transfer to the Target RNC parameters required for CSFB operation -- + {ID id-CSFB-Information CRITICALITY ignore EXTENSION CSFB-Information PRESENCE optional}| +-- Extension for Release 10 to indicate to the Target RNC the need of continued IRAT measurement -- + {ID id-IRAT-Measurement-Configuration CRITICALITY ignore EXTENSION IRAT-Measurement-Configuration PRESENCE optional}| +-- Extension for Release 10 to indicate Management Based MDT Allowed -- + {ID id-Management-Based-MDT-Allowed CRITICALITY ignore EXTENSION Management-Based-MDT-Allowed PRESENCE optional}| +-- Extension for Release 11 to indicate Management Based MDT PLMN List -- + {ID id-Management-Based-MDT-PLMN-List CRITICALITY ignore EXTENSION MDT-PLMN-List PRESENCE optional}| +-- Extension for Release 11 to indicate the last E-UTRAN PLMN Identity -- + {ID id-LastE-UTRANPLMNIdentity CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional}, + ... +} + +IRAT-Measurement-Configuration ::= SEQUENCE { + rSRP INTEGER (0..97) OPTIONAL, + rSRQ INTEGER (0..34) OPTIONAL, + iRATmeasurementParameters IRATmeasurementParameters, + iE-Extensions ProtocolExtensionContainer { {IRAT-Measurement-Configuration-ExtIEs} } OPTIONAL} + +IRAT-Measurement-Configuration-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + {ID id-RSRQ-Type CRITICALITY ignore EXTENSION RSRQ-Type PRESENCE optional}| + {ID id-RSRQ-Extension CRITICALITY ignore EXTENSION RSRQ-Extension PRESENCE optional}, + ... +} + +IRATmeasurementParameters::= SEQUENCE { + measurementDuration INTEGER (1..100), + eUTRANFrequencies EUTRANFrequencies OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { IRATmeasurementParameters-ExtIEs} } OPTIONAL} + +IRATmeasurementParameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RSRQ-Type ::= SEQUENCE { + allSymbols BOOLEAN, + wideBand BOOLEAN +} + +RSRQ-Extension ::= INTEGER (-30..46, ...) + +EUTRANFrequencies ::= SEQUENCE (SIZE (1..maxNrOfEUTRAFreqs)) OF SEQUENCE { + earfcn INTEGER (0..65535), + measBand MeasBand OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {EUTRANFrequencies-ExtIEs} } OPTIONAL} + +MeasBand ::= ENUMERATED { + v6, + v15, + v25, + v50, + v75, + v100 +} + +EUTRANFrequencies-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + { ID id-EARFCN-Extended CRITICALITY reject EXTENSION EARFCN-Extended PRESENCE optional}, + ... +} + +SubscriberProfileIDforRFP ::= INTEGER (1..256) + +SourceStatisticsDescriptor ::= ENUMERATED { + speech, + unknown, + ... +} + +SupportedRAB-ParameterBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF SupportedBitrate + +SupportedBitrate ::= INTEGER (1..1000000000, ...) +-- Unit is bits per sec + +SourceUTRANCellID ::= SEQUENCE { + pLMNidentity PLMNidentity, + uTRANcellID TargetCellId, + iE-Extensions ProtocolExtensionContainer { {SourceUTRANCellID-ExtIEs} } OPTIONAL +} + +SourceUTRANCellID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +SRB-ID ::= INTEGER (1..32) + +SRB-TrCH-Mapping ::= SEQUENCE ( SIZE (1..maxNrOfSRBs)) OF + SRB-TrCH-MappingItem + +SRB-TrCH-MappingItem ::= SEQUENCE { + sRB-ID SRB-ID, + trCH-ID TrCH-ID, + iE-Extensions ProtocolExtensionContainer { { SRB-TrCH-MappingItem-ExtIEs} } OPTIONAL, + ... +} + + +SRB-TrCH-MappingItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +SRVCC-HO-Indication ::= ENUMERATED { + ps-and-cs, + cs-only, + ... +} + +SRVCC-Information ::= SEQUENCE { + nonce BIT STRING (SIZE (128)), + iE-Extensions ProtocolExtensionContainer { { SRVCC-Information-ExtIEs} } OPTIONAL, + ... +} + +SRVCC-Information-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +SRVCC-Operation-Possible ::= ENUMERATED { + srvcc-possible, + ... +} + +SubflowSDU-Size ::= INTEGER (0..4095) +-- Unit is bit + + +-- T +TAC ::= OCTET STRING (SIZE (2)) + +TAI ::= SEQUENCE { + pLMNidentity PLMNidentity, + tAC TAC, + iE-Extensions ProtocolExtensionContainer { {TAI-ExtIEs} } OPTIONAL +} + +TAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + + +Target-ToSource-TransparentContainer ::= OCTET STRING +-- This IE is a transparent container, the IE shall be encoded not as an OCTET STRING but according to the type specifications of the target system. +-- Note: In the current version of this specification, this IE may either carry the Target RNC to +-- Source RNC Transparent Container or the Target eNB to Source eNB Transparent Container IE as +-- defined in TS 36.413 [49] + +TargeteNodeB-ToSourceeNodeB-TransparentContainer ::= OCTET STRING + +TargetBSS-ToSourceBSS-TransparentContainer ::= OCTET STRING + +TargetCellId ::= INTEGER (0..268435455) + +TargetID ::= CHOICE { + targetRNC-ID TargetRNC-ID, + cGI CGI, + + ..., + targeteNB-ID TargetENB-ID +} + +TargetENB-ID ::= SEQUENCE { + pLMNidentity PLMNidentity, + eNB-ID ENB-ID, + iE-Extensions ProtocolExtensionContainer { {TargetENB-ID-ExtIEs} } OPTIONAL, + selectedTAI TAI, + ... +} + +TargetENB-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + + +TargetRNC-ID ::= SEQUENCE { + lAI LAI, + rAC RAC OPTIONAL, + rNC-ID RNC-ID, + iE-Extensions ProtocolExtensionContainer { {TargetRNC-ID-ExtIEs} } OPTIONAL +} + +TargetRNC-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 7 to indicate extended RNC-ID -- + { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional }, + ... +} + +TargetRNC-ToSourceRNC-TransparentContainer ::= SEQUENCE { + rRC-Container RRC-Container, + d-RNTI D-RNTI OPTIONAL + -- May be included to allow the triggering of the Relocation Detect procedure from the Iur Interface --, + iE-Extensions ProtocolExtensionContainer { {TargetRNC-ToSourceRNC-TransparentContainer-ExtIEs} } OPTIONAL, + ... +} + +TargetRNC-ToSourceRNC-TransparentContainer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +TBCD-STRING ::= OCTET STRING + +TemporaryUE-ID ::= CHOICE { + tMSI TMSI, + p-TMSI P-TMSI, + ... +} + +Time-UE-StayedInCell ::= INTEGER (0..4095) + +Time-UE-StayedInCell-EnhancedGranularity ::= INTEGER (0..40950) + +TimeToMBMSDataTransfer ::= OCTET STRING(SIZE(1)) + +TimingDifferenceULDL ::= OCTET STRING (SIZE(1)) + +TMGI ::= SEQUENCE { + pLMNidentity PLMNidentity, + serviceID OCTET STRING (SIZE (3)), + iE-Extensions ProtocolExtensionContainer { {TMGI-ExtIEs} } OPTIONAL +} + +TMGI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +TMSI ::= OCTET STRING (SIZE (4)) + +TraceDepth ::= ENUMERATED { + minimum, + medium, + maximum, + ... +} + +TraceInformation ::= SEQUENCE { + traceReference TraceReference, + ue-identity UE-ID, + tracePropagationParameters TracePropagationParameters OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { TraceInformation-ExtIEs } } OPTIONAL, + ... +} + +TraceInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +... +} + +TracePropagationParameters ::= SEQUENCE { + traceRecordingSessionReference TraceRecordingSessionReference, + traceDepth TraceDepth, + listOfInterfacesToTrace ListOfInterfacesToTrace OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { TracePropagationParameters-ExtIEs} } OPTIONAL, + ... +} + +TracePropagationParameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +TraceRecordingSessionInformation ::= SEQUENCE { + traceReference TraceReference, + traceRecordingSessionReference TraceRecordingSessionReference, + iE-Extensions ProtocolExtensionContainer { { TraceRecordingSessionInformation-ExtIEs} } OPTIONAL, + ... +} + +TraceRecordingSessionInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +TraceRecordingSessionReference ::= INTEGER (0..65535) + +TraceReference ::= OCTET STRING (SIZE (2..3)) + +TraceType ::= OCTET STRING (SIZE (1)) +-- Reference: GSM TS 12.08 + +TrafficClass ::= ENUMERATED { + conversational, + streaming, + interactive, + background, + ... +} + +TrafficHandlingPriority ::= INTEGER { spare (0), highest (1), lowest (14), no-priority-used (15) } (0..15) + +TransferDelay ::= INTEGER (0..65535) +-- Unit is millisecond + +UnsuccessfullyTransmittedDataVolume ::= INTEGER (0..4294967295) + +TransportLayerAddress ::= BIT STRING (SIZE (1..160, ...)) + +TrCH-ID ::= SEQUENCE { + dCH-ID DCH-ID OPTIONAL, + dSCH-ID DSCH-ID OPTIONAL, + uSCH-ID USCH-ID OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { TrCH-ID-ExtIEs} } OPTIONAL, + ... +} + +TrCH-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 5 to enable transfer of HS-DSCH-MAC-d-Flow-ID onto Iur transport channel ID -- + {ID id-hS-DSCH-MAC-d-Flow-ID CRITICALITY ignore EXTENSION HS-DSCH-MAC-d-Flow-ID PRESENCE optional}| +-- Extension for Release 6 to enable transfer of E-DCH-MAC-d-Flow-ID onto Iur transport channel ID -- + {ID id-E-DCH-MAC-d-Flow-ID CRITICALITY ignore EXTENSION E-DCH-MAC-d-Flow-ID PRESENCE optional}, + ... +} + +TrCH-ID-List ::= SEQUENCE (SIZE (1..maxRAB-Subflows)) OF + TrCH-ID + +TriggerID ::= OCTET STRING (SIZE (3..22)) + +TunnelInformation ::= SEQUENCE { + transportLayerAddress TransportLayerAddress, + uDP-Port-Number Port-Number OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {Tunnel-Information-ExtIEs} } OPTIONAL, + ... +} + +Tunnel-Information-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + + +TypeOfError ::= ENUMERATED { + not-understood, + missing, + ... +} + + +-- U + +UE-AggregateMaximumBitRate ::= SEQUENCE { + uE-AggregateMaximumBitRateDownlink UE-AggregateMaximumBitRateDownlink OPTIONAL, + uE-AggregateMaximumBitRateUplink UE-AggregateMaximumBitRateUplink OPTIONAL, + ... +} + +UE-AggregateMaximumBitRateDownlink ::= INTEGER (1..1000000000) +-- Unit is bits per sec + +UE-AggregateMaximumBitRateUplink ::= INTEGER (1..1000000000) +-- Unit is bits per sec + + +UE-History-Information ::= OCTET STRING + +UE-ID ::= CHOICE { + imsi IMSI, + imei IMEI, + ..., + imeisv IMEISV + +} + +UE-IsNotServed::= SEQUENCE { + permanentNAS-UE-ID PermanentNAS-UE-ID, + iE-Extensions ProtocolExtensionContainer { { UE-IsNotServed-ExtIEs } } OPTIONAL, + ... +} + +UE-IsNotServed-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + + +UE-IsServed::= SEQUENCE { + permanentNAS-UE-ID PermanentNAS-UE-ID, + pLMNidentity PLMNidentity, + iE-Extensions ProtocolExtensionContainer { { UE-IsServed-ExtIEs } } OPTIONAL, + ... +} + +UE-IsServed-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +UE-Usage-Type ::= INTEGER (0..255) + +UERegistrationQueryResult ::= CHOICE { + uE-IsServed UE-IsServed, + uE-IsNotServed UE-IsNotServed +} + +UESBI-Iu ::= SEQUENCE { + uESBI-IuA UESBI-IuA OPTIONAL, + uESBI-IuB UESBI-IuB OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {UESBI-Iu-ExtIEs} } OPTIONAL, + ... +} + +UESBI-Iu-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +UESBI-IuA ::= BIT STRING (SIZE(1..128)) +-- Reference: TR25.994 -- +UESBI-IuB ::= BIT STRING (SIZE(1..128)) +-- Reference: TR25.995 -- + +UL-GTP-PDU-SequenceNumber ::= INTEGER (0..65535) + +UL-N-PDU-SequenceNumber ::= INTEGER (0..65535) + +UPInformation ::= SEQUENCE { + frameSeqNoUL FrameSequenceNumber, + frameSeqNoDL FrameSequenceNumber, + pdu14FrameSeqNoUL PDUType14FrameSequenceNumber, + pdu14FrameSeqNoDL PDUType14FrameSequenceNumber, + dataPDUType DataPDUType, + upinitialisationFrame UPInitialisationFrame, + iE-Extensions ProtocolExtensionContainer { { UPInformation-ExtIEs } } OPTIONAL, + ... +} + +UPInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + {ID id-TimingDifferenceULDL CRITICALITY ignore EXTENSION TimingDifferenceULDL PRESENCE optional}, + + ... +} + +UPInitialisationFrame ::= OCTET STRING + +UP-ModeVersions ::= BIT STRING (SIZE (16)) + +USCH-ID ::= INTEGER (0..255) + +UserPlaneMode ::= ENUMERATED { + transparent-mode, + support-mode-for-predefined-SDU-sizes, + ... +} + +UTRAN-CellID ::= SEQUENCE { + pLMNidentity PLMNidentity, + cellID TargetCellId, + iE-Extensions ProtocolExtensionContainer { { UTRAN-CellID-ExtIEs} } OPTIONAL +} + +UTRAN-CellID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + + +-- V + +VelocityEstimate ::= CHOICE { + horizontalVelocity HorizontalVelocity, + horizontalWithVerticalVelocity HorizontalWithVerticalVelocity, + horizontalVelocityWithUncertainty HorizontalVelocityWithUncertainty, + horizontalWithVeritcalVelocityAndUncertainty HorizontalWithVerticalVelocityAndUncertainty, + ... +} + +HorizontalVelocity ::= SEQUENCE { + horizontalSpeedAndBearing HorizontalSpeedAndBearing, + iE-Extensions ProtocolExtensionContainer { { HorizontalVelocity-ExtIEs} } OPTIONAL, + ... +} + +HorizontalVelocity-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +HorizontalWithVerticalVelocity ::= SEQUENCE { + horizontalSpeedAndBearing HorizontalSpeedAndBearing, + veritcalVelocity VerticalVelocity, + iE-Extensions ProtocolExtensionContainer { { HorizontalWithVerticalVelocity-ExtIEs} } OPTIONAL, + ... +} + +HorizontalWithVerticalVelocity-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + + +HorizontalVelocityWithUncertainty ::= SEQUENCE { + horizontalSpeedAndBearing HorizontalSpeedAndBearing, + uncertaintySpeed INTEGER (0..255), + iE-Extensions ProtocolExtensionContainer { { HorizontalVelocityWithUncertainty-ExtIEs} } OPTIONAL, + ... +} + +HorizontalVelocityWithUncertainty-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +HorizontalWithVerticalVelocityAndUncertainty ::= SEQUENCE { + horizontalSpeedAndBearing HorizontalSpeedAndBearing, + veritcalVelocity VerticalVelocity, + horizontalUncertaintySpeed INTEGER (0..255), + verticalUncertaintySpeed INTEGER (0..255), + iE-Extensions ProtocolExtensionContainer { { HorizontalWithVerticalVelocityAndUncertainty-ExtIEs} } OPTIONAL, + ... +} + +HorizontalWithVerticalVelocityAndUncertainty-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +HorizontalSpeedAndBearing ::= SEQUENCE { + bearing INTEGER (0..359), + horizontalSpeed INTEGER (0..2047) +} + +VerticalVelocity ::= SEQUENCE { + veritcalSpeed INTEGER (0..255), + veritcalSpeedDirection VerticalSpeedDirection +} + +VerticalSpeedDirection ::= ENUMERATED { + upward, + downward +} + +VerticalAccuracyCode ::= INTEGER (0..127) + +VoiceSupportMatchIndicator ::= ENUMERATED { + supported, + not-supported, + ... +} + +END diff --git a/library/ranap/RANAP_PDU_Contents.asn b/library/ranap/RANAP_PDU_Contents.asn new file mode 100644 index 000000000..840fd6953 --- /dev/null +++ b/library/ranap/RANAP_PDU_Contents.asn @@ -0,0 +1,3736 @@ +-- RANAP-PDU-Contents.asn +-- +-- 3GPP TS 25.413 V14.0.0 (2017-03) +-- http://www.3gpp.org/ftp/Specs/html-info/25413.htm +-- +-- 9.3.3 PDU Definitions +-- + +-- ************************************************************** +-- +-- PDU definitions for RANAP. +-- +-- ************************************************************** + +RANAP-PDU-Contents { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) ranap (0) version1 (1) ranap-PDU-Contents (1) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** + +IMPORTS + AccuracyFulfilmentIndicator, + UE-Application-Layer-Measurement-Configuration, + UE-Application-Layer-Measurement-Configuration-For-Relocation, + APN, + BroadcastAssistanceDataDecipheringKeys, + LocationRelatedDataRequestType, + LocationRelatedDataRequestTypeSpecificToGERANIuMode, + DataVolumeReference, + CellLoadInformation, + AreaIdentity, + CN-DomainIndicator, + Cause, + Cell-Access-Mode, + ClientType, + CriticalityDiagnostics, + ChosenEncryptionAlgorithm, + ChosenIntegrityProtectionAlgorithm, + ClassmarkInformation2, + ClassmarkInformation3, + CSG-Id, + CSG-Id-List, + CSG-Membership-Status, + DL-GTP-PDU-SequenceNumber, + DL-N-PDU-SequenceNumber, + DataVolumeReportingIndication, + DeltaRAListofIdleModeUEs, + DRX-CycleLengthCoefficient, + EncryptionInformation, + EncryptionKey, + E-UTRAN-Service-Handover, + ExtendedRNC-ID, + FrequenceLayerConvergenceFlag, + GERAN-BSC-Container, + GERAN-Classmark, + GlobalCN-ID, + GlobalRNC-ID, + GTP-TEI, + IncludeVelocity, + InformationExchangeID, + InformationExchangeType, + InformationRequested, + InformationRequestType, + InformationTransferID, + InformationTransferType, + InterSystemInformationTransferType, + IntegrityProtectionInformation, + IntegrityProtectionKey, + InterSystemInformation-TransparentContainer, + IPMulticastAddress, + IuSignallingConnectionIdentifier, + IuTransportAssociation, + KeyStatus, + L3-Information, + LAI, + LastKnownServiceArea, + Correlation-ID, + MBMS-PTP-RAB-ID, + MBMSBearerServiceType, + MBMSCountingInformation, + MBMSCNDe-Registration, + MBMSHCIndicator, + MBMSRegistrationRequestType, + MBMSServiceArea, + MBMSSessionDuration, + MBMSSessionIdentity, + MBMSSessionRepetitionNumber, + MSISDN, + NAS-PDU, + NAS-SequenceNumber, + NAS-SynchronisationIndicator, + NewBSS-To-OldBSS-Information, + NonSearchingIndication, + NumberOfSteps, + Offload-RAB-Parameters, + Offload-RAB-Parameters-APN, + Offload-RAB-Parameters-ChargingCharacteristics, + OMC-ID, + OldBSS-ToNewBSS-Information, + PagingAreaID, + PagingCause, + PDP-TypeInformation, + PDP-TypeInformation-extension, + PermanentNAS-UE-ID, + PLMNidentity, + PositionData, + PositionDataSpecificToGERANIuMode, + PositioningPriority, + ProvidedData, + PowerSavingIndicator, + RAB-ID, + RAB-Parameters, + RAC, + RAListofIdleModeUEs, + RAT-Type, + RedirectAttemptFlag, + RedirectionCompleted, + RejectCauseValue, + RelocationType, + RequestedGANSSAssistanceData, + RequestType, + Requested-RAB-Parameter-Values, + ResponseTime, + RRC-Container, + RSRVCC-Operation-Possible, + RSRQ-Type, + RSRQ-Extension, + SAI, + SAPI, + Service-Handover, + SessionUpdateID, + SNA-Access-Information, + SourceBSS-ToTargetBSS-TransparentContainer, + SourceID, + Source-ToTarget-TransparentContainer, + SourceRNC-ToTargetRNC-TransparentContainer, + SRVCC-HO-Indication, + SRVCC-Information, + SRVCC-Operation-Possible, + TargetBSS-ToSourceBSS-TransparentContainer, + TargetID, + Target-ToSource-TransparentContainer, + TargetRNC-ToSourceRNC-TransparentContainer, + TemporaryUE-ID, + TimeToMBMSDataTransfer, + TMGI, + TracePropagationParameters, + TraceReference, + TraceType, + UnsuccessfullyTransmittedDataVolume, + TransportLayerAddress, + TriggerID, + UE-AggregateMaximumBitRate, + UE-ID, + UESBI-Iu, + UL-GTP-PDU-SequenceNumber, + UL-N-PDU-SequenceNumber, + UP-ModeVersions, + UserPlaneMode, + VelocityEstimate, + VerticalAccuracyCode, + VoiceSupportMatchIndicator, + Alt-RAB-Parameters, + Ass-RAB-Parameters, + PeriodicLocationInfo, + SubscriberProfileIDforRFP, + RNSAPRelocationParameters, + RABParametersList, + MDT-Configuration, + Priority-Class-Indicator, + Management-Based-MDT-Allowed, + HigherBitratesThan16MbpsFlag, + End-Of-CSFB, + Out-Of-UTRAN, + RSRVCC-HO-Indication, + RSRVCC-Information, + MDT-PLMN-List, + TunnelInformation, + LHN-ID, + Session-Re-establishment-Indicator, + Additional-CSPS-coordination-information, + UERegistrationQueryResult, + SGSN-Group-Identity, + P-TMSI, + BarometricPressure, + CivicAddress, + UE-Usage-Type, + DCN-ID + +FROM RANAP-IEs + + PrivateIE-Container{}, + ProtocolExtensionContainer{}, + ProtocolIE-ContainerList{}, + ProtocolIE-ContainerPair{}, + ProtocolIE-ContainerPairList{}, + ProtocolIE-Container{}, + RANAP-PRIVATE-IES, + RANAP-PROTOCOL-EXTENSION, + RANAP-PROTOCOL-IES, + RANAP-PROTOCOL-IES-PAIR +FROM RANAP-Containers + + maxNrOfDTs, + maxNrOfErrors, + maxNrOfIuSigConIds, + maxNrOfRABs, + maxNrOfVol, + maxnoofMulticastServicesPerUE, + + id-AccuracyFulfilmentIndicator, + id-UE-Application-Layer-Measurement-Configuration, + id-UE-Application-Layer-Measurement-Configuration-For-Relocation, + id-APN, + id-AreaIdentity, + id-Alt-RAB-Parameters, + id-Ass-RAB-Parameters, + id-BroadcastAssistanceDataDecipheringKeys, + id-LocationRelatedDataRequestType, + id-CN-DomainIndicator, + id-Cause, + id-Cell-Access-Mode, + id-ChosenEncryptionAlgorithm, + id-ChosenIntegrityProtectionAlgorithm, + id-ClassmarkInformation2, + id-ClassmarkInformation3, + id-ClientType, + id-CNMBMSLinkingInformation, + id-CriticalityDiagnostics, + id-CSG-Id, + id-CSG-Id-List, + id-CSG-Membership-Status, + id-DeltaRAListofIdleModeUEs, + id-DRX-CycleLengthCoefficient, + id-DirectTransferInformationItem-RANAP-RelocInf, + id-DirectTransferInformationList-RANAP-RelocInf, + id-DL-GTP-PDU-SequenceNumber, + id-EncryptionInformation, + id-EncryptionKey, + id-ExtendedRNC-ID, + id-FrequenceLayerConvergenceFlag, + id-GERAN-BSC-Container, + id-GERAN-Classmark, + id-GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item, + id-GERAN-Iumode-RAB-FailedList-RABAssgntResponse, + id-GlobalCN-ID, + id-GlobalCN-IDCS, + id-GlobalCN-IDPS, + id-GlobalRNC-ID, + id-IncludeVelocity, + id-InformationExchangeID, + id-InformationExchangeType, + id-InformationRequested, + id-InformationRequestType, + id-InformationTransferID, + id-InformationTransferType, + id-IntegrityProtectionInformation, + id-IntegrityProtectionKey, + id-InterSystemInformationTransferType, + id-InterSystemInformation-TransparentContainer, + id-IPMulticastAddress, + id-IuSigConId, + id-OldIuSigConId, + id-OldIuSigConIdCS, + id-OldIuSigConIdPS, + id-IuSigConIdItem, + id-IuSigConIdList, + id-IuTransportAssociation, + id-JoinedMBMSBearerServicesList, + id-KeyStatus, + id-L3-Information, + id-LAI, + id-LastKnownServiceArea, + id-LeftMBMSBearerServicesList, + id-LocationRelatedDataRequestTypeSpecificToGERANIuMode, + id-MBMSBearerServiceType, + id-MBMSCountingInformation, + id-MBMSCNDe-Registration, + id-MBMSRegistrationRequestType, + id-MBMSSynchronisationInformation, + id-MBMSServiceArea, + id-MBMSSessionDuration, + id-MBMSSessionIdentity, + id-MBMSSessionRepetitionNumber, + id-MSISDN, + id-NAS-PDU, + id-NAS-SequenceNumber, + id-NewBSS-To-OldBSS-Information, + id-NonSearchingIndication, + id-NumberOfSteps, + id-Offload-RAB-Parameters, + id-OMC-ID, + id-OldBSS-ToNewBSS-Information, + id-PagingAreaID, + id-PagingCause, + id-PDP-TypeInformation, + id-PDP-TypeInformation-extension, + id-PermanentNAS-UE-ID, + id-PositionData, + id-PositionDataSpecificToGERANIuMode, + id-PositioningPriority, + id-ProvidedData, + id-RAB-ContextItem, + id-RAB-ContextList, + id-RAB-ContextFailedtoTransferItem, + id-RAB-ContextFailedtoTransferList, + id-RAB-ContextItem-RANAP-RelocInf, + id-RAB-ContextList-RANAP-RelocInf, + id-RAB-DataForwardingItem, + id-RAB-DataForwardingItem-SRNS-CtxReq, + id-RAB-DataForwardingList, + id-RAB-DataForwardingList-SRNS-CtxReq, + id-RAB-DataVolumeReportItem, + id-RAB-DataVolumeReportList, + id-RAB-DataVolumeReportRequestItem, + id-RAB-DataVolumeReportRequestList, + id-RAB-FailedItem, + id-RAB-FailedList, + id-RAB-FailedList-EnhRelocInfoRes, + id-RAB-FailedItem-EnhRelocInfoRes, + id-RAB-FailedtoReportItem, + id-RAB-FailedtoReportList, + id-RAB-ID, + id-RAB-ModifyList, + id-RAB-ModifyItem, + id-RAB-Parameters, + id-RAB-QueuedItem, + id-RAB-QueuedList, + id-RAB-ReleaseFailedList, + id-RAB-ReleaseItem, + id-RAB-ReleasedItem-IuRelComp, + id-RAB-ReleaseList, + id-RAB-ReleasedItem, + id-RAB-ReleasedList, + id-RAB-ReleasedList-IuRelComp, + id-RAB-RelocationReleaseItem, + id-RAB-RelocationReleaseList, + id-RAB-SetupItem-RelocReq, + id-RAB-SetupItem-RelocReqAck, + id-RAB-SetupList-RelocReq, + id-RAB-SetupList-RelocReqAck, + id-RAB-SetupList-EnhRelocInfoReq, + id-RAB-SetupItem-EnhRelocInfoReq, + id-RAB-SetupList-EnhRelocInfoRes, + id-RAB-SetupItem-EnhRelocInfoRes, + id-RAB-SetupList-EnhancedRelocCompleteReq, + id-RAB-SetupItem-EnhancedRelocCompleteReq, + id-RAB-SetupList-EnhancedRelocCompleteRes, + id-RAB-SetupItem-EnhancedRelocCompleteRes, + id-RAB-SetupOrModifiedItem, + id-RAB-SetupOrModifiedList, + id-RAB-SetupOrModifyItem, + id-RAB-SetupOrModifyList, + id-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes, + id-RAB-ToBeReleasedList-EnhancedRelocCompleteRes, + id-RAC, + id-RAListofIdleModeUEs, + id-RAT-Type, + id-RedirectAttemptFlag, + id-RedirectionCompleted, + id-RedirectionIndication, + id-RejectCauseValue, + id-RelocationType, + id-Relocation-SourceRNC-ID, + id-Relocation-SourceExtendedRNC-ID, + id-Relocation-TargetRNC-ID, + id-Relocation-TargetExtendedRNC-ID, + id-RequestedGANSSAssistanceData, + id-RequestType, + id-ResponseTime, + id-RSRVCC-Operation-Possible, + id-SAI, + id-SAPI, + id-SelectedPLMN-ID, + id-SessionUpdateID, + id-SNA-Access-Information, + id-SourceBSS-ToTargetBSS-TransparentContainer, + id-SourceRNC-ID, + id-SourceExtendedRNC-ID, + id-SourceID, + id-Source-ToTarget-TransparentContainer, + id-SourceRNC-PDCP-context-info, + id-SRVCC-HO-Indication, + id-SRVCC-Information, + id-SRVCC-Operation-Possible, + id-TargetBSS-ToSourceBSS-TransparentContainer, + id-TargetID, + id-Target-ToSource-TransparentContainer, + id-TemporaryUE-ID, + id-TimeToMBMSDataTransfer, + id-TMGI, + id-TracePropagationParameters, + id-TraceReference, + id-TraceType, + id-TransportLayerAddress, + id-TransportLayerInformation, + id-TriggerID, + id-UE-AggregateMaximumBitRate, + id-UE-ID, + id-UESBI-Iu, + id-UL-GTP-PDU-SequenceNumber, + id-UnsuccessfulLinkingList, + id-VelocityEstimate, + id-VerticalAccuracyCode, + id-VoiceSupportMatchIndicator, + id-PeriodicLocationInfo, + id-BroadcastGANSSAssistanceDataDecipheringKeys, + id-SubscriberProfileIDforRFP, + id-E-UTRAN-Service-Handover, + id-IP-Source-Address, + id-LGW-TransportLayerAddress, + id-Correlation-ID, + id-MDT-Configuration, + id-RNSAPRelocationParameters, + id-RABParametersList, + id-Priority-Class-Indicator, + id-Management-Based-MDT-Allowed, + id-HigherBitratesThan16MbpsFlag, + id-Trace-Collection-Entity-IP-Addess, + id-End-Of-CSFB, + id-Out-Of-UTRAN, + id-RSRVCC-HO-Indication, + id-RSRVCC-Information, + id-AnchorPLMN-ID, + id-Management-Based-MDT-PLMN-List, + id-Tunnel-Information-for-BBF, + id-SIPTO-Correlation-ID, + id-SIPTO-LGW-TransportLayerAddress, + id-LHN-ID, + id-LastE-UTRANPLMNIdentity, + id-Session-Re-establishment-Indicator, + id-Additional-CSPS-coordination-information, + id-UERegistrationQueryResult, + id-IuSigConIdRangeEnd, + id-SGSN-Group-Identity, + id-P-TMSI, + id-RANAP-Message, + id-PowerSavingIndicator, + id-BarometricPressure, + id-CivicAddress, + id-UE-Usage-Type, + id-DCN-ID + +FROM RANAP-Constants; + +-- ************************************************************** +-- +-- Common Container Lists +-- +-- ************************************************************** + +RAB-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfRABs, {IEsSetParam} } +RAB-IE-ContainerPairList { RANAP-PROTOCOL-IES-PAIR : IEsSetParam } ::= ProtocolIE-ContainerPairList { 1, maxNrOfRABs, {IEsSetParam} } +ProtocolError-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfRABs, {IEsSetParam} } +IuSigConId-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfIuSigConIds, {IEsSetParam} } +DirectTransfer-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfDTs, {IEsSetParam} } + +-- ************************************************************** +-- +-- Iu RELEASE ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Iu Release Command +-- +-- ************************************************************** + +Iu-ReleaseCommand ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {Iu-ReleaseCommandIEs} }, + protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseCommandExtensions} } OPTIONAL, + ... +} + +Iu-ReleaseCommandIEs RANAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }, + ... +} + +Iu-ReleaseCommandExtensions RANAP-PROTOCOL-EXTENSION ::= { + { ID id-End-Of-CSFB CRITICALITY ignore EXTENSION End-Of-CSFB PRESENCE optional }| + { ID id-Out-Of-UTRAN CRITICALITY ignore EXTENSION Out-Of-UTRAN PRESENCE optional }| + { ID id-LastE-UTRANPLMNIdentity CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- Iu Release Complete +-- +-- ************************************************************** + +Iu-ReleaseComplete ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {Iu-ReleaseCompleteIEs} }, + protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseCompleteExtensions} } OPTIONAL, + ... +} + +Iu-ReleaseCompleteIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-DataVolumeReportList CRITICALITY ignore TYPE RAB-DataVolumeReportList PRESENCE optional } | + { ID id-RAB-ReleasedList-IuRelComp CRITICALITY ignore TYPE RAB-ReleasedList-IuRelComp PRESENCE optional } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +RAB-DataVolumeReportList ::= RAB-IE-ContainerList { {RAB-DataVolumeReportItemIEs} } + +RAB-DataVolumeReportItemIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-DataVolumeReportItem CRITICALITY ignore TYPE RAB-DataVolumeReportItem PRESENCE mandatory }, + ... +} + +RAB-DataVolumeReportItem ::= SEQUENCE { + rAB-ID RAB-ID, + dl-UnsuccessfullyTransmittedDataVolume DataVolumeList OPTIONAL + -- This IE shall always be present although its presence is optional --, + iE-Extensions ProtocolExtensionContainer { {RAB-DataVolumeReportItem-ExtIEs} } OPTIONAL, + ... +} + +RAB-DataVolumeReportItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RAB-ReleasedList-IuRelComp ::= RAB-IE-ContainerList { {RAB-ReleasedItem-IuRelComp-IEs} } + +RAB-ReleasedItem-IuRelComp-IEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-ReleasedItem-IuRelComp CRITICALITY ignore TYPE RAB-ReleasedItem-IuRelComp PRESENCE mandatory }, + ... +} + +RAB-ReleasedItem-IuRelComp ::= SEQUENCE { + rAB-ID RAB-ID, + dL-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL, + uL-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {RAB-ReleasedItem-IuRelComp-ExtIEs} } OPTIONAL, + ... +} + +RAB-ReleasedItem-IuRelComp-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + + +Iu-ReleaseCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- RELOCATION PREPARATION ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Relocation Required +-- +-- ************************************************************** + +RelocationRequired ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RelocationRequiredIEs} }, + protocolExtensions ProtocolExtensionContainer { {RelocationRequiredExtensions} } OPTIONAL, +... +} + +RelocationRequiredIEs RANAP-PROTOCOL-IES ::= { + { ID id-RelocationType CRITICALITY reject TYPE RelocationType PRESENCE mandatory } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-SourceID CRITICALITY ignore TYPE SourceID PRESENCE mandatory } | + { ID id-TargetID CRITICALITY reject TYPE TargetID PRESENCE mandatory } | + { ID id-ClassmarkInformation2 CRITICALITY reject TYPE ClassmarkInformation2 PRESENCE conditional + -- This IE shall be present if the Target ID IE contains a CGI IE and Source BSS To Target BSS Transparent Container is not included -- } | + { ID id-ClassmarkInformation3 CRITICALITY ignore TYPE ClassmarkInformation3 PRESENCE conditional + -- This IE shall be present if the Target ID IE contains a CGI IE and Source BSS To Target BSS Transparent Container is not included -- } | + { ID id-Source-ToTarget-TransparentContainer + CRITICALITY reject TYPE Source-ToTarget-TransparentContainer PRESENCE conditional + -- This IE shall be present if the Target ID IE contains a RNC-ID IE or eNB-ID -- } | + { ID id-OldBSS-ToNewBSS-Information CRITICALITY ignore TYPE OldBSS-ToNewBSS-Information PRESENCE optional } , + ... +} + +RelocationRequiredExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 5 to enable GERAN support over Iu-cs -- + { ID id-GERAN-Classmark CRITICALITY ignore EXTENSION GERAN-Classmark PRESENCE optional} | +-- Extension for Release 6 to enable Inter-RAT PS Handover between UTRAN and GERAN A/Gb -- + { ID id-SourceBSS-ToTargetBSS-TransparentContainer CRITICALITY ignore EXTENSION SourceBSS-ToTargetBSS-TransparentContainer PRESENCE optional} | +-- Extension for Release 8 for SRVCC operation -- + { ID id-SRVCC-HO-Indication CRITICALITY reject EXTENSION SRVCC-HO-Indication PRESENCE optional} | +-- Extension for Release 9 to communicate to the CN the CSG id of the target cell -- + { ID id-CSG-Id CRITICALITY reject EXTENSION CSG-Id PRESENCE optional} | +-- Extension for Release 9 to communicate to the CN the hybrid access status of the target cell -- + { ID id-Cell-Access-Mode CRITICALITY reject EXTENSION Cell-Access-Mode PRESENCE optional} | +-- Extension for Release 11 for rSRVCC operation -- + { ID id-RSRVCC-HO-Indication CRITICALITY reject EXTENSION RSRVCC-HO-Indication PRESENCE optional}| +-- Extension for Release 14 to support QoE function -- + {ID id-UE-Application-Layer-Measurement-Configuration-For-Relocation CRITICALITY ignore EXTENSION UE-Application-Layer-Measurement-Configuration-For-Relocation PRESENCE optional}, + + ... +} + +-- ************************************************************** +-- +-- Relocation Command +-- +-- ************************************************************** + +RelocationCommand ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RelocationCommandIEs} }, + protocolExtensions ProtocolExtensionContainer { {RelocationCommandExtensions} } OPTIONAL, + ... +} + +RelocationCommandIEs RANAP-PROTOCOL-IES ::= { + { ID id-Target-ToSource-TransparentContainer + CRITICALITY reject TYPE Target-ToSource-TransparentContainer PRESENCE optional } | + { ID id-L3-Information CRITICALITY ignore TYPE L3-Information PRESENCE optional } | + { ID id-RAB-RelocationReleaseList CRITICALITY ignore TYPE RAB-RelocationReleaseList PRESENCE optional } | + { ID id-RAB-DataForwardingList CRITICALITY ignore TYPE RAB-DataForwardingList PRESENCE optional } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +RAB-RelocationReleaseList ::= RAB-IE-ContainerList { {RAB-RelocationReleaseItemIEs} } + +RAB-RelocationReleaseItemIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-RelocationReleaseItem CRITICALITY ignore TYPE RAB-RelocationReleaseItem PRESENCE mandatory }, + ... +} + +RAB-RelocationReleaseItem ::= SEQUENCE { + rAB-ID RAB-ID, + iE-Extensions ProtocolExtensionContainer { {RAB-RelocationReleaseItem-ExtIEs} } OPTIONAL, + ... +} + +RAB-RelocationReleaseItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RAB-DataForwardingList ::= RAB-IE-ContainerList { {RAB-DataForwardingItemIEs} } + +RAB-DataForwardingItemIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-DataForwardingItem CRITICALITY ignore TYPE RAB-DataForwardingItem PRESENCE mandatory }, + ... +} + +RAB-DataForwardingItem ::= SEQUENCE { + rAB-ID RAB-ID, + transportLayerAddress TransportLayerAddress, + iuTransportAssociation IuTransportAssociation, + iE-Extensions ProtocolExtensionContainer { {RAB-DataForwardingItem-ExtIEs} } OPTIONAL, + ... +} + +RAB-DataForwardingItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 5 to allow transfer of a second pair of TLA and association -- + {ID id-TransportLayerAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional} | + {ID id-IuTransportAssociation CRITICALITY ignore EXTENSION IuTransportAssociation PRESENCE optional}, + ... +} + +RelocationCommandExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 5 to enable Inter RAN Load Information Exchange over Iu -- + { ID id-InterSystemInformation-TransparentContainer CRITICALITY ignore EXTENSION InterSystemInformation-TransparentContainer PRESENCE optional} | +-- Extension for Release 6 to enable Inter-RAT PS Handover between UTRAN and GERAN A/Gb -- + { ID id-TargetBSS-ToSourceBSS-TransparentContainer CRITICALITY ignore EXTENSION TargetBSS-ToSourceBSS-TransparentContainer PRESENCE optional} | +-- Extension for Release 8 for SRVCC operation -- + { ID id-SRVCC-Information CRITICALITY reject EXTENSION SRVCC-Information PRESENCE optional} | +-- Extension for Release 11 for rSRVCC operation -- + { ID id-RSRVCC-Information CRITICALITY reject EXTENSION RSRVCC-Information PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- Relocation Preparation Failure +-- +-- ************************************************************** + +RelocationPreparationFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RelocationPreparationFailureIEs} }, + protocolExtensions ProtocolExtensionContainer { {RelocationPreparationFailureExtensions} } OPTIONAL, +... +} + +RelocationPreparationFailureIEs RANAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +RelocationPreparationFailureExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 5 to enable Inter RAN Load Information Exchange over Iu -- + { ID id-InterSystemInformation-TransparentContainer CRITICALITY ignore EXTENSION InterSystemInformation-TransparentContainer PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- RELOCATION RESOURCE ALLOCATION ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Relocation Request +-- +-- ************************************************************** + +RelocationRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RelocationRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {RelocationRequestExtensions} } OPTIONAL, + ... +} + +RelocationRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE optional } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-Source-ToTarget-TransparentContainer + CRITICALITY reject TYPE SourceRNC-ToTargetRNC-TransparentContainer PRESENCE mandatory } | + { ID id-RAB-SetupList-RelocReq CRITICALITY reject TYPE RAB-SetupList-RelocReq PRESENCE optional } | + { ID id-IntegrityProtectionInformation CRITICALITY ignore TYPE IntegrityProtectionInformation PRESENCE optional } | + { ID id-EncryptionInformation CRITICALITY ignore TYPE EncryptionInformation PRESENCE optional } | + { ID id-IuSigConId CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE mandatory }, + ... +} + +RAB-SetupList-RelocReq ::= RAB-IE-ContainerList { {RAB-SetupItem-RelocReq-IEs} } + +RAB-SetupItem-RelocReq-IEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-SetupItem-RelocReq CRITICALITY reject TYPE RAB-SetupItem-RelocReq PRESENCE mandatory }, + ... +} + +RAB-SetupItem-RelocReq ::= SEQUENCE { + rAB-ID RAB-ID, + nAS-SynchronisationIndicator NAS-SynchronisationIndicator OPTIONAL, + rAB-Parameters RAB-Parameters, + dataVolumeReportingIndication DataVolumeReportingIndication OPTIONAL + -- This IE shall be present if the CN domain indicator IE is set to "PS domain" --, + pDP-TypeInformation PDP-TypeInformation OPTIONAL + -- This IE shall be present if the CN domain indicator IE is set to "PS domain" --, + userPlaneInformation UserPlaneInformation, + transportLayerAddress TransportLayerAddress, + iuTransportAssociation IuTransportAssociation, + service-Handover Service-Handover OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {RAB-SetupItem-RelocReq-ExtIEs} } OPTIONAL, + ... +} + +RAB-SetupItem-RelocReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 4 to enable RAB Quality of Service negotiation over Iu -- + { ID id-Alt-RAB-Parameters CRITICALITY ignore EXTENSION Alt-RAB-Parameters PRESENCE optional}| +-- Extension for Release 5 to enable GERAN support over Iu-cs -- + { ID id-GERAN-BSC-Container CRITICALITY ignore EXTENSION GERAN-BSC-Container PRESENCE optional}| +-- Extension for Release 8 to enable handover restriction to E-UTRAN -- + { ID id-E-UTRAN-Service-Handover CRITICALITY ignore EXTENSION E-UTRAN-Service-Handover PRESENCE optional}| +-- Extension for Release 9 to enable a new value -- + { ID id-PDP-TypeInformation-extension CRITICALITY ignore EXTENSION PDP-TypeInformation-extension PRESENCE optional}| +-- Extension for Release 10 to enable offload at Iu-PS for UTRAN -- + { ID id-Offload-RAB-Parameters CRITICALITY ignore EXTENSION Offload-RAB-Parameters PRESENCE optional}, + ... +} + +UserPlaneInformation ::= SEQUENCE { + userPlaneMode UserPlaneMode, + uP-ModeVersions UP-ModeVersions, + iE-Extensions ProtocolExtensionContainer { {UserPlaneInformation-ExtIEs} } OPTIONAL, + ... +} + +UserPlaneInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RelocationRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 4 -- + { ID id-GlobalCN-ID CRITICALITY reject EXTENSION GlobalCN-ID PRESENCE optional}| +-- Extension for Release 5 to enable shared networks in connected mode -- + { ID id-SNA-Access-Information CRITICALITY ignore EXTENSION SNA-Access-Information PRESENCE optional}| +-- Extension for Release 5 to enable specific behaviour by the RNC in relation with early UE handling -- + { ID id-UESBI-Iu CRITICALITY ignore EXTENSION UESBI-Iu PRESENCE optional}| +-- Extension for Release 6 to convey the selected PLMN id in network sharing mobility scenarios -- + { ID id-SelectedPLMN-ID CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional}| +-- Extension for Release 6 to enable MBMS UE linking at relocation -- + { ID id-CNMBMSLinkingInformation CRITICALITY ignore EXTENSION CNMBMSLinkingInformation PRESENCE optional}| + { ID id-UE-AggregateMaximumBitRate CRITICALITY ignore EXTENSION UE-AggregateMaximumBitRate PRESENCE optional}| +-- Extension for Release 9 to communicate to the target cell the CSG id reported by the source -- + { ID id-CSG-Id CRITICALITY reject EXTENSION CSG-Id PRESENCE optional}| +-- Extension for Release 9 for enabling UE prioritisation during access to hybrid cells -- + { ID id-CSG-Membership-Status CRITICALITY ignore EXTENSION CSG-Membership-Status PRESENCE optional}| +-- Extension for Release 10 to enable offload at Iu-PS for UTRAN -- + { ID id-MSISDN CRITICALITY ignore EXTENSION MSISDN PRESENCE optional}| +-- Extension for Release 11 to support rSRVCC in case of network sharing – + { ID id-AnchorPLMN-ID CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional}| + { ID id-PowerSavingIndicator CRITICALITY ignore EXTENSION PowerSavingIndicator PRESENCE optional}| +-- Extension for Release 14 to support QoE function -- + {ID id-UE-Application-Layer-Measurement-Configuration-For-Relocation CRITICALITY ignore EXTENSION UE-Application-Layer-Measurement-Configuration-For-Relocation PRESENCE optional}, + + ... +} + +CNMBMSLinkingInformation ::= SEQUENCE { + joinedMBMSBearerService-IEs JoinedMBMSBearerService-IEs, + iE-Extensions ProtocolExtensionContainer { {CNMBMSLinkingInformation-ExtIEs} } OPTIONAL, + ... +} + +CNMBMSLinkingInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +JoinedMBMSBearerService-IEs ::= SEQUENCE (SIZE (1.. maxnoofMulticastServicesPerUE)) OF + SEQUENCE { + tMGI TMGI, + mBMS-PTP-RAB-ID MBMS-PTP-RAB-ID, + iE-Extensions ProtocolExtensionContainer { {JoinedMBMSBearerService-ExtIEs} } OPTIONAL, + ... + } + +JoinedMBMSBearerService-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Relocation Request Acknowledge +-- +-- ************************************************************** + +RelocationRequestAcknowledge ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RelocationRequestAcknowledgeIEs} }, + protocolExtensions ProtocolExtensionContainer { {RelocationRequestAcknowledgeExtensions} } OPTIONAL, + ... +} + +RelocationRequestAcknowledgeIEs RANAP-PROTOCOL-IES ::= { + { ID id-Target-ToSource-TransparentContainer + CRITICALITY ignore TYPE TargetRNC-ToSourceRNC-TransparentContainer PRESENCE optional } | + { ID id-RAB-SetupList-RelocReqAck CRITICALITY ignore TYPE RAB-SetupList-RelocReqAck PRESENCE optional} | + { ID id-RAB-FailedList CRITICALITY ignore TYPE RAB-FailedList PRESENCE optional }| + { ID id-ChosenIntegrityProtectionAlgorithm CRITICALITY ignore TYPE ChosenIntegrityProtectionAlgorithm PRESENCE optional } | + { ID id-ChosenEncryptionAlgorithm CRITICALITY ignore TYPE ChosenEncryptionAlgorithm PRESENCE optional } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +RAB-SetupList-RelocReqAck ::= RAB-IE-ContainerList { {RAB-SetupItem-RelocReqAck-IEs} } + +RAB-SetupItem-RelocReqAck-IEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-SetupItem-RelocReqAck CRITICALITY reject TYPE RAB-SetupItem-RelocReqAck PRESENCE mandatory }, + ... +} + +RAB-SetupItem-RelocReqAck ::= SEQUENCE { + rAB-ID RAB-ID, + transportLayerAddress TransportLayerAddress OPTIONAL, + iuTransportAssociation IuTransportAssociation OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {RAB-SetupItem-RelocReqAck-ExtIEs} } OPTIONAL, + ... +} + +RAB-SetupItem-RelocReqAck-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 4 to enable RAB Quality of Service negotiation over Iu -- + {ID id-Ass-RAB-Parameters CRITICALITY ignore EXTENSION Ass-RAB-Parameters PRESENCE optional } | +-- Extension for Release 5 to allow transfer of a second pair of TLA and association -- + {ID id-TransportLayerAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional} | + {ID id-IuTransportAssociation CRITICALITY ignore EXTENSION IuTransportAssociation PRESENCE optional}, + ... +} + +RAB-FailedList ::= RAB-IE-ContainerList { {RAB-FailedItemIEs} } + +RAB-FailedItemIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-FailedItem CRITICALITY ignore TYPE RAB-FailedItem PRESENCE mandatory }, + ... +} + +RAB-FailedItem ::= SEQUENCE { + rAB-ID RAB-ID, + cause Cause, + iE-Extensions ProtocolExtensionContainer { {RAB-FailedItem-ExtIEs} } OPTIONAL, + ... +} + +RAB-FailedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RelocationRequestAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 5 to enable Inter RAN Load Information Exchange over Iu -- + {ID id-NewBSS-To-OldBSS-Information CRITICALITY ignore EXTENSION NewBSS-To-OldBSS-Information PRESENCE optional }| + {ID id-CSG-Id CRITICALITY ignore EXTENSION CSG-Id PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- Relocation Failure +-- +-- ************************************************************** + +RelocationFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RelocationFailureIEs} }, + protocolExtensions ProtocolExtensionContainer { {RelocationFailureExtensions} } OPTIONAL, + ... +} + +RelocationFailureIEs RANAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +RelocationFailureExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 5 to enable Inter RAN Load Information Exchange over Iu -- + { ID id-NewBSS-To-OldBSS-Information CRITICALITY ignore EXTENSION NewBSS-To-OldBSS-Information PRESENCE optional } | +-- Extension for Release 5 to enable GERAN support over Iu-cs -- + { ID id-GERAN-Classmark CRITICALITY ignore EXTENSION GERAN-Classmark PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- RELOCATION CANCEL ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Relocation Cancel +-- +-- ************************************************************** + +RelocationCancel ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RelocationCancelIEs} }, + protocolExtensions ProtocolExtensionContainer { {RelocationCancelExtensions} } OPTIONAL, + ... +} + +RelocationCancelIEs RANAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }, + ... +} + +RelocationCancelExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Relocation Cancel Acknowledge +-- +-- ************************************************************** + +RelocationCancelAcknowledge ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RelocationCancelAcknowledgeIEs} }, + protocolExtensions ProtocolExtensionContainer { {RelocationCancelAcknowledgeExtensions} } OPTIONAL, + ... +} + +RelocationCancelAcknowledgeIEs RANAP-PROTOCOL-IES ::= { + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +RelocationCancelAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- SRNS CONTEXT TRANSFER OPEARATION +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- SRNS Context Request +-- +-- ************************************************************** + +SRNS-ContextRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {SRNS-ContextRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {SRNS-ContextRequestExtensions} } OPTIONAL, + ... +} + +SRNS-ContextRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-DataForwardingList-SRNS-CtxReq CRITICALITY ignore TYPE RAB-DataForwardingList-SRNS-CtxReq PRESENCE mandatory }, + ... +} + +RAB-DataForwardingList-SRNS-CtxReq ::= RAB-IE-ContainerList { {RAB-DataForwardingItem-SRNS-CtxReq-IEs} } + +RAB-DataForwardingItem-SRNS-CtxReq-IEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-DataForwardingItem-SRNS-CtxReq CRITICALITY reject TYPE RAB-DataForwardingItem-SRNS-CtxReq PRESENCE mandatory }, + ... +} + +RAB-DataForwardingItem-SRNS-CtxReq ::= SEQUENCE { + rAB-ID RAB-ID, + iE-Extensions ProtocolExtensionContainer { {RAB-DataForwardingItem-SRNS-CtxReq-ExtIEs} } OPTIONAL, + ... +} + +RAB-DataForwardingItem-SRNS-CtxReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +SRNS-ContextRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- The SGSN may include the IE, when available to indicate the RAT from which the context request originates, to correct measurement points in SRNC. -- + {ID id-RAT-Type CRITICALITY ignore EXTENSION RAT-Type PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- SRNS Context Response +-- +-- ************************************************************** + +SRNS-ContextResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {SRNS-ContextResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { {SRNS-ContextResponseExtensions} } OPTIONAL, + ... +} + +SRNS-ContextResponseIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-ContextList CRITICALITY ignore TYPE RAB-ContextList PRESENCE optional } | + { ID id-RAB-ContextFailedtoTransferList CRITICALITY ignore TYPE RAB-ContextFailedtoTransferList PRESENCE optional }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +RAB-ContextList ::= RAB-IE-ContainerList { {RAB-ContextItemIEs} } + +RAB-ContextItemIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-ContextItem CRITICALITY ignore TYPE RAB-ContextItem PRESENCE mandatory }, + ... +} + +RAB-ContextItem ::= SEQUENCE { + rAB-ID RAB-ID, + dl-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL, + ul-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL, + dl-N-PDU-SequenceNumber DL-N-PDU-SequenceNumber OPTIONAL, + ul-N-PDU-SequenceNumber UL-N-PDU-SequenceNumber OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {RAB-ContextItem-ExtIEs} } OPTIONAL, + ... +} + +RAB-ContextItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RAB-ContextFailedtoTransferList ::= RAB-IE-ContainerList { {RABs-ContextFailedtoTransferItemIEs} } + +RABs-ContextFailedtoTransferItemIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-ContextFailedtoTransferItem CRITICALITY ignore TYPE RABs-ContextFailedtoTransferItem PRESENCE mandatory }, + ... +} + +RABs-ContextFailedtoTransferItem::= SEQUENCE { + rAB-ID RAB-ID, + cause Cause, + iE-Extensions ProtocolExtensionContainer { { RABs-ContextFailedtoTransferItem-ExtIEs} } OPTIONAL, + ... +} + + +RABs-ContextFailedtoTransferItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +SRNS-ContextResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- SECURITY MODE CONTROL ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Security Mode Command +-- +-- ************************************************************** + +SecurityModeCommand ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {SecurityModeCommandIEs} }, + protocolExtensions ProtocolExtensionContainer { {SecurityModeCommandExtensions} } OPTIONAL, + ... +} + +SecurityModeCommandIEs RANAP-PROTOCOL-IES ::= { + { ID id-IntegrityProtectionInformation CRITICALITY reject TYPE IntegrityProtectionInformation PRESENCE mandatory } | + { ID id-EncryptionInformation CRITICALITY ignore TYPE EncryptionInformation PRESENCE optional } | + { ID id-KeyStatus CRITICALITY reject TYPE KeyStatus PRESENCE mandatory}, + ... +} + +SecurityModeCommandExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Security Mode Complete +-- +-- ************************************************************** + +SecurityModeComplete ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {SecurityModeCompleteIEs} }, + protocolExtensions ProtocolExtensionContainer { {SecurityModeCompleteExtensions} } OPTIONAL, + ... +} + +SecurityModeCompleteIEs RANAP-PROTOCOL-IES ::= { + { ID id-ChosenIntegrityProtectionAlgorithm CRITICALITY reject TYPE ChosenIntegrityProtectionAlgorithm PRESENCE mandatory } | + { ID id-ChosenEncryptionAlgorithm CRITICALITY ignore TYPE ChosenEncryptionAlgorithm PRESENCE optional } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +SecurityModeCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Security Mode Reject +-- +-- ************************************************************** + +SecurityModeReject ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {SecurityModeRejectIEs} }, + protocolExtensions ProtocolExtensionContainer { {SecurityModeRejectExtensions} } OPTIONAL, + ... +} + +SecurityModeRejectIEs RANAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +SecurityModeRejectExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- DATA VOLUME REPORT ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Data Volume Report Request +-- +-- ************************************************************** + +DataVolumeReportRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {DataVolumeReportRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {DataVolumeReportRequestExtensions} } OPTIONAL, + ... +} + +DataVolumeReportRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-DataVolumeReportRequestList CRITICALITY ignore TYPE RAB-DataVolumeReportRequestList PRESENCE mandatory }, + ... +} + +RAB-DataVolumeReportRequestList ::= RAB-IE-ContainerList { {RAB-DataVolumeReportRequestItemIEs} } + +RAB-DataVolumeReportRequestItemIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-DataVolumeReportRequestItem CRITICALITY reject TYPE RAB-DataVolumeReportRequestItem PRESENCE mandatory }, + ... +} + +RAB-DataVolumeReportRequestItem ::= SEQUENCE { + rAB-ID RAB-ID, + iE-Extensions ProtocolExtensionContainer { {RAB-DataVolumeReportRequestItem-ExtIEs} } OPTIONAL, + ... +} + +RAB-DataVolumeReportRequestItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +DataVolumeReportRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Data Volume Report +-- +-- ************************************************************** + +DataVolumeReport ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {DataVolumeReportIEs} }, + protocolExtensions ProtocolExtensionContainer { {DataVolumeReportExtensions} } OPTIONAL, + ... +} + +DataVolumeReportIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-DataVolumeReportList CRITICALITY ignore TYPE RAB-DataVolumeReportList PRESENCE optional } | + { ID id-RAB-FailedtoReportList CRITICALITY ignore TYPE RAB-FailedtoReportList PRESENCE optional } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +DataVolumeReportExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RAB-FailedtoReportList ::= RAB-IE-ContainerList { {RABs-failed-to-reportItemIEs} } + +RABs-failed-to-reportItemIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-FailedtoReportItem CRITICALITY ignore TYPE RABs-failed-to-reportItem PRESENCE mandatory }, + ... +} + +RABs-failed-to-reportItem::= SEQUENCE { + rAB-ID RAB-ID, + cause Cause, + iE-Extensions ProtocolExtensionContainer { { RABs-failed-to-reportItem-ExtIEs} } OPTIONAL, + ... +} + + +RABs-failed-to-reportItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + + +-- ************************************************************** +-- +-- RESET ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Reset +-- +-- ************************************************************** + +Reset ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {ResetIEs} }, + protocolExtensions ProtocolExtensionContainer { {ResetExtensions} } OPTIONAL, + ... +} + +ResetIEs RANAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional }, + ... +} + +ResetExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 4 -- + { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional}| +-- Extension for Release 7 to indicate extended RNC-ID -- + { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- Reset Acknowledge +-- +-- ************************************************************** + +ResetAcknowledge ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {ResetAcknowledgeIEs} }, + protocolExtensions ProtocolExtensionContainer { {ResetAcknowledgeExtensions} } OPTIONAL, + ... +} + +ResetAcknowledgeIEs RANAP-PROTOCOL-IES ::= { + { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } | + { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional }, + ... +} + +ResetAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 4 -- + { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional}| +-- Extension for Release 7 to indicate extended RNC-ID -- + { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional }, + ... +} +-- ************************************************************** +-- +-- RESET RESOURCE ELEMENTARY PROCEDURE +-- +-- ************************************************************** + + +-- ************************************************************** +-- +-- Reset Resource +-- +-- ************************************************************** + +ResetResource ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {ResetResourceIEs} }, + protocolExtensions ProtocolExtensionContainer { {ResetResourceExtensions} } OPTIONAL, + ... +} + +ResetResourceIEs RANAP-PROTOCOL-IES ::= { + { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-IuSigConIdList CRITICALITY ignore TYPE ResetResourceList PRESENCE mandatory } | + { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional }, + ... +} + +ResetResourceList ::= IuSigConId-IE-ContainerList{ {ResetResourceItemIEs} } + +ResetResourceItemIEs RANAP-PROTOCOL-IES ::= { + { ID id-IuSigConIdItem CRITICALITY reject TYPE ResetResourceItem PRESENCE mandatory }, + ... +} + +ResetResourceItem ::= SEQUENCE { + iuSigConId IuSignallingConnectionIdentifier, + iE-Extensions ProtocolExtensionContainer { { ResetResourceItem-ExtIEs} } OPTIONAL, + ... +} + +ResetResourceItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + { ID id-IuSigConIdRangeEnd CRITICALITY reject EXTENSION IuSignallingConnectionIdentifier PRESENCE optional}, + ... +} + +ResetResourceExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 4 -- + { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional}| +-- Extension for Release 7 to indicate extended RNC-ID -- + { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- Reset Resource Acknowledge +-- +-- ************************************************************** + +ResetResourceAcknowledge ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {ResetResourceAcknowledgeIEs} }, + protocolExtensions ProtocolExtensionContainer { {ResetResourceAcknowledgeExtensions} } OPTIONAL, + ... +} + +ResetResourceAcknowledgeIEs RANAP-PROTOCOL-IES ::= { + { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-IuSigConIdList CRITICALITY ignore TYPE ResetResourceAckList PRESENCE mandatory } | + { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} +ResetResourceAckList ::= IuSigConId-IE-ContainerList{ {ResetResourceAckItemIEs} } + +ResetResourceAckItemIEs RANAP-PROTOCOL-IES ::= { + { ID id-IuSigConIdItem CRITICALITY reject TYPE ResetResourceAckItem PRESENCE mandatory }, + ... +} + +ResetResourceAckItem ::= SEQUENCE { + iuSigConId IuSignallingConnectionIdentifier, + iE-Extensions ProtocolExtensionContainer { { ResetResourceAckItem-ExtIEs} } OPTIONAL, + ... +} + +ResetResourceAckItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + { ID id-IuSigConIdRangeEnd CRITICALITY ignore EXTENSION IuSignallingConnectionIdentifier PRESENCE optional}, + ... +} + +ResetResourceAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 4 -- + { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional}| +-- Extension for Release 7 to indicate extended RNC-ID -- + { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- RAB RELEASE REQUEST ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- RAB Release Request +-- +-- ************************************************************** + +RAB-ReleaseRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RAB-ReleaseRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {RAB-ReleaseRequestExtensions} } OPTIONAL, + ... +} + +RAB-ReleaseRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-ReleaseList CRITICALITY ignore TYPE RAB-ReleaseList PRESENCE mandatory }, + ... +} + +RAB-ReleaseList ::= RAB-IE-ContainerList { {RAB-ReleaseItemIEs} } + +RAB-ReleaseItemIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-ReleaseItem CRITICALITY ignore TYPE RAB-ReleaseItem PRESENCE mandatory }, + ... +} + +RAB-ReleaseItem ::= SEQUENCE { + rAB-ID RAB-ID, + cause Cause, + iE-Extensions ProtocolExtensionContainer { {RAB-ReleaseItem-ExtIEs} } OPTIONAL, + ... +} + +RAB-ReleaseItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RAB-ReleaseRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Iu RELEASE REQUEST ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Iu Release Request +-- +-- ************************************************************** + +Iu-ReleaseRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {Iu-ReleaseRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseRequestExtensions} } OPTIONAL, + ... +} + +Iu-ReleaseRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }, + ... +} + +Iu-ReleaseRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- RELOCATION DETECT ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Relocation Detect +-- +-- ************************************************************** + +RelocationDetect ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RelocationDetectIEs} }, + protocolExtensions ProtocolExtensionContainer { {RelocationDetectExtensions} } OPTIONAL, + ... +} + +RelocationDetectIEs RANAP-PROTOCOL-IES ::= { + ... +} + +RelocationDetectExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- RELOCATION COMPLETE ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Relocation Complete +-- +-- ************************************************************** + +RelocationComplete ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RelocationCompleteIEs} }, + protocolExtensions ProtocolExtensionContainer { {RelocationCompleteExtensions} } OPTIONAL, + ... +} + +RelocationCompleteIEs RANAP-PROTOCOL-IES ::= { + ... +} + +RelocationCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 9 to enable the CN to handle potential UE NAS QoS issues related to higher bitrates -- + { ID id-HigherBitratesThan16MbpsFlag CRITICALITY ignore EXTENSION HigherBitratesThan16MbpsFlag PRESENCE optional}| +-- Extension for Release 11 to support BBAI -- + { ID id-Tunnel-Information-for-BBF CRITICALITY ignore EXTENSION TunnelInformation PRESENCE optional}| +-- Extension for Release 12 to support SIPTO@LN Stand-Alone -- + { ID id-LHN-ID CRITICALITY ignore EXTENSION LHN-ID PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- ENHANCED RELOCATION COMPLETE ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Enhanced Relocation Complete Request +-- +-- ************************************************************** + +EnhancedRelocationCompleteRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {EnhancedRelocationCompleteRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {EnhancedRelocationCompleteRequestExtensions} } OPTIONAL, + ... +} + +EnhancedRelocationCompleteRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-OldIuSigConId CRITICALITY reject TYPE IuSignallingConnectionIdentifier PRESENCE mandatory } | + { ID id-IuSigConId CRITICALITY reject TYPE IuSignallingConnectionIdentifier PRESENCE mandatory } | + { ID id-Relocation-SourceRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory } | + { ID id-Relocation-SourceExtendedRNC-ID CRITICALITY ignore TYPE ExtendedRNC-ID PRESENCE optional } | + { ID id-Relocation-TargetRNC-ID CRITICALITY reject TYPE GlobalRNC-ID PRESENCE mandatory } | + { ID id-Relocation-TargetExtendedRNC-ID CRITICALITY reject TYPE ExtendedRNC-ID PRESENCE optional } | + { ID id-RAB-SetupList-EnhancedRelocCompleteReq CRITICALITY reject TYPE RAB-SetupList-EnhancedRelocCompleteReq PRESENCE optional }, + ... +} + +RAB-SetupList-EnhancedRelocCompleteReq ::= RAB-IE-ContainerList { { RAB-SetupItem-EnhancedRelocCompleteReq-IEs} } + +RAB-SetupItem-EnhancedRelocCompleteReq-IEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-SetupItem-EnhancedRelocCompleteReq CRITICALITY reject TYPE RAB-SetupItem-EnhancedRelocCompleteReq PRESENCE mandatory }, + ... +} + +RAB-SetupItem-EnhancedRelocCompleteReq ::= SEQUENCE { + rAB-ID RAB-ID, + transportLayerAddressReq1 TransportLayerAddress OPTIONAL, + iuTransportAssociationReq1 IuTransportAssociation OPTIONAL, + ass-RAB-Parameters Ass-RAB-Parameters OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { RAB-SetupItem-EnhancedRelocCompleteReq-ExtIEs} } OPTIONAL, + ... +} + +RAB-SetupItem-EnhancedRelocCompleteReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +EnhancedRelocationCompleteRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { + { ID id-ChosenIntegrityProtectionAlgorithm CRITICALITY ignore EXTENSION ChosenIntegrityProtectionAlgorithm PRESENCE optional}| + { ID id-ChosenEncryptionAlgorithm CRITICALITY ignore EXTENSION ChosenEncryptionAlgorithm PRESENCE optional}| +-- Extension for Release 9 to enable the CN to handle potential UE NAS QoS issues related to higher bitrates -- + { ID id-HigherBitratesThan16MbpsFlag CRITICALITY ignore EXTENSION HigherBitratesThan16MbpsFlag PRESENCE optional}| +-- Extensions for Release 11 to enable enhanced relocation from RNC to hybrid cell – + { ID id-CSG-Id CRITICALITY reject EXTENSION CSG-Id PRESENCE optional}| + { ID id-Cell-Access-Mode CRITICALITY reject EXTENSION Cell-Access-Mode PRESENCE optional}| +-- Extension for Release 11 to support BBAI -- + { ID id-Tunnel-Information-for-BBF CRITICALITY ignore EXTENSION TunnelInformation PRESENCE optional}| +-- Extension for Release 12 to support SIPTO@LN Stand-Alone -- + { ID id-LHN-ID CRITICALITY ignore EXTENSION LHN-ID PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- Enhanced Relocation Complete Response +-- +-- ************************************************************** + +EnhancedRelocationCompleteResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {EnhancedRelocationCompleteResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { {EnhancedRelocationCompleteResponseExtensions} } OPTIONAL, + ... +} + +EnhancedRelocationCompleteResponseIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-SetupList-EnhancedRelocCompleteRes CRITICALITY ignore TYPE RAB-SetupList-EnhancedRelocCompleteRes PRESENCE optional} | + { ID id-RAB-ToBeReleasedList-EnhancedRelocCompleteRes CRITICALITY ignore TYPE RAB-ToBeReleasedList-EnhancedRelocCompleteRes PRESENCE optional} | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +RAB-SetupList-EnhancedRelocCompleteRes ::= RAB-IE-ContainerList { {RAB-SetupItem-EnhancedRelocCompleteRes-IEs} } + +RAB-SetupItem-EnhancedRelocCompleteRes-IEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-SetupItem-EnhancedRelocCompleteRes CRITICALITY reject TYPE RAB-SetupItem-EnhancedRelocCompleteRes PRESENCE mandatory }, + ... +} + +RAB-SetupItem-EnhancedRelocCompleteRes ::= SEQUENCE { + rAB-ID RAB-ID, + rAB-Parameters RAB-Parameters OPTIONAL, + userPlaneInformation UserPlaneInformation, + transportLayerAddressRes1 TransportLayerAddress OPTIONAL, + iuTransportAssociationRes1 IuTransportAssociation OPTIONAL, + rab2beReleasedList RAB-ToBeReleasedList-EnhancedRelocCompleteRes OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { RAB-SetupItem-EnhancedRelocCompleteRes-ExtIEs} } OPTIONAL, + ... +} + +RAB-SetupItem-EnhancedRelocCompleteRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + -- Extension for Release 10 to enable Offload at Iu-ps for UTRAN -- + { ID id-Offload-RAB-Parameters CRITICALITY ignore EXTENSION Offload-RAB-Parameters PRESENCE optional}, + ... +} + +RAB-ToBeReleasedList-EnhancedRelocCompleteRes ::= RAB-IE-ContainerList { {RAB-ToBeReleasedItem-EnhancedRelocCompleteRes-IEs} } + +RAB-ToBeReleasedItem-EnhancedRelocCompleteRes-IEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes CRITICALITY ignore TYPE RAB-ToBeReleasedItem-EnhancedRelocCompleteRes PRESENCE mandatory }, + ... +} + +RAB-ToBeReleasedItem-EnhancedRelocCompleteRes ::= SEQUENCE { + rAB-ID RAB-ID, + cause Cause, + iE-Extensions ProtocolExtensionContainer { { RAB-ToBeReleasedItem-EnhancedRelocCompleteRes-ExtIEs} } OPTIONAL, + ... +} + +RAB-ToBeReleasedItem-EnhancedRelocCompleteRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +EnhancedRelocationCompleteResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { + { ID id-UE-AggregateMaximumBitRate CRITICALITY ignore EXTENSION UE-AggregateMaximumBitRate PRESENCE optional}| +-- Extension for Release 10 to enable Offload at Iu-ps for UTRAN -- + { ID id-MSISDN CRITICALITY ignore EXTENSION MSISDN PRESENCE optional}| +-- Extension for Release 11 to enable ehnahced relocation from RNC to hybrid cell – + { ID id-CSG-Membership-Status CRITICALITY ignore EXTENSION CSG-Membership-Status PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- Enhanced Relocation Complete Failure +-- +-- ************************************************************** + +EnhancedRelocationCompleteFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {EnhancedRelocationCompleteFailureIEs} }, + protocolExtensions ProtocolExtensionContainer { {EnhancedRelocationCompleteFailureExtensions} } OPTIONAL, + ... +} + +EnhancedRelocationCompleteFailureIEs RANAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +EnhancedRelocationCompleteFailureExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Enhanced Relocation Complete Confirm +-- +-- ************************************************************** + +EnhancedRelocationCompleteConfirm ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {EnhancedRelocationCompleteConfirmIEs} }, + protocolExtensions ProtocolExtensionContainer { {EnhancedRelocationCompleteConfirmExtensions} } OPTIONAL, + ... +} + +EnhancedRelocationCompleteConfirmIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-FailedList CRITICALITY ignore TYPE RAB-FailedList PRESENCE optional }, + ... +} + +EnhancedRelocationCompleteConfirmExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + + +-- ************************************************************** +-- +-- PAGING ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Paging +-- +-- ************************************************************** + +Paging ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {PagingIEs} }, + protocolExtensions ProtocolExtensionContainer { {PagingExtensions} } OPTIONAL, + ... +} + +PagingIEs RANAP-PROTOCOL-IES ::= { + { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE mandatory } | + { ID id-TemporaryUE-ID CRITICALITY ignore TYPE TemporaryUE-ID PRESENCE optional } | + { ID id-PagingAreaID CRITICALITY ignore TYPE PagingAreaID PRESENCE optional } | + { ID id-PagingCause CRITICALITY ignore TYPE PagingCause PRESENCE optional } | + { ID id-NonSearchingIndication CRITICALITY ignore TYPE NonSearchingIndication PRESENCE optional } | + { ID id-DRX-CycleLengthCoefficient CRITICALITY ignore TYPE DRX-CycleLengthCoefficient PRESENCE optional } , + ... +} + +PagingExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 5 to enable NNSF -- + { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional } | +-- Extension for Release 8 to support CSG -- + { ID id-CSG-Id-List CRITICALITY ignore EXTENSION CSG-Id-List PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- COMMON ID ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Common ID +-- +-- ************************************************************** + +CommonID ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {CommonID-IEs} }, + protocolExtensions ProtocolExtensionContainer { {CommonIDExtensions} } OPTIONAL, + ... +} + +CommonID-IEs RANAP-PROTOCOL-IES ::= { + { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE mandatory }, + ... +} + +CommonIDExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 5 to enable shared networks in connected mode -- + { ID id-SNA-Access-Information CRITICALITY ignore EXTENSION SNA-Access-Information PRESENCE optional }| +-- Extension for Release 5 to enable specific behaviour by the RNC in relation with early UE handling -- + { ID id-UESBI-Iu CRITICALITY ignore EXTENSION UESBI-Iu PRESENCE optional }| +-- Extension for Release 6 to indicate the selected plmn in GWCN configuration for network sharing non-supporting UEs -- + { ID id-SelectedPLMN-ID CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional }| +-- Extension for Release 8 to indicate the Subscriber Profile ID for RAT/Frequency Selection Priority -- + {ID id-SubscriberProfileIDforRFP CRITICALITY ignore EXTENSION SubscriberProfileIDforRFP PRESENCE optional }| +-- Extension for Release 8 for SRVCC operation -- + { ID id-SRVCC-Operation-Possible CRITICALITY ignore EXTENSION SRVCC-Operation-Possible PRESENCE optional }| +-- Extension for Release 9 to allow for UE prioritisation during access to hybrid cells -- + { ID id-CSG-Membership-Status CRITICALITY ignore EXTENSION CSG-Membership-Status PRESENCE optional }| +-- Extension for Release 10 to indicate Management Based MDT Allowed -- + { ID id-Management-Based-MDT-Allowed CRITICALITY ignore EXTENSION Management-Based-MDT-Allowed PRESENCE optional }| +-- Extension for Release 11 to indicate MDT PLMN List -- + { ID id-Management-Based-MDT-PLMN-List CRITICALITY ignore EXTENSION MDT-PLMN-List PRESENCE optional }| +-- Extension for Release 11 rSRVCC operation -- + { ID id-RSRVCC-Operation-Possible CRITICALITY ignore EXTENSION RSRVCC-Operation-Possible PRESENCE optional }| +-- Extension for Release 11 to inidcate the last E-UTRAN PLMN Identity -- + { ID id-LastE-UTRANPLMNIdentity CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional }| + { ID id-PowerSavingIndicator CRITICALITY ignore EXTENSION PowerSavingIndicator PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- CN INVOKE TRACE ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- CN Invoke Trace +-- +-- ************************************************************** + +CN-InvokeTrace ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {CN-InvokeTraceIEs} }, + protocolExtensions ProtocolExtensionContainer { {CN-InvokeTraceExtensions} } OPTIONAL, + ... +} + +CN-InvokeTraceIEs RANAP-PROTOCOL-IES ::= { + { ID id-TraceType CRITICALITY ignore TYPE TraceType PRESENCE optional } | + -- This information is mandatory for GERAN Iu Mode, not applicable to UTRAN -- + { ID id-TraceReference CRITICALITY ignore TYPE TraceReference PRESENCE mandatory } | + { ID id-TriggerID CRITICALITY ignore TYPE TriggerID PRESENCE optional } | + -- This information is mandatory for GERAN Iu Mode, not applicable to UTRAN -- + { ID id-UE-ID CRITICALITY ignore TYPE UE-ID PRESENCE optional } | + -- This information is mandatory for UTRAN, optional for GERAN Iu mode -- + { ID id-OMC-ID CRITICALITY ignore TYPE OMC-ID PRESENCE optional }, + -- This information is mandatory for GERAN Iu Mode, not applicable to UTRAN -- + ... +} + +CN-InvokeTraceExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 6 to enable signalling based activation for Subscriber and Equipment Trace over Iu interface -- + { ID id-TracePropagationParameters CRITICALITY ignore EXTENSION TracePropagationParameters PRESENCE optional}| +-- Extension for Release 10 to support MDT-- + { ID id-MDT-Configuration CRITICALITY ignore EXTENSION MDT-Configuration PRESENCE optional}| +-- Extension for Release 10 to support MDT-- + { ID id-Trace-Collection-Entity-IP-Addess CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional}| +-- Extension for Release 14 to support QoE function -- + {ID id-UE-Application-Layer-Measurement-Configuration CRITICALITY ignore EXTENSION UE-Application-Layer-Measurement-Configuration PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- CN DEACTIVATE TRACE ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- CN Deactivate Trace +-- +-- ************************************************************** + +CN-DeactivateTrace ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {CN-DeactivateTraceIEs} }, + protocolExtensions ProtocolExtensionContainer { {CN-DeactivateTraceExtensions} } OPTIONAL, + ... +} + +CN-DeactivateTraceIEs RANAP-PROTOCOL-IES ::= { + { ID id-TraceReference CRITICALITY ignore TYPE TraceReference PRESENCE mandatory } | + { ID id-TriggerID CRITICALITY ignore TYPE TriggerID PRESENCE optional }, + -- This information is optional for GERAN Iu Mode, not applicable to UTRAN -- + ... +} + +CN-DeactivateTraceExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- LOCATION REPORTING CONTROL ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Location Reporting Control +-- +-- ************************************************************** + +LocationReportingControl ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {LocationReportingControlIEs} }, + protocolExtensions ProtocolExtensionContainer { {LocationReportingControlExtensions} } OPTIONAL, + ... +} + +LocationReportingControlIEs RANAP-PROTOCOL-IES ::= { + { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE mandatory }, + ... +} + +LocationReportingControlExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 4 to enhance the location request over Iu -- + { ID id-VerticalAccuracyCode CRITICALITY ignore EXTENSION VerticalAccuracyCode PRESENCE optional } | +-- Extension for Release 4 to enhance the location request over Iu -- + { ID id-ResponseTime CRITICALITY ignore EXTENSION ResponseTime PRESENCE optional } | +-- Extension for Release 4 to enhance the location request over Iu -- + { ID id-PositioningPriority CRITICALITY ignore EXTENSION PositioningPriority PRESENCE optional } | +-- Extension for Release 4 to enhance the location request over Iu -- + { ID id-ClientType CRITICALITY ignore EXTENSION ClientType PRESENCE optional } | +-- Extension for Release 7 to allow the request of velocity over Iu -- + { ID id-IncludeVelocity CRITICALITY ignore EXTENSION IncludeVelocity PRESENCE optional } | +-- Extension for Release 7 to allow periodic reporting over Iu -- + { ID id-PeriodicLocationInfo CRITICALITY ignore EXTENSION PeriodicLocationInfo PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- LOCATION REPORT ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Location Report +-- +-- ************************************************************** + +LocationReport ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {LocationReportIEs} }, + protocolExtensions ProtocolExtensionContainer { {LocationReportExtensions} } OPTIONAL, + ... +} + +LocationReportIEs RANAP-PROTOCOL-IES ::= { + { ID id-AreaIdentity CRITICALITY ignore TYPE AreaIdentity PRESENCE optional } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } | + { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE optional } , + ... +} + +LocationReportExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 4 to enable report of Last Known Service Area with its Age over Iu -- + { ID id-LastKnownServiceArea CRITICALITY ignore EXTENSION LastKnownServiceArea PRESENCE optional} | +-- Extension for Release 5 to pass the positioning methods that have been used -- + { ID id-PositionData CRITICALITY ignore EXTENSION PositionData PRESENCE optional}| +-- Extension for Release 5 to pass the positioning methods that have been used for GERAN Iu mode -- + { ID id-PositionDataSpecificToGERANIuMode CRITICALITY ignore EXTENSION PositionDataSpecificToGERANIuMode PRESENCE optional}| + -- This extension is optional for GERAN Iu mode only, not applicable for UTRAN -- +-- Extension for Release 6 to indicate whether the returned position estimate satisfies the requested accuracy or not -- + { ID id-AccuracyFulfilmentIndicator CRITICALITY ignore EXTENSION AccuracyFulfilmentIndicator PRESENCE optional}| +-- Extension for Release 7 to provide a velocity estimate -- + { ID id-VelocityEstimate CRITICALITY ignore EXTENSION VelocityEstimate PRESENCE optional}| +-- Extension for Release 13 to provide a barometric pressure -- + { ID id-BarometricPressure CRITICALITY ignore EXTENSION BarometricPressure PRESENCE optional}| +-- Extension for Release 13 to provide a civic address -- + { ID id-CivicAddress CRITICALITY ignore EXTENSION CivicAddress PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- INITIAL UE MESSAGE ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Initial UE Message +-- +-- ************************************************************** + +InitialUE-Message ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {InitialUE-MessageIEs} }, + protocolExtensions ProtocolExtensionContainer { {InitialUE-MessageExtensions} } OPTIONAL, + ... +} + +InitialUE-MessageIEs RANAP-PROTOCOL-IES ::= { + { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-LAI CRITICALITY ignore TYPE LAI PRESENCE mandatory } | + { ID id-RAC CRITICALITY ignore TYPE RAC PRESENCE conditional + -- This IE shall be present if the CN Domain Indicator IE is set to "PS domain" -- } | + { ID id-SAI CRITICALITY ignore TYPE SAI PRESENCE mandatory } | + { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory } | + { ID id-IuSigConId CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE mandatory } | + { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory }, + ... +} + +InitialUE-MessageExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 5 to enable GERAN support over Iu-cs -- + { ID id-GERAN-Classmark CRITICALITY ignore EXTENSION GERAN-Classmark PRESENCE optional}| +-- Extension for Release 6 to convey the selected PLMN id in shared networks -- + { ID id-SelectedPLMN-ID CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional}| +-- Extension for Release 6 to enable rerouting in MOCN configuration for network sharing non-supporting UEs -- + { ID id-PermanentNAS-UE-ID CRITICALITY ignore EXTENSION PermanentNAS-UE-ID PRESENCE optional}| +-- Extension for Release 6 to enable rerouting in MOCN configuration for network sharing non-supporting UEs -- + { ID id-NAS-SequenceNumber CRITICALITY ignore EXTENSION NAS-SequenceNumber PRESENCE optional}| +-- Extension for Release 6 to indicate rerouting in MOCN configuration for network sharing non-supporting UEs -- + { ID id-RedirectAttemptFlag CRITICALITY ignore EXTENSION RedirectAttemptFlag PRESENCE optional}| +-- Extension for Release 7 to indicate extended RNC-ID -- + { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional}| +-- Extension for Release 8 to support CSG -- + { ID id-CSG-Id CRITICALITY reject EXTENSION CSG-Id PRESENCE optional}| +-- Extension for Release 9 to allow communication of the cell access mode -- + { ID id-Cell-Access-Mode CRITICALITY reject EXTENSION Cell-Access-Mode PRESENCE optional}| +-- Extension for Release 10 to support LIPA -- + { ID id-LGW-TransportLayerAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional}| +-- Extension for Release 9 to enable the CN to handle potential UE NAS QoS issues related to higher bitrates -- + { ID id-HigherBitratesThan16MbpsFlag CRITICALITY ignore EXTENSION HigherBitratesThan16MbpsFlag PRESENCE optional}| +-- Extension for Release 11 to support BBAI -- + { ID id-Tunnel-Information-for-BBF CRITICALITY ignore EXTENSION TunnelInformation PRESENCE optional}| +-- Extension for Release 12 to support SIPTO@LN with collocated L-GW-- + { ID id-SIPTO-LGW-TransportLayerAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional}| +-- Extension for Release 12 to support SIPTO@LN Stand-Alone -- + { ID id-LHN-ID CRITICALITY ignore EXTENSION LHN-ID PRESENCE optional}| +-- Extension for Release 13 to support DCN -- + { ID id-SGSN-Group-Identity CRITICALITY ignore EXTENSION SGSN-Group-Identity PRESENCE optional}| + { ID id-UE-Usage-Type CRITICALITY ignore EXTENSION UE-Usage-Type PRESENCE optional}| + { ID id-DCN-ID CRITICALITY ignore EXTENSION DCN-ID PRESENCE optional}, + + ... +} + +-- ************************************************************** +-- +-- DIRECT TRANSFER ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Direct Transfer +-- +-- ************************************************************** + +DirectTransfer ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {DirectTransferIEs} }, + protocolExtensions ProtocolExtensionContainer { {DirectTransferExtensions} } OPTIONAL, + ... +} + +DirectTransferIEs RANAP-PROTOCOL-IES ::= { + { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory}| + { ID id-LAI CRITICALITY ignore TYPE LAI PRESENCE optional}| + { ID id-RAC CRITICALITY ignore TYPE RAC PRESENCE optional}| + { ID id-SAI CRITICALITY ignore TYPE SAI PRESENCE optional}| + { ID id-SAPI CRITICALITY ignore TYPE SAPI PRESENCE optional}, + ... +} + +DirectTransferExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 6 to enable rerouting in MOCN configuration for network sharing non-supporting UEs -- + { ID id-RedirectionIndication CRITICALITY ignore EXTENSION RedirectionIndication PRESENCE optional}| +-- Extension for Release 6 to indicate the MOCN rerouting is completed -- + { ID id-RedirectionCompleted CRITICALITY ignore EXTENSION RedirectionCompleted PRESENCE optional}| +-- Extension for Release 8 to indicate the Subscriber Profile ID for RAT/Frequency Selection Priority -- + { ID id-SubscriberProfileIDforRFP CRITICALITY ignore EXTENSION SubscriberProfileIDforRFP PRESENCE optional}| +-- Extension for Release 10 to support LIPA -- + { ID id-LGW-TransportLayerAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional}| +-- Extension for Release 12 to support SIPTO@LN with collocated L-GW -- + { ID id-SIPTO-LGW-TransportLayerAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional}| +-- Extension for Release 12 to support SIPTO@LN Stand-Alone -- + { ID id-LHN-ID CRITICALITY ignore EXTENSION LHN-ID PRESENCE optional}, + ... +} + +RedirectionIndication ::= ProtocolIE-Container { {RedirectionIndication-IEs} } + +RedirectionIndication-IEs RANAP-PROTOCOL-IES ::= { + { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory}| + { ID id-RejectCauseValue CRITICALITY ignore TYPE RejectCauseValue PRESENCE mandatory}| + { ID id-NAS-SequenceNumber CRITICALITY ignore TYPE NAS-SequenceNumber PRESENCE optional}| + { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE optional}| + { ID id-Additional-CSPS-coordination-information CRITICALITY reject TYPE Additional-CSPS-coordination-information PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- OVERLOAD CONTROL ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Overload +-- +-- ************************************************************** + +Overload ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {OverloadIEs} }, + protocolExtensions ProtocolExtensionContainer { {OverloadExtensions} } OPTIONAL, + ... +} + +OverloadIEs RANAP-PROTOCOL-IES ::= { + { ID id-NumberOfSteps CRITICALITY ignore TYPE NumberOfSteps PRESENCE optional } | + { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional }, + ... +} + +OverloadExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 99 to enable the indication to the RNC which CN domain is suffering the signalling traffic overload -- + { ID id-CN-DomainIndicator CRITICALITY ignore EXTENSION CN-DomainIndicator PRESENCE optional} | +-- Extension for Release 5 to enable NNSF -- + { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional} | +-- Extension for Release 7 to indicate extended RNC-ID -- + { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional} | +-- Extension for Release 10 to support Low Priority overload -- + { ID id-Priority-Class-Indicator CRITICALITY ignore EXTENSION Priority-Class-Indicator PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- ERROR INDICATION ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Error Indication +-- +-- ************************************************************** + +ErrorIndication ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {ErrorIndicationIEs} }, + protocolExtensions ProtocolExtensionContainer { {ErrorIndicationExtensions} } OPTIONAL, + ... +} + +ErrorIndicationIEs RANAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } | + { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE optional } | + { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional }, + ... +} + +ErrorIndicationExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 4 -- + { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional}| +-- Extension for Release 7 to indicate extended RNC-ID -- + { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- SRNS DATA FORWARD ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- SRNS Data Forward Command +-- +-- ************************************************************** + +SRNS-DataForwardCommand ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {SRNS-DataForwardCommandIEs} }, + protocolExtensions ProtocolExtensionContainer { {SRNS-DataForwardCommandExtensions} } OPTIONAL, + ... +} + +SRNS-DataForwardCommandIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-DataForwardingList CRITICALITY ignore TYPE RAB-DataForwardingList PRESENCE optional }, + ... +} + +SRNS-DataForwardCommandExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- FORWARD SRNS CONTEXT ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Forward SRNS Context +-- +-- ************************************************************** + +ForwardSRNS-Context ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {ForwardSRNS-ContextIEs} }, + protocolExtensions ProtocolExtensionContainer { {ForwardSRNS-ContextExtensions} } OPTIONAL, + ... +} + +ForwardSRNS-ContextIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-ContextList CRITICALITY ignore TYPE RAB-ContextList PRESENCE mandatory }, + ... +} + +ForwardSRNS-ContextExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 5 to enable relocation of Source RNC PDCP context info -- + { ID id-SourceRNC-PDCP-context-info CRITICALITY ignore EXTENSION RRC-Container PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- RAB ASSIGNMENT ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- RAB Assignment Request +-- +-- ************************************************************** + +RAB-AssignmentRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RAB-AssignmentRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {RAB-AssignmentRequestExtensions} } OPTIONAL, + ... +} + +RAB-AssignmentRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-SetupOrModifyList CRITICALITY ignore TYPE RAB-SetupOrModifyList PRESENCE optional } | + { ID id-RAB-ReleaseList CRITICALITY ignore TYPE RAB-ReleaseList PRESENCE optional }, + ... +} + +RAB-SetupOrModifyList ::= RAB-IE-ContainerPairList { {RAB-SetupOrModifyItem-IEs} } + +RAB-SetupOrModifyItem-IEs RANAP-PROTOCOL-IES-PAIR ::= { + { ID id-RAB-SetupOrModifyItem FIRST CRITICALITY reject FIRST TYPE RAB-SetupOrModifyItemFirst + SECOND CRITICALITY ignore SECOND TYPE RAB-SetupOrModifyItemSecond + PRESENCE mandatory }, + ... +} + +RAB-SetupOrModifyItemFirst ::= SEQUENCE { + rAB-ID RAB-ID, + nAS-SynchronisationIndicator NAS-SynchronisationIndicator OPTIONAL, + rAB-Parameters RAB-Parameters OPTIONAL, + userPlaneInformation UserPlaneInformation OPTIONAL, + transportLayerInformation TransportLayerInformation OPTIONAL, + service-Handover Service-Handover OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {RAB-SetupOrModifyItemFirst-ExtIEs} } OPTIONAL, + ... +} + +TransportLayerInformation ::= SEQUENCE { + transportLayerAddress TransportLayerAddress, + iuTransportAssociation IuTransportAssociation, + iE-Extensions ProtocolExtensionContainer { {TransportLayerInformation-ExtIEs} } OPTIONAL, + ... +} + +TransportLayerInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RAB-SetupOrModifyItemFirst-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 8 to enable handover restriction to E-UTRAN -- + { ID id-E-UTRAN-Service-Handover CRITICALITY ignore EXTENSION E-UTRAN-Service-Handover PRESENCE optional}| +-- Extension for Release 10 to support LIPA -- + { ID id-Correlation-ID CRITICALITY ignore EXTENSION Correlation-ID PRESENCE optional}| +-- Extension for Release 12 to support SIPTO@LN with collocated L-GW -- + { ID id-SIPTO-Correlation-ID CRITICALITY ignore EXTENSION Correlation-ID PRESENCE optional}, + ... +} + +RAB-SetupOrModifyItemSecond ::= SEQUENCE { + pDP-TypeInformation PDP-TypeInformation OPTIONAL, + dataVolumeReportingIndication DataVolumeReportingIndication OPTIONAL, + dl-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL, + ul-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL, + dl-N-PDU-SequenceNumber DL-N-PDU-SequenceNumber OPTIONAL, + ul-N-PDU-SequenceNumber UL-N-PDU-SequenceNumber OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {RAB-SetupOrModifyItemSecond-ExtIEs} } OPTIONAL, + ... +} + +RAB-SetupOrModifyItemSecond-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 4 to enable RAB Quality of Service negotiation over Iu -- + { ID id-Alt-RAB-Parameters CRITICALITY ignore EXTENSION Alt-RAB-Parameters PRESENCE optional}| +-- Extension for Release 5 to enable GERAN support over Iu-cs -- + { ID id-GERAN-BSC-Container CRITICALITY ignore EXTENSION GERAN-BSC-Container PRESENCE optional}| +-- Extension for Release Release 9 to enable a new value -- + { ID id-PDP-TypeInformation-extension CRITICALITY ignore EXTENSION PDP-TypeInformation-extension PRESENCE optional}| +-- Extension for Release 10 to enable Offload at Iu-ps for UTRAN -- + { ID id-Offload-RAB-Parameters CRITICALITY ignore EXTENSION Offload-RAB-Parameters PRESENCE optional}, + ... +} + +RAB-AssignmentRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { + { ID id-UE-AggregateMaximumBitRate CRITICALITY ignore EXTENSION UE-AggregateMaximumBitRate PRESENCE optional}| +-- Extension for Release 10 to enable Offload at Iu-ps for UTRAN -- + { ID id-MSISDN CRITICALITY ignore EXTENSION MSISDN PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- RAB Assignment Response +-- +-- ************************************************************** + +RAB-AssignmentResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RAB-AssignmentResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { {RAB-AssignmentResponseExtensions} } OPTIONAL, + ... +} + +RAB-AssignmentResponseIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-SetupOrModifiedList CRITICALITY ignore TYPE RAB-SetupOrModifiedList PRESENCE optional } | + { ID id-RAB-ReleasedList CRITICALITY ignore TYPE RAB-ReleasedList PRESENCE optional } | + + { ID id-RAB-QueuedList CRITICALITY ignore TYPE RAB-QueuedList PRESENCE optional } | + { ID id-RAB-FailedList CRITICALITY ignore TYPE RAB-FailedList PRESENCE optional } | + { ID id-RAB-ReleaseFailedList CRITICALITY ignore TYPE RAB-ReleaseFailedList PRESENCE optional } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +RAB-SetupOrModifiedList ::= RAB-IE-ContainerList { {RAB-SetupOrModifiedItemIEs} } + +RAB-SetupOrModifiedItemIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-SetupOrModifiedItem CRITICALITY ignore TYPE RAB-SetupOrModifiedItem PRESENCE mandatory }, + ... +} + +RAB-SetupOrModifiedItem ::= SEQUENCE { + rAB-ID RAB-ID, + transportLayerAddress TransportLayerAddress OPTIONAL, + iuTransportAssociation IuTransportAssociation OPTIONAL, + dl-dataVolumes DataVolumeList OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {RAB-SetupOrModifiedItem-ExtIEs} } OPTIONAL, + ... +} + +RAB-SetupOrModifiedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 4 to enable RAB Quality of Service negotiation over Iu -- + { ID id-Ass-RAB-Parameters CRITICALITY ignore EXTENSION Ass-RAB-Parameters PRESENCE optional }, + ... +} + +RAB-ReleasedList ::= RAB-IE-ContainerList { {RAB-ReleasedItemIEs} } + +RAB-ReleasedItemIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-ReleasedItem CRITICALITY ignore TYPE RAB-ReleasedItem PRESENCE mandatory }, + ... +} + +RAB-ReleasedItem ::= SEQUENCE { + rAB-ID RAB-ID, + dl-dataVolumes DataVolumeList OPTIONAL, + dL-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL, + uL-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {RAB-ReleasedItem-ExtIEs} } OPTIONAL, + ... +} + +RAB-ReleasedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +DataVolumeList ::= SEQUENCE (SIZE (1..maxNrOfVol)) OF + SEQUENCE { + dl-UnsuccessfullyTransmittedDataVolume UnsuccessfullyTransmittedDataVolume, + dataVolumeReference DataVolumeReference OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {DataVolumeList-ExtIEs} } OPTIONAL, + ... + } + +DataVolumeList-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RAB-QueuedList ::= RAB-IE-ContainerList { {RAB-QueuedItemIEs} } + +RAB-QueuedItemIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-QueuedItem CRITICALITY ignore TYPE RAB-QueuedItem PRESENCE mandatory }, + ... +} + +RAB-QueuedItem ::= SEQUENCE { + rAB-ID RAB-ID, + iE-Extensions ProtocolExtensionContainer { {RAB-QueuedItem-ExtIEs} } OPTIONAL, + ... +} + +RAB-QueuedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RAB-ReleaseFailedList ::= RAB-FailedList + +RAB-AssignmentResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 5 to enable GERAN support over Iu-cs -- + { ID id-GERAN-Iumode-RAB-FailedList-RABAssgntResponse CRITICALITY ignore EXTENSION GERAN-Iumode-RAB-FailedList-RABAssgntResponse PRESENCE optional} , + ... +} + +GERAN-Iumode-RAB-FailedList-RABAssgntResponse ::= RAB-IE-ContainerList { {GERAN-Iumode-RAB-Failed-RABAssgntResponse-ItemIEs} } + +GERAN-Iumode-RAB-Failed-RABAssgntResponse-ItemIEs RANAP-PROTOCOL-IES ::= { + { ID id-GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item CRITICALITY ignore TYPE GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item PRESENCE mandatory }, + ... +} + +GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item ::= SEQUENCE { + rAB-ID RAB-ID, + cause Cause, + gERAN-Classmark GERAN-Classmark OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item-ExtIEs} } OPTIONAL, + ... +} + +GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- PRIVATE MESSAGE +-- +-- ************************************************************** + +PrivateMessage ::= SEQUENCE { + privateIEs PrivateIE-Container { {PrivateMessage-IEs } }, + ... +} + +PrivateMessage-IEs RANAP-PRIVATE-IES ::= { + ... +} + +-- ************************************************************** +-- +-- RANAP RELOCATION INFORMATION ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +RANAP-RelocationInformation ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RANAP-RelocationInformationIEs} }, + protocolExtensions ProtocolExtensionContainer { {RANAP-RelocationInformationExtensions} } OPTIONAL, + ... +} + +RANAP-RelocationInformationIEs RANAP-PROTOCOL-IES ::= { + { ID id-DirectTransferInformationList-RANAP-RelocInf + CRITICALITY ignore TYPE DirectTransferInformationList-RANAP-RelocInf + PRESENCE optional } | + { ID id-RAB-ContextList-RANAP-RelocInf CRITICALITY ignore TYPE RAB-ContextList-RANAP-RelocInf PRESENCE optional }, + ... +} + +DirectTransferInformationList-RANAP-RelocInf ::= DirectTransfer-IE-ContainerList { {DirectTransferInformationItemIEs-RANAP-RelocInf} } + +DirectTransferInformationItemIEs-RANAP-RelocInf RANAP-PROTOCOL-IES ::= { + { ID id-DirectTransferInformationItem-RANAP-RelocInf + CRITICALITY ignore TYPE DirectTransferInformationItem-RANAP-RelocInf + PRESENCE mandatory }, + ... +} + +DirectTransferInformationItem-RANAP-RelocInf ::= SEQUENCE { + nAS-PDU NAS-PDU, + sAPI SAPI, + cN-DomainIndicator CN-DomainIndicator, + iE-Extensions ProtocolExtensionContainer { {RANAP-DirectTransferInformationItem-ExtIEs-RANAP-RelocInf} } OPTIONAL, + ... +} + +RANAP-DirectTransferInformationItem-ExtIEs-RANAP-RelocInf RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RAB-ContextList-RANAP-RelocInf ::= RAB-IE-ContainerList { {RAB-ContextItemIEs-RANAP-RelocInf} } + +RAB-ContextItemIEs-RANAP-RelocInf RANAP-PROTOCOL-IES ::= { + { ID id-RAB-ContextItem-RANAP-RelocInf CRITICALITY ignore TYPE RAB-ContextItem-RANAP-RelocInf PRESENCE mandatory }, + ... +} + +RAB-ContextItem-RANAP-RelocInf ::= SEQUENCE { + rAB-ID RAB-ID, + dl-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL, + ul-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL, + dl-N-PDU-SequenceNumber DL-N-PDU-SequenceNumber OPTIONAL, + ul-N-PDU-SequenceNumber UL-N-PDU-SequenceNumber OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {RAB-ContextItem-ExtIEs-RANAP-RelocInf} } OPTIONAL, + ... +} + +RAB-ContextItem-ExtIEs-RANAP-RelocInf RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RANAP-RelocationInformationExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 5 to enable relocation of Source RNC PDCP context info -- + { ID id-SourceRNC-PDCP-context-info CRITICALITY ignore EXTENSION RRC-Container PRESENCE optional} | +-- Extension for Release 10 to enable RNSAP Relocation -- + { ID id-RNSAPRelocationParameters CRITICALITY reject EXTENSION RNSAPRelocationParameters PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- RANAP ENHANCED RELOCATION INFORMATION ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- RANAP Enhanced Relocation Information Request +-- +-- ************************************************************** + +RANAP-EnhancedRelocationInformationRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RANAP-EnhancedRelocationInformationRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {RANAP-EnhancedRelocationInformationRequestExtensions} } OPTIONAL, + ... +} + +RANAP-EnhancedRelocationInformationRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-Source-ToTarget-TransparentContainer + CRITICALITY reject TYPE SourceRNC-ToTargetRNC-TransparentContainer PRESENCE mandatory } | + { ID id-OldIuSigConIdCS CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE optional } | + { ID id-GlobalCN-IDCS CRITICALITY reject TYPE GlobalCN-ID PRESENCE optional} | + { ID id-OldIuSigConIdPS CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE optional } | + { ID id-GlobalCN-IDPS CRITICALITY reject TYPE GlobalCN-ID PRESENCE optional} | + { ID id-RAB-SetupList-EnhRelocInfoReq CRITICALITY reject TYPE RAB-SetupList-EnhRelocInfoReq PRESENCE optional } | + { ID id-SNA-Access-Information CRITICALITY ignore TYPE SNA-Access-Information PRESENCE optional} | + { ID id-UESBI-Iu CRITICALITY ignore TYPE UESBI-Iu PRESENCE optional}| + { ID id-SelectedPLMN-ID CRITICALITY ignore TYPE PLMNidentity PRESENCE optional }| + { ID id-CNMBMSLinkingInformation CRITICALITY ignore TYPE CNMBMSLinkingInformation PRESENCE optional}, + ... +} + +RAB-SetupList-EnhRelocInfoReq ::= RAB-IE-ContainerList { { RAB-SetupItem-EnhRelocInfoReq-IEs} } + +RAB-SetupItem-EnhRelocInfoReq-IEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-SetupItem-EnhRelocInfoReq CRITICALITY reject TYPE RAB-SetupItem-EnhRelocInfoReq PRESENCE mandatory }, + ... +} + +RAB-SetupItem-EnhRelocInfoReq ::= SEQUENCE { + rAB-ID RAB-ID, + cN-DomainIndicator CN-DomainIndicator, + rAB-Parameters RAB-Parameters, + dataVolumeReportingIndication DataVolumeReportingIndication OPTIONAL + -- This IE shall be present if the CN domain indicator IE is set to "PS domain" --, + pDP-TypeInformation PDP-TypeInformation OPTIONAL + -- This IE shall be present if the CN domain indicator IE is set to "PS domain" --, + userPlaneInformation UserPlaneInformation, + dataForwardingInformation TNLInformationEnhRelInfoReq OPTIONAL, + sourceSideIuULTNLInfo TNLInformationEnhRelInfoReq OPTIONAL, + + service-Handover Service-Handover OPTIONAL, + alt-RAB-Parameters Alt-RAB-Parameters OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { RAB-SetupItem-EnhRelocInfoReq-ExtIEs} } OPTIONAL, + ... +} + +RAB-SetupItem-EnhRelocInfoReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 8 to enable handover restriction to E-UTRAN -- + { ID id-E-UTRAN-Service-Handover CRITICALITY ignore EXTENSION E-UTRAN-Service-Handover PRESENCE optional }| +-- Extension for Release Release 9 to enable a new value -- + { ID id-PDP-TypeInformation-extension CRITICALITY ignore EXTENSION PDP-TypeInformation-extension PRESENCE optional }, + ... +} + +TNLInformationEnhRelInfoReq ::=SEQUENCE{ + transportLayerAddress TransportLayerAddress, + iuTransportAssociation IuTransportAssociation, + iE-Extensions ProtocolExtensionContainer { { TNLInformationEnhRelInfoReq-ExtIEs} } OPTIONAL, + ... +} + +TNLInformationEnhRelInfoReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + + +RANAP-EnhancedRelocationInformationRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { + { ID id-IntegrityProtectionInformation CRITICALITY ignore EXTENSION IntegrityProtectionInformation PRESENCE optional} | + { ID id-EncryptionInformation CRITICALITY ignore EXTENSION EncryptionInformation PRESENCE optional} | + { ID id-UE-AggregateMaximumBitRate CRITICALITY ignore EXTENSION UE-AggregateMaximumBitRate PRESENCE optional} | +-- Extension for Release 10 to enable RNSAP Relocation -- + { ID id-RABParametersList CRITICALITY reject EXTENSION RABParametersList PRESENCE optional} | + { ID id-CSG-Id CRITICALITY reject EXTENSION CSG-Id PRESENCE optional} | + { ID id-CSG-Membership-Status CRITICALITY reject EXTENSION CSG-Membership-Status PRESENCE optional} | +-- Extension for Release 11 to support rSRVCC in case of network sharing – + { ID id-AnchorPLMN-ID CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- RANAP Enhanced Relocation Information Response +-- +-- ************************************************************** + +RANAP-EnhancedRelocationInformationResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RANAP-EnhancedRelocationInformationResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { {RANAP-EnhancedRelocationInformationResponseExtensions} } OPTIONAL, + ... +} + +RANAP-EnhancedRelocationInformationResponseIEs RANAP-PROTOCOL-IES ::= { + { ID id-Target-ToSource-TransparentContainer + CRITICALITY ignore TYPE TargetRNC-ToSourceRNC-TransparentContainer PRESENCE optional } | + { ID id-RAB-SetupList-EnhRelocInfoRes CRITICALITY ignore TYPE RAB-SetupList-EnhRelocInfoRes PRESENCE optional} | + { ID id-RAB-FailedList-EnhRelocInfoRes CRITICALITY ignore TYPE RAB-FailedList-EnhRelocInfoRes PRESENCE optional }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +RAB-SetupList-EnhRelocInfoRes ::= RAB-IE-ContainerList { { RAB-SetupItem-EnhRelocInfoRes-IEs} } + +RAB-SetupItem-EnhRelocInfoRes-IEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-SetupItem-EnhRelocInfoRes CRITICALITY reject TYPE RAB-SetupItem-EnhRelocInfoRes PRESENCE mandatory }, + ... +} + +RAB-SetupItem-EnhRelocInfoRes ::= SEQUENCE { + cN-DomainIndicator CN-DomainIndicator, + rAB-ID RAB-ID, + dataForwardingInformation TNLInformationEnhRelInfoRes OPTIONAL, + ass-RAB-Parameters Ass-RAB-Parameters OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { RAB-SetupItem-EnhRelocInfoRes-ExtIEs} } OPTIONAL, + ... +} + +RAB-SetupItem-EnhRelocInfoRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RAB-FailedList-EnhRelocInfoRes ::= RAB-IE-ContainerList { { RAB-FailedItem-EnhRelocInfoRes-IEs} } + +RAB-FailedItem-EnhRelocInfoRes-IEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-FailedItem-EnhRelocInfoRes CRITICALITY reject TYPE RAB-FailedItem-EnhRelocInfoRes PRESENCE mandatory }, + ... +} + +RAB-FailedItem-EnhRelocInfoRes ::= SEQUENCE { + cN-DomainIndicator CN-DomainIndicator, + rAB-ID RAB-ID, + cause Cause, + iE-Extensions ProtocolExtensionContainer { { RAB-FailedItem-EnhRelocInfoRes-ExtIEs} } OPTIONAL, + ... +} + +RAB-FailedItem-EnhRelocInfoRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} +TNLInformationEnhRelInfoRes ::=SEQUENCE{ + dl-forwardingTransportLayerAddress TransportLayerAddress, + dl-forwardingTransportAssociation IuTransportAssociation, + iE-Extensions ProtocolExtensionContainer { { TNLInformationEnhRelInfoRes-ExtIEs} } OPTIONAL, + ... +} + +TNLInformationEnhRelInfoRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RANAP-EnhancedRelocationInformationResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- RAB MODIFICATION REQUEST ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- RAB Modify Request +-- +-- ************************************************************** + +RAB-ModifyRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RAB-ModifyRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {RAB-ModifyRequestExtensions} } OPTIONAL, + ... +} + +RAB-ModifyRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-ModifyList CRITICALITY ignore TYPE RAB-ModifyList PRESENCE mandatory}, + ... +} + +RAB-ModifyList ::= RAB-IE-ContainerList { {RAB-ModifyItemIEs} } + +RAB-ModifyItemIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-ModifyItem CRITICALITY ignore TYPE RAB-ModifyItem PRESENCE mandatory }, + ... +} + +RAB-ModifyItem ::= SEQUENCE { + rAB-ID RAB-ID, + requested-RAB-Parameter-Values Requested-RAB-Parameter-Values, + iE-Extensions ProtocolExtensionContainer { {RAB-ModifyItem-ExtIEs} } OPTIONAL, + ... +} + +RAB-ModifyItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RAB-ModifyRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- LOCATION RELATED DATA ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Location Related Data Request +-- +-- ************************************************************** + +LocationRelatedDataRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {LocationRelatedDataRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {LocationRelatedDataRequestExtensions} } OPTIONAL, + ... +} + +LocationRelatedDataRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-LocationRelatedDataRequestType CRITICALITY reject TYPE LocationRelatedDataRequestType PRESENCE optional }, + -- This IE is mandatory for UTRAN, optional for GERAN Iu Mode –- + ... +} + +LocationRelatedDataRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 5 to enable LCS support for GERAN Iu mode -- + { ID id-LocationRelatedDataRequestTypeSpecificToGERANIuMode CRITICALITY reject EXTENSION LocationRelatedDataRequestTypeSpecificToGERANIuMode PRESENCE optional }| + -- The previous extension is optional for GERAN Iu Mode only, not applicable for UTRAN -- + -- Extension for Release 7 to request GANSS Assistance Data. This IE shall be present if the Requested Location Related Data Type IE is set to + -- ‘Dedicated Assistance Data for Assisted GANSS’ or `Dedicated Assistance Data for Assisted GPS and GANSS’-- + { ID id-RequestedGANSSAssistanceData CRITICALITY reject EXTENSION RequestedGANSSAssistanceData PRESENCE conditional }, + ... +} + +-- ************************************************************** +-- +-- Location Related Data Response +-- +-- ************************************************************** + +LocationRelatedDataResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { LocationRelatedDataResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { { LocationRelatedDataResponseExtensions} } OPTIONAL, + ... +} + +LocationRelatedDataResponseIEs RANAP-PROTOCOL-IES ::= { + { ID id-BroadcastAssistanceDataDecipheringKeys CRITICALITY ignore TYPE BroadcastAssistanceDataDecipheringKeys PRESENCE optional }, + ... +} + +LocationRelatedDataResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for error handling + { ID id-CriticalityDiagnostics CRITICALITY ignore EXTENSION CriticalityDiagnostics PRESENCE optional }| + { ID id-BroadcastGANSSAssistanceDataDecipheringKeys CRITICALITY ignore EXTENSION BroadcastAssistanceDataDecipheringKeys PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- Location Related Data Failure +-- +-- ************************************************************** + +LocationRelatedDataFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { LocationRelatedDataFailureIEs} }, + protocolExtensions ProtocolExtensionContainer { { LocationRelatedDataFailureExtensions} } OPTIONAL, + ... +} + +LocationRelatedDataFailureIEs RANAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }, + ... +} + +LocationRelatedDataFailureExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for error handling + { ID id-CriticalityDiagnostics CRITICALITY ignore EXTENSION CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- INFORMATION TRANSFER ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Information Transfer Indication +-- +-- ************************************************************** + +InformationTransferIndication ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { InformationTransferIndicationIEs} }, + protocolExtensions ProtocolExtensionContainer { { InformationTransferIndicationExtensions} } OPTIONAL, + ... +} + +InformationTransferIndicationIEs RANAP-PROTOCOL-IES ::= { + { ID id-InformationTransferID CRITICALITY reject TYPE InformationTransferID PRESENCE mandatory } | + { ID id-ProvidedData CRITICALITY reject TYPE ProvidedData PRESENCE mandatory } | + { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-GlobalCN-ID CRITICALITY ignore TYPE GlobalCN-ID PRESENCE optional}, + ... +} + +InformationTransferIndicationExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Information Transfer Confirmation +-- +-- ************************************************************** + +InformationTransferConfirmation ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { InformationTransferConfirmationIEs} }, + protocolExtensions ProtocolExtensionContainer { { InformationTransferConfirmationExtensions} } OPTIONAL, + ... +} + +InformationTransferConfirmationIEs RANAP-PROTOCOL-IES ::= { + { ID id-InformationTransferID CRITICALITY ignore TYPE InformationTransferID PRESENCE mandatory } | + { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } | + { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory }, + ... +} + +InformationTransferConfirmationExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 7 to indicate extended RNC-ID -- + { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- Information Transfer Failure +-- +-- ************************************************************** + +InformationTransferFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { InformationTransferFailureIEs} }, + protocolExtensions ProtocolExtensionContainer { { InformationTransferFailureExtensions} } OPTIONAL, + ... +} + +InformationTransferFailureIEs RANAP-PROTOCOL-IES ::= { + { ID id-InformationTransferID CRITICALITY ignore TYPE InformationTransferID PRESENCE mandatory } | + { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } | + { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory }, + ... +} + +InformationTransferFailureExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 7 to indicate extended RNC-ID -- + { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- UE SPECIFIC INFORMATION ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- UE Specific Information Indication +-- +-- ************************************************************** + +UESpecificInformationIndication ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UESpecificInformationIndicationIEs} }, + protocolExtensions ProtocolExtensionContainer { {UESpecificInformationIndicationExtensions} } OPTIONAL, + ... +} + +UESpecificInformationIndicationIEs RANAP-PROTOCOL-IES ::= { + { ID id-UESBI-Iu CRITICALITY ignore TYPE UESBI-Iu PRESENCE optional }, + ... +} + +UESpecificInformationIndicationExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- DIRECT INFORMATION TRANSFER ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Direct Information Transfer +-- +-- ************************************************************** + +DirectInformationTransfer ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { DirectInformationTransferIEs} }, + protocolExtensions ProtocolExtensionContainer { { DirectInformationTransferExtensions} } OPTIONAL, + ... +} + +DirectInformationTransferIEs RANAP-PROTOCOL-IES ::= { + { ID id-InterSystemInformationTransferType CRITICALITY ignore TYPE InterSystemInformationTransferType PRESENCE optional } | + { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional } | + { ID id-GlobalCN-ID CRITICALITY ignore TYPE GlobalCN-ID PRESENCE optional }, + ... +} + +DirectInformationTransferExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 7 to indicate extended RNC-ID -- + { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- UPLINK INFORMATION EXCHANGE ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Uplink Information Exchange Request +-- +-- ************************************************************** + +UplinkInformationExchangeRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { UplinkInformationExchangeRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { { UplinkInformationExchangeRequestExtensions} } OPTIONAL, + ... +} + +UplinkInformationExchangeRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-InformationExchangeID CRITICALITY reject TYPE InformationExchangeID PRESENCE mandatory } | + { ID id-InformationExchangeType CRITICALITY reject TYPE InformationExchangeType PRESENCE mandatory } | + { ID id-InformationTransferType CRITICALITY reject TYPE InformationTransferType PRESENCE conditional + -- This IE shall be present if the Information Exchange Type IE is set to "transfer" -- } | + { ID id-InformationRequestType CRITICALITY reject TYPE InformationRequestType PRESENCE conditional + -- This IE shall be present if the Information Exchange Type IE is set to "request" -- } | + { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-GlobalRNC-ID CRITICALITY reject TYPE GlobalRNC-ID PRESENCE mandatory }, + ... +} + +UplinkInformationExchangeRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 7 to indicate extended RNC-ID -- + { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- Uplink Information Exchange Response +-- +-- ************************************************************** + +UplinkInformationExchangeResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { UplinkInformationExchangeResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { { UplinkInformationExchangeResponseExtensions} } OPTIONAL, + ... +} + +UplinkInformationExchangeResponseIEs RANAP-PROTOCOL-IES ::= { + { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory } | + { ID id-InformationRequested CRITICALITY ignore TYPE InformationRequested PRESENCE optional } | + { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-GlobalCN-ID CRITICALITY ignore TYPE GlobalCN-ID PRESENCE optional } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } , + ... +} + +UplinkInformationExchangeResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Uplink Information Exchange Failure +-- +-- ************************************************************** + +UplinkInformationExchangeFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { UplinkInformationExchangeFailureIEs} }, + protocolExtensions ProtocolExtensionContainer { { UplinkInformationExchangeFailureExtensions} } OPTIONAL, + ... +} + +UplinkInformationExchangeFailureIEs RANAP-PROTOCOL-IES ::= { + { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory } | + { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-GlobalCN-ID CRITICALITY ignore TYPE GlobalCN-ID PRESENCE optional } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } , + ... +} + +UplinkInformationExchangeFailureExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- MBMS SESSION START PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- MBMS Session Start +-- +-- ************************************************************** + +MBMSSessionStart ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { MBMSSessionStartIEs} }, + protocolExtensions ProtocolExtensionContainer { { MBMSSessionStartExtensions} } OPTIONAL, + ... +} + +MBMSSessionStartIEs RANAP-PROTOCOL-IES ::= { + { ID id-TMGI CRITICALITY reject TYPE TMGI PRESENCE mandatory } | + { ID id-MBMSSessionIdentity CRITICALITY ignore TYPE MBMSSessionIdentity PRESENCE optional } | + { ID id-MBMSBearerServiceType CRITICALITY reject TYPE MBMSBearerServiceType PRESENCE mandatory } | + { ID id-IuSigConId CRITICALITY reject TYPE IuSignallingConnectionIdentifier PRESENCE mandatory }| + { ID id-RAB-Parameters CRITICALITY reject TYPE RAB-Parameters PRESENCE mandatory } | + { ID id-PDP-TypeInformation CRITICALITY ignore TYPE PDP-TypeInformation PRESENCE optional } | + { ID id-MBMSSessionDuration CRITICALITY reject TYPE MBMSSessionDuration PRESENCE mandatory } | + { ID id-MBMSServiceArea CRITICALITY reject TYPE MBMSServiceArea PRESENCE mandatory } | + { ID id-FrequenceLayerConvergenceFlag CRITICALITY ignore TYPE FrequenceLayerConvergenceFlag PRESENCE optional } | + { ID id-RAListofIdleModeUEs CRITICALITY ignore TYPE RAListofIdleModeUEs PRESENCE optional } | + { ID id-GlobalCN-ID CRITICALITY reject TYPE GlobalCN-ID PRESENCE optional } | + { ID id-MBMSSessionRepetitionNumber CRITICALITY ignore TYPE MBMSSessionRepetitionNumber PRESENCE optional } | + { ID id-TimeToMBMSDataTransfer CRITICALITY reject TYPE TimeToMBMSDataTransfer PRESENCE mandatory }, + ... +} + +MBMSSessionStartExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 6 to enable MBMS counting in broadcast mode -- + { ID id-MBMSCountingInformation CRITICALITY ignore EXTENSION MBMSCountingInformation PRESENCE optional}| + { ID id-MBMSSynchronisationInformation CRITICALITY ignore EXTENSION MBMSSynchronisationInformation PRESENCE optional}| +-- Extension for Release Release 9 to enable a new value -- + { ID id-PDP-TypeInformation-extension CRITICALITY ignore EXTENSION PDP-TypeInformation-extension PRESENCE optional}| +-- Extension for Release 12 to support Session re-establishment -- + { ID id-Session-Re-establishment-Indicator CRITICALITY ignore EXTENSION Session-Re-establishment-Indicator PRESENCE optional}, + ... +} + +MBMSSynchronisationInformation ::= SEQUENCE { + mBMSHCIndicator MBMSHCIndicator, + iPMulticastAddress IPMulticastAddress, + gTPDLTEID GTP-TEI, + iE-Extensions ProtocolExtensionContainer { {MBMSSynchronisationInformation-ExtIEs} } OPTIONAL, + ... +} + +MBMSSynchronisationInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + { ID id-IP-Source-Address CRITICALITY reject EXTENSION IPMulticastAddress PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- MBMS Session Start Response +-- +-- ************************************************************** + +MBMSSessionStartResponse::= SEQUENCE { + protocolIEs ProtocolIE-Container { {MBMSSessionStartResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { {MBMSSessionStartResponseExtensions} } OPTIONAL, + ... +} + +MBMSSessionStartResponseIEs RANAP-PROTOCOL-IES ::= { + { ID id-TransportLayerInformation CRITICALITY ignore TYPE TransportLayerInformation PRESENCE optional } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } , + ... +} + +MBMSSessionStartResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- MBMS Session Start Failure +-- +-- ************************************************************** + +MBMSSessionStartFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { MBMSSessionStartFailureIEs} }, + protocolExtensions ProtocolExtensionContainer { { MBMSSessionStartFailureExtensions} } OPTIONAL, + ... +} + +MBMSSessionStartFailureIEs RANAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } , + ... +} + +MBMSSessionStartFailureExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- MBMS SESSION UPDATE PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- MBMS Session Update +-- +-- ************************************************************** + +MBMSSessionUpdate ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { MBMSSessionUpdateIEs} }, + protocolExtensions ProtocolExtensionContainer { { MBMSSessionUpdateExtensions} } OPTIONAL, + ... +} + +MBMSSessionUpdateIEs RANAP-PROTOCOL-IES ::= { + { ID id-SessionUpdateID CRITICALITY reject TYPE SessionUpdateID PRESENCE mandatory } | + { ID id-DeltaRAListofIdleModeUEs CRITICALITY reject TYPE DeltaRAListofIdleModeUEs PRESENCE mandatory }, + ... +} + +MBMSSessionUpdateExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- MBMS Session Update Response +-- +-- ************************************************************** + +MBMSSessionUpdateResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { MBMSSessionUpdateResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { { MBMSSessionUpdateResponseExtensions} } OPTIONAL, + ... +} + +MBMSSessionUpdateResponseIEs RANAP-PROTOCOL-IES ::= { + { ID id-SessionUpdateID CRITICALITY ignore TYPE SessionUpdateID PRESENCE mandatory } | + { ID id-TransportLayerInformation CRITICALITY ignore TYPE TransportLayerInformation PRESENCE optional } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } , + ... +} + +MBMSSessionUpdateResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- MBMS Session Update Failure +-- +-- ************************************************************** + +MBMSSessionUpdateFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { MBMSSessionUpdateFailureIEs} }, + protocolExtensions ProtocolExtensionContainer { { MBMSSessionUpdateFailureExtensions} } OPTIONAL, + ... +} + +MBMSSessionUpdateFailureIEs RANAP-PROTOCOL-IES ::= { + { ID id-SessionUpdateID CRITICALITY ignore TYPE SessionUpdateID PRESENCE mandatory } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } , + ... +} + +MBMSSessionUpdateFailureExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- MBMS SESSION STOP PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- MBMS Session Stop +-- +-- ************************************************************** + +MBMSSessionStop ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { MBMSSessionStopIEs} }, + protocolExtensions ProtocolExtensionContainer { { MBMSSessionStopExtensions} } OPTIONAL, + ... +} + +MBMSSessionStopIEs RANAP-PROTOCOL-IES ::= { + { ID id-MBMSCNDe-Registration CRITICALITY reject TYPE MBMSCNDe-Registration PRESENCE mandatory }, + ... +} + +MBMSSessionStopExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- MBMS Session Stop Response +-- +-- ************************************************************** + +MBMSSessionStopResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { MBMSSessionStopResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { { MBMSSessionStopResponseExtensions} } OPTIONAL, + ... +} + +MBMSSessionStopResponseIEs RANAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } , + ... +} + +MBMSSessionStopResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- MBMS UE LINKING PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- MBMS UE Linking Request +-- +-- ************************************************************** + +MBMSUELinkingRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { MBMSUELinkingRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { { MBMSUELinkingRequestExtensions} } OPTIONAL, + ... +} + +MBMSUELinkingRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-JoinedMBMSBearerServicesList CRITICALITY reject TYPE JoinedMBMSBearerService-IEs PRESENCE optional } | + { ID id-LeftMBMSBearerServicesList CRITICALITY reject TYPE LeftMBMSBearerService-IEs PRESENCE optional }, + ... +} + +LeftMBMSBearerService-IEs ::= SEQUENCE (SIZE (1.. maxnoofMulticastServicesPerUE)) OF + SEQUENCE { + tMGI TMGI, + iE-Extensions ProtocolExtensionContainer { {LeftMBMSBearerService-ExtIEs} } OPTIONAL, + ... + } + +LeftMBMSBearerService-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +MBMSUELinkingRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- MBMS UE Linking Response +-- +-- ************************************************************** + +MBMSUELinkingResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { MBMSUELinkingResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { { MBMSUELinkingResponseExtensions} } OPTIONAL, + ... +} + +MBMSUELinkingResponseIEs RANAP-PROTOCOL-IES ::= { + { ID id-UnsuccessfulLinkingList CRITICALITY ignore TYPE UnsuccessfulLinking-IEs PRESENCE optional } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } , + ... +} + +UnsuccessfulLinking-IEs ::= SEQUENCE (SIZE (1.. maxnoofMulticastServicesPerUE)) OF + SEQUENCE { + tMGI TMGI, + cause Cause, + iE-Extensions ProtocolExtensionContainer { {UnsuccessfulLinking-ExtIEs} } OPTIONAL, + ... + } + +UnsuccessfulLinking-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +MBMSUELinkingResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- MBMS REGISTRATION PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- MBMS Registration Request +-- +-- ************************************************************** + +MBMSRegistrationRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { MBMSRegistrationRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { { MBMSRegistrationRequestExtensions} } OPTIONAL, + ... +} + +MBMSRegistrationRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-MBMSRegistrationRequestType CRITICALITY reject TYPE MBMSRegistrationRequestType PRESENCE mandatory } | + { ID id-TMGI CRITICALITY reject TYPE TMGI PRESENCE mandatory } | + { ID id-IPMulticastAddress CRITICALITY reject TYPE IPMulticastAddress PRESENCE conditional + -- This IE shall be present if the MBMS Registration Request Type IE is set to "register" -- } | + { ID id-APN CRITICALITY reject TYPE APN PRESENCE conditional + -- This IE shall be present if the MBMS Registration Request Type IE is set to "register" -- } | + { ID id-GlobalRNC-ID CRITICALITY reject TYPE GlobalRNC-ID PRESENCE optional }, + ... +} + +MBMSRegistrationRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 7 to indicate extended RNC-ID -- + { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- MBMS Registration Response +-- +-- ************************************************************** + +MBMSRegistrationResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { MBMSRegistrationResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { { MBMSRegistrationResponseExtensions} } OPTIONAL, + ... +} + +MBMSRegistrationResponseIEs RANAP-PROTOCOL-IES ::= { + { ID id-TMGI CRITICALITY ignore TYPE TMGI PRESENCE optional } | + { ID id-GlobalCN-ID CRITICALITY ignore TYPE GlobalCN-ID PRESENCE optional } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } , + ... +} + +MBMSRegistrationResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- MBMS Registration Failure +-- +-- ************************************************************** + +MBMSRegistrationFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { MBMSRegistrationFailureIEs} }, + protocolExtensions ProtocolExtensionContainer { { MBMSRegistrationFailureExtensions} } OPTIONAL, + ... +} + +MBMSRegistrationFailureIEs RANAP-PROTOCOL-IES ::= { + { ID id-TMGI CRITICALITY ignore TYPE TMGI PRESENCE optional } | + { ID id-GlobalCN-ID CRITICALITY ignore TYPE GlobalCN-ID PRESENCE optional } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } , + ... +} + +MBMSRegistrationFailureExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- MBMS CN DE-REGISTRATION PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- MBMS CN De-Registration Request +-- +-- ************************************************************** + +MBMSCNDe-RegistrationRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { MBMSCNDe-RegistrationRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { { MBMSCNDe-RegistrationRequestExtensions} } OPTIONAL, + ... +} + +MBMSCNDe-RegistrationRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-TMGI CRITICALITY reject TYPE TMGI PRESENCE mandatory } | + { ID id-GlobalCN-ID CRITICALITY reject TYPE GlobalCN-ID PRESENCE optional }, + ... +} + +MBMSCNDe-RegistrationRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- MBMS CN De-Registration Response +-- +-- ************************************************************** + +MBMSCNDe-RegistrationResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { MBMSCNDe-RegistrationResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { { MBMSCNDe-RegistrationResponseExtensions} } OPTIONAL, + ... +} + +MBMSCNDe-RegistrationResponseIEs RANAP-PROTOCOL-IES ::= { + { ID id-TMGI CRITICALITY ignore TYPE TMGI PRESENCE mandatory } | + { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } , + ... +} + +MBMSCNDe-RegistrationResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 7 to indicate extended RNC-ID -- + { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- MBMS RAB ESTABLISHMENT INDICATION PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- MBMS RAB Establishment Indication +-- +-- ************************************************************** + +MBMSRABEstablishmentIndication ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { MBMSRABEstablishmentIndicationIEs} }, + protocolExtensions ProtocolExtensionContainer { { MBMSRABEstablishmentIndicationExtensions} } OPTIONAL, + ... +} + +MBMSRABEstablishmentIndicationIEs RANAP-PROTOCOL-IES ::= { + { ID id-TransportLayerInformation CRITICALITY ignore TYPE TransportLayerInformation PRESENCE mandatory } , + ... +} + +MBMSRABEstablishmentIndicationExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- MBMS RAB RELEASE PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- MBMS RAB Release Request +-- +-- ************************************************************** + +MBMSRABReleaseRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {MBMSRABReleaseRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {MBMSRABReleaseRequestExtensions} } OPTIONAL, + ... +} + +MBMSRABReleaseRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }, + ... +} + + +MBMSRABReleaseRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- MBMS RAB Release +-- +-- ************************************************************** + +MBMSRABRelease ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {MBMSRABReleaseIEs} }, + protocolExtensions ProtocolExtensionContainer { {MBMSRABReleaseExtensions} } OPTIONAL, + ... +} + +MBMSRABReleaseIEs RANAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +MBMSRABReleaseExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- MBMS RAB Release Failure +-- +-- ************************************************************** + +MBMSRABReleaseFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {MBMSRABReleaseFailureIEs} }, + protocolExtensions ProtocolExtensionContainer { {MBMSRABReleaseFailureExtensions} } OPTIONAL, + ... +} + +MBMSRABReleaseFailureIEs RANAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +MBMSRABReleaseFailureExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- SRVCC PREPARATION ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- SRVCC CS Keys Request +-- +-- ************************************************************** + +SRVCC-CSKeysRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {SRVCC-CSKeysRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {SRVCC-CSKeysRequestExtensions} } OPTIONAL, + ... +} + +SRVCC-CSKeysRequestIEs RANAP-PROTOCOL-IES ::= { + ... +} + +SRVCC-CSKeysRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- SRVCC CS Keys Response +-- +-- ************************************************************** + +SRVCC-CSKeysResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {SRVCC-CSKeysResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { {SRVCC-CSKeysResponseExtensions} } OPTIONAL, + ... +} + +SRVCC-CSKeysResponseIEs RANAP-PROTOCOL-IES ::= { + { ID id-IntegrityProtectionKey CRITICALITY reject TYPE IntegrityProtectionKey PRESENCE mandatory }| + { ID id-EncryptionKey CRITICALITY reject TYPE EncryptionKey PRESENCE mandatory }| + { ID id-SRVCC-Information CRITICALITY reject TYPE SRVCC-Information PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +SRVCC-CSKeysResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- UE RADIO CAPABILITY MATCH PROCEDURE +-- +-- ************************************************************** + + +-- ************************************************************** +-- +-- UE Radio Capability Match Request +-- +-- ************************************************************** + +UeRadioCapabilityMatchRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UeRadioCapabilityMatchRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {UeRadioCapabilityMatchRequestExtensions} } OPTIONAL, + ... +} + +UeRadioCapabilityMatchRequestIEs RANAP-PROTOCOL-IES ::= { + ... +} + +UeRadioCapabilityMatchRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- UE Radio Capability Match Response +-- +-- ************************************************************** + +UeRadioCapabilityMatchResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UeRadioCapabilityMatchResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { {UeRadioCapabilityMatchResponseExtensions} } OPTIONAL, + ... +} + +UeRadioCapabilityMatchResponseIEs RANAP-PROTOCOL-IES ::= { + { ID id-VoiceSupportMatchIndicator CRITICALITY reject TYPE VoiceSupportMatchIndicator PRESENCE mandatory }, + ... +} + +UeRadioCapabilityMatchResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- UE REGISTRATION QUERY PROCEDURE +-- +-- ************************************************************** + + +-- ************************************************************** +-- +-- UE Registration Query Request +-- +-- ************************************************************** + +UeRegistrationQueryRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UeRegistrationQueryRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {UeRegistrationQueryRequestExtensions} } OPTIONAL, + ... +} + +UeRegistrationQueryRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-IuSigConId CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE mandatory}| + { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE mandatory}, + ... +} + +UeRegistrationQueryRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- UE Registration Query Response +-- +-- ************************************************************** + +UeRegistrationQueryResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UeRegistrationQueryResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { {UeRegistrationQueryResponseExtensions} } OPTIONAL, + ... +} + +UeRegistrationQueryResponseIEs RANAP-PROTOCOL-IES ::= { + { ID id-UERegistrationQueryResult CRITICALITY ignore TYPE UERegistrationQueryResult PRESENCE mandatory}, + ... +} + +UeRegistrationQueryResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- REROUTE NAS REQUEST PROCEDURE +-- +-- ************************************************************** + + +-- ************************************************************** +-- +-- Reroute NAS Request +-- +-- ************************************************************** + +RerouteNASRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RerouteNASRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {RerouteNASRequestExtensions} } OPTIONAL, + ... +} + +RerouteNASRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-RANAP-Message CRITICALITY ignore TYPE OCTET STRING PRESENCE mandatory}| + { ID id-SGSN-Group-Identity CRITICALITY ignore TYPE SGSN-Group-Identity PRESENCE mandatory}| + { ID id-P-TMSI CRITICALITY ignore TYPE P-TMSI PRESENCE optional}| + { ID id-UE-Usage-Type CRITICALITY ignore TYPE UE-Usage-Type PRESENCE optional}, + ... +} + +RerouteNASRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +END diff --git a/library/ranap/RANAP_PDU_Descriptions.asn b/library/ranap/RANAP_PDU_Descriptions.asn new file mode 100644 index 000000000..92d4b0f27 --- /dev/null +++ b/library/ranap/RANAP_PDU_Descriptions.asn @@ -0,0 +1,646 @@ +-- RANAP-PDU-Descriptions.asn +-- +-- 3GPP TS 25.413 V14.0.0 (2017-03) +-- http://www.3gpp.org/ftp/Specs/html-info/25413.htm +-- +-- 9.3.2 Elementary Procedure Definitions +-- + +-- ************************************************************** +-- +-- Elementary Procedure definitions +-- +-- ************************************************************** + +RANAP-PDU-Descriptions { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) ranap (0) version1 (1) ranap-PDU-Descriptions (0)} + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** + +IMPORTS + Criticality, + ProcedureCode +FROM RANAP-CommonDataTypes + + Iu-ReleaseCommand, + Iu-ReleaseComplete, + RelocationCommand, + RelocationPreparationFailure, + RelocationRequired, + RelocationRequest, + RelocationRequestAcknowledge, + RelocationFailure, + RelocationCancel, + RelocationCancelAcknowledge, + EnhancedRelocationCompleteRequest, + EnhancedRelocationCompleteResponse, + EnhancedRelocationCompleteFailure, + EnhancedRelocationCompleteConfirm, + SRNS-ContextRequest, + SRNS-ContextResponse, + SecurityModeCommand, + SecurityModeComplete, + SecurityModeReject, + DataVolumeReportRequest, + DataVolumeReport, + Reset, + ResetAcknowledge, + RAB-ReleaseRequest, + Iu-ReleaseRequest, + RelocationDetect, + RelocationComplete, + Paging, + CommonID, + CN-InvokeTrace, + CN-DeactivateTrace, + LocationReportingControl, + LocationReport, + InitialUE-Message, + DirectTransfer, + Overload, + ErrorIndication, + SRNS-DataForwardCommand, + ForwardSRNS-Context, + RAB-AssignmentRequest, + RAB-AssignmentResponse, + RAB-ModifyRequest, + PrivateMessage, + ResetResource, + ResetResourceAcknowledge, + RANAP-RelocationInformation, + RANAP-EnhancedRelocationInformationRequest, + RANAP-EnhancedRelocationInformationResponse, + LocationRelatedDataRequest, + LocationRelatedDataResponse, + LocationRelatedDataFailure, + InformationTransferIndication, + InformationTransferConfirmation, + InformationTransferFailure, + UESpecificInformationIndication, + DirectInformationTransfer, + UplinkInformationExchangeRequest, + UplinkInformationExchangeResponse, + UplinkInformationExchangeFailure, + MBMSSessionStart, + MBMSSessionStartResponse, + MBMSSessionStartFailure, + MBMSSessionUpdate, + MBMSSessionUpdateResponse, + MBMSSessionUpdateFailure, + MBMSSessionStop, + MBMSSessionStopResponse, + MBMSUELinkingRequest, + MBMSUELinkingResponse, + MBMSRegistrationRequest, + MBMSRegistrationResponse, + MBMSRegistrationFailure, + MBMSCNDe-RegistrationRequest, + MBMSCNDe-RegistrationResponse, + MBMSRABEstablishmentIndication, + MBMSRABReleaseRequest, + MBMSRABRelease, + MBMSRABReleaseFailure, + SRVCC-CSKeysRequest, + SRVCC-CSKeysResponse, + UeRadioCapabilityMatchRequest, + UeRadioCapabilityMatchResponse, + UeRegistrationQueryRequest, + UeRegistrationQueryResponse, + RerouteNASRequest + +FROM RANAP-PDU-Contents + + id-LocationRelatedData, + id-CN-DeactivateTrace, + id-CN-InvokeTrace, + id-CommonID, + id-DataVolumeReport, + id-DirectTransfer, + id-ErrorIndication, + id-ForwardSRNS-Context, + id-InformationTransfer, + id-InitialUE-Message, + id-Iu-Release, + id-Iu-ReleaseRequest, + id-LocationReport, + id-LocationReportingControl, + id-OverloadControl, + id-Paging, + id-privateMessage, + id-RAB-Assignment, + id-RAB-ReleaseRequest, + id-RAB-ModifyRequest, + id-RANAP-Relocation, + id-RANAPenhancedRelocation, + id-RelocationCancel, + id-RelocationComplete, + id-RelocationDetect, + id-RelocationPreparation, + id-RelocationResourceAllocation, + id-enhancedRelocationComplete, + id-enhancedRelocationCompleteConfirm, + id-Reset, + id-SRNS-ContextTransfer, + id-SRNS-DataForward, + id-SecurityModeControl, + id-ResetResource, + id-UESpecificInformation, + id-DirectInformationTransfer, + id-UplinkInformationExchange, + id-MBMSSessionStart, + id-MBMSSessionUpdate, + id-MBMSSessionStop, + id-MBMSUELinking, + id-MBMSRegistration, + id-MBMSCNDe-Registration-Procedure, + id-MBMSRABEstablishmentIndication, + id-MBMSRABRelease, + id-SRVCCPreparation, + id-UeRadioCapabilityMatch, + id-UeRegistrationQuery, + id-RerouteNASRequest + +FROM RANAP-Constants; + +-- ************************************************************** +-- +-- Interface Elementary Procedure Class +-- +-- ************************************************************** + +RANAP-ELEMENTARY-PROCEDURE ::= CLASS { + &InitiatingMessage , + &SuccessfulOutcome OPTIONAL, + &UnsuccessfulOutcome OPTIONAL, + &Outcome OPTIONAL, + &procedureCode ProcedureCode UNIQUE, + &criticality Criticality DEFAULT ignore +} +WITH SYNTAX { + INITIATING MESSAGE &InitiatingMessage + [SUCCESSFUL OUTCOME &SuccessfulOutcome] + [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome] + [OUTCOME &Outcome] + PROCEDURE CODE &procedureCode + [CRITICALITY &criticality] +} + +-- ************************************************************** +-- +-- Interface PDU Definition +-- +-- ************************************************************** + +RANAP-PDU ::= CHOICE { + initiatingMessage InitiatingMessage, + successfulOutcome SuccessfulOutcome, + unsuccessfulOutcome UnsuccessfulOutcome, + outcome Outcome, + ... +} + +InitiatingMessage ::= SEQUENCE { + procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}), + criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value RANAP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}) +} + +SuccessfulOutcome ::= SEQUENCE { + procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}), + criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value RANAP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}) +} + +UnsuccessfulOutcome ::= SEQUENCE { + procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}), + criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value RANAP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}) +} + +Outcome ::= SEQUENCE { + procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}), + criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value RANAP-ELEMENTARY-PROCEDURE.&Outcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}) +} + +-- ************************************************************** +-- +-- Interface Elementary Procedure List +-- +-- ************************************************************** + +RANAP-ELEMENTARY-PROCEDURES RANAP-ELEMENTARY-PROCEDURE ::= { + RANAP-ELEMENTARY-PROCEDURES-CLASS-1 | + RANAP-ELEMENTARY-PROCEDURES-CLASS-2 | + RANAP-ELEMENTARY-PROCEDURES-CLASS-3 , + ... +} + + +RANAP-ELEMENTARY-PROCEDURES-CLASS-1 RANAP-ELEMENTARY-PROCEDURE ::= { + iu-Release | + relocationPreparation | + relocationResourceAllocation | + relocationCancel | + sRNS-ContextTransfer | + securityModeControl | + dataVolumeReport | + reset | + resetResource , + ..., + locationRelatedData | + informationTransfer | + uplinkInformationExchange | + mBMSSessionStart | + mBMSSessionUpdate | + mBMSSessionStop | + mBMSUELinking | + mBMSRegistration | + mBMSCNDe-Registration | + mBMSRABRelease | + enhancedRelocationComplete | + rANAP-enhancedRelocation | + sRVCCPreparation | + ueRadioCapabilityMatch | + ueRegistrationQuery } + +RANAP-ELEMENTARY-PROCEDURES-CLASS-2 RANAP-ELEMENTARY-PROCEDURE ::= { + rAB-ReleaseRequest | + iu-ReleaseRequest | + relocationDetect | + relocationComplete | + paging | + commonID | + cN-InvokeTrace | + cN-DeactivateTrace | + locationReportingControl | + locationReport | + initialUE-Message | + directTransfer | + overloadControl | + errorIndication | + sRNS-DataForward | + forwardSRNS-Context | + privateMessage | + rANAP-Relocation , + ..., + rAB-ModifyRequest | + uESpecificInformation | + directInformationTransfer | + mBMSRABEstablishmentIndication | + enhancedRelocationCompleteConfirm | + rerouteNASRequest +} + +RANAP-ELEMENTARY-PROCEDURES-CLASS-3 RANAP-ELEMENTARY-PROCEDURE ::= { + rAB-Assignment , + ... +} + +-- ************************************************************** +-- +-- Interface Elementary Procedures +-- +-- ************************************************************** + +iu-Release RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Iu-ReleaseCommand + SUCCESSFUL OUTCOME Iu-ReleaseComplete + PROCEDURE CODE id-Iu-Release + CRITICALITY reject +} + +relocationPreparation RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE RelocationRequired + SUCCESSFUL OUTCOME RelocationCommand + UNSUCCESSFUL OUTCOME RelocationPreparationFailure + PROCEDURE CODE id-RelocationPreparation + CRITICALITY reject +} + +relocationResourceAllocation RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE RelocationRequest + SUCCESSFUL OUTCOME RelocationRequestAcknowledge + UNSUCCESSFUL OUTCOME RelocationFailure + PROCEDURE CODE id-RelocationResourceAllocation + CRITICALITY reject +} + +relocationCancel RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE RelocationCancel + SUCCESSFUL OUTCOME RelocationCancelAcknowledge + PROCEDURE CODE id-RelocationCancel + CRITICALITY reject +} + +sRNS-ContextTransfer RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE SRNS-ContextRequest + SUCCESSFUL OUTCOME SRNS-ContextResponse + PROCEDURE CODE id-SRNS-ContextTransfer + CRITICALITY reject +} + +securityModeControl RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE SecurityModeCommand + SUCCESSFUL OUTCOME SecurityModeComplete + UNSUCCESSFUL OUTCOME SecurityModeReject + PROCEDURE CODE id-SecurityModeControl + CRITICALITY reject +} + +dataVolumeReport RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE DataVolumeReportRequest + SUCCESSFUL OUTCOME DataVolumeReport + PROCEDURE CODE id-DataVolumeReport + CRITICALITY reject +} + + +reset RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Reset + SUCCESSFUL OUTCOME ResetAcknowledge + PROCEDURE CODE id-Reset + CRITICALITY reject +} + +rAB-ReleaseRequest RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE RAB-ReleaseRequest + PROCEDURE CODE id-RAB-ReleaseRequest + CRITICALITY ignore +} + +iu-ReleaseRequest RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Iu-ReleaseRequest + PROCEDURE CODE id-Iu-ReleaseRequest + CRITICALITY ignore +} + +relocationDetect RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE RelocationDetect + PROCEDURE CODE id-RelocationDetect + CRITICALITY ignore +} + +relocationComplete RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE RelocationComplete + PROCEDURE CODE id-RelocationComplete + CRITICALITY ignore +} + +paging RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Paging + PROCEDURE CODE id-Paging + CRITICALITY ignore +} + +commonID RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE CommonID + PROCEDURE CODE id-CommonID + CRITICALITY ignore +} + +cN-InvokeTrace RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE CN-InvokeTrace + PROCEDURE CODE id-CN-InvokeTrace + CRITICALITY ignore +} + +cN-DeactivateTrace RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE CN-DeactivateTrace + PROCEDURE CODE id-CN-DeactivateTrace + CRITICALITY ignore +} + +locationReportingControl RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE LocationReportingControl + PROCEDURE CODE id-LocationReportingControl + CRITICALITY ignore +} + +locationReport RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE LocationReport + PROCEDURE CODE id-LocationReport + CRITICALITY ignore +} + +initialUE-Message RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE InitialUE-Message + PROCEDURE CODE id-InitialUE-Message + CRITICALITY ignore +} + +directTransfer RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE DirectTransfer + PROCEDURE CODE id-DirectTransfer + CRITICALITY ignore +} + +overloadControl RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Overload + PROCEDURE CODE id-OverloadControl + CRITICALITY ignore +} + +errorIndication RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE ErrorIndication + PROCEDURE CODE id-ErrorIndication + CRITICALITY ignore +} + +sRNS-DataForward RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE SRNS-DataForwardCommand + PROCEDURE CODE id-SRNS-DataForward + CRITICALITY ignore +} + +forwardSRNS-Context RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE ForwardSRNS-Context + PROCEDURE CODE id-ForwardSRNS-Context + CRITICALITY ignore +} + +rAB-Assignment RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE RAB-AssignmentRequest + OUTCOME RAB-AssignmentResponse + PROCEDURE CODE id-RAB-Assignment + CRITICALITY reject +} + +privateMessage RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE PrivateMessage + + PROCEDURE CODE id-privateMessage + CRITICALITY ignore +} + +resetResource RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE ResetResource + SUCCESSFUL OUTCOME ResetResourceAcknowledge + PROCEDURE CODE id-ResetResource + CRITICALITY reject +} + +rANAP-Relocation RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE RANAP-RelocationInformation + PROCEDURE CODE id-RANAP-Relocation + CRITICALITY ignore +} + +rAB-ModifyRequest RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE RAB-ModifyRequest + PROCEDURE CODE id-RAB-ModifyRequest + CRITICALITY ignore +} + +locationRelatedData RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE LocationRelatedDataRequest + SUCCESSFUL OUTCOME LocationRelatedDataResponse + UNSUCCESSFUL OUTCOME LocationRelatedDataFailure + PROCEDURE CODE id-LocationRelatedData + CRITICALITY reject +} + +informationTransfer RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE InformationTransferIndication + SUCCESSFUL OUTCOME InformationTransferConfirmation + UNSUCCESSFUL OUTCOME InformationTransferFailure + PROCEDURE CODE id-InformationTransfer + CRITICALITY reject +} + +uESpecificInformation RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE UESpecificInformationIndication + PROCEDURE CODE id-UESpecificInformation + CRITICALITY ignore +} + +directInformationTransfer RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE DirectInformationTransfer + PROCEDURE CODE id-DirectInformationTransfer + CRITICALITY ignore +} + +uplinkInformationExchange RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE UplinkInformationExchangeRequest + SUCCESSFUL OUTCOME UplinkInformationExchangeResponse + UNSUCCESSFUL OUTCOME UplinkInformationExchangeFailure + PROCEDURE CODE id-UplinkInformationExchange + CRITICALITY reject +} + +mBMSSessionStart RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE MBMSSessionStart + SUCCESSFUL OUTCOME MBMSSessionStartResponse + UNSUCCESSFUL OUTCOME MBMSSessionStartFailure + PROCEDURE CODE id-MBMSSessionStart + CRITICALITY reject +} + +mBMSSessionUpdate RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE MBMSSessionUpdate + SUCCESSFUL OUTCOME MBMSSessionUpdateResponse + UNSUCCESSFUL OUTCOME MBMSSessionUpdateFailure + PROCEDURE CODE id-MBMSSessionUpdate + CRITICALITY reject +} + +mBMSSessionStop RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE MBMSSessionStop + SUCCESSFUL OUTCOME MBMSSessionStopResponse + PROCEDURE CODE id-MBMSSessionStop + CRITICALITY reject +} + +mBMSUELinking RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE MBMSUELinkingRequest + OUTCOME MBMSUELinkingResponse + PROCEDURE CODE id-MBMSUELinking + CRITICALITY reject +} + +mBMSRegistration RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE MBMSRegistrationRequest + SUCCESSFUL OUTCOME MBMSRegistrationResponse + UNSUCCESSFUL OUTCOME MBMSRegistrationFailure + PROCEDURE CODE id-MBMSRegistration + CRITICALITY reject +} + +mBMSCNDe-Registration RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE MBMSCNDe-RegistrationRequest + SUCCESSFUL OUTCOME MBMSCNDe-RegistrationResponse + PROCEDURE CODE id-MBMSCNDe-Registration-Procedure + CRITICALITY reject +} + +mBMSRABEstablishmentIndication RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE MBMSRABEstablishmentIndication + PROCEDURE CODE id-MBMSRABEstablishmentIndication + CRITICALITY ignore +} + +mBMSRABRelease RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE MBMSRABReleaseRequest + SUCCESSFUL OUTCOME MBMSRABRelease + UNSUCCESSFUL OUTCOME MBMSRABReleaseFailure + PROCEDURE CODE id-MBMSRABRelease + CRITICALITY reject +} +enhancedRelocationComplete RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE EnhancedRelocationCompleteRequest + SUCCESSFUL OUTCOME EnhancedRelocationCompleteResponse + UNSUCCESSFUL OUTCOME EnhancedRelocationCompleteFailure + PROCEDURE CODE id-enhancedRelocationComplete + CRITICALITY reject +} + +enhancedRelocationCompleteConfirm RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE EnhancedRelocationCompleteConfirm + PROCEDURE CODE id-enhancedRelocationCompleteConfirm + CRITICALITY ignore +} + +rANAP-enhancedRelocation RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE RANAP-EnhancedRelocationInformationRequest + SUCCESSFUL OUTCOME RANAP-EnhancedRelocationInformationResponse + PROCEDURE CODE id-RANAPenhancedRelocation + CRITICALITY reject +} + +sRVCCPreparation RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE SRVCC-CSKeysRequest + OUTCOME SRVCC-CSKeysResponse + PROCEDURE CODE id-SRVCCPreparation + CRITICALITY reject +} + +ueRadioCapabilityMatch RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE UeRadioCapabilityMatchRequest + OUTCOME UeRadioCapabilityMatchResponse + PROCEDURE CODE id-UeRadioCapabilityMatch + CRITICALITY ignore +} + +ueRegistrationQuery RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE UeRegistrationQueryRequest + OUTCOME UeRegistrationQueryResponse + PROCEDURE CODE id-UeRegistrationQuery + CRITICALITY ignore +} + +rerouteNASRequest RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE RerouteNASRequest + PROCEDURE CODE id-RerouteNASRequest + CRITICALITY reject +} + +END diff --git a/library/ranap/RANAP_Selftests.ttcn b/library/ranap/RANAP_Selftests.ttcn new file mode 100644 index 000000000..dd72e353a --- /dev/null +++ b/library/ranap/RANAP_Selftests.ttcn @@ -0,0 +1,76 @@ +module RANAP_Selftests { + +import from RANAP_CommonDataTypes all; +import from RANAP_Constants all; +import from RANAP_Containers all; +import from RANAP_IEs all; +import from RANAP_PDU_Contents all; +import from RANAP_PDU_Descriptions all; +import from RANAP_Types all; + +type component test_CT { +}; + +const octetstring c_InitUE_CM_SRV_REQ := '001340400000060003400100000f40060046f3120064003a40080046f312006400000010400e0d052471034f188005f407000008004f40030000000056400546f312000f'O; +const octetstring c_CommonId := '000f4010000001001740095046239134707780f3'O; +const octetstring c_DT_CM_SRV_ACK := '0014400f000002003b40010000104003020521'O; +const octetstring c_DT_MO_SETUP := '00144019000001001040121103450404600200815e0381654215021101'O; +const octetstring c_DT_MT_CALL_PROC := '00144010000002003b4001000010400403830280'O; +const octetstring c_RAB_AssReq := '0000404700000100360040000001003500363802d0012fa7202fa80000f44c080a028000514000272028140067400000222814003c40000000503d0800101faf026ed64047d40000400100'O; +const octetstring c_RAB_AssResp := '6000001a000001003440130000010033400c60087c0a80242240e2040000'O; +const octetstring c_IuRelReq := '000b4009000001000440020340'O; +const octetstring c_ResetResource := '001b001c00000300030001000004400142004d400b000001004e000400000000'O; +const octetstring c_IuRelCmd := '00014009000001000400020340'O; + +type record EnDecTestcase { + charstring name, + octetstring encoded +}; + +type record of EnDecTestcase EnDecTestcases; + +const EnDecTestcases test_data := { + { + name := "InitialUE_CM_SRV_REQ", + encoded := c_InitUE_CM_SRV_REQ + }, { + name := "CommonID", + encoded := c_CommonId + }, { + name := "DirectTransfer CM SERVICE ACK", + encoded := c_DT_CM_SRV_ACK + }, { + name := "DirectTransfer MO CC SETUP", + encoded := c_DT_MO_SETUP + }, { + name := "DirectTransfer MT CC CALL PROCEEDING", + encoded := c_DT_MT_CALL_PROC + }, { + name := "RAB Assignment Request", + encoded := c_RAB_AssReq + }, { + name := "RAB Assignment Response", + encoded := c_RAB_AssResp + }, { + name := "Iu Release Request", + encoded := c_IuRelReq + }, { + name := "Reset Resource", + encoded := c_ResetResource + }, { + name := "Iu Release Command", + encoded := c_IuRelCmd + } +}; + +testcase TC_foo() runs on test_CT { + var integer i; + for (i := 0; i < lengthof(test_data); i := i+1) { + var EnDecTestcase tc := test_data[i]; + var RANAP_PDU pdu := dec_RANAP_PDU(tc.encoded); + log(tc.name, " decoded: ", pdu); + } + setverdict(pass); +} + +} diff --git a/library/ranap/RANAP_Templates.ttcn b/library/ranap/RANAP_Templates.ttcn new file mode 100644 index 000000000..e55f2125b --- /dev/null +++ b/library/ranap/RANAP_Templates.ttcn @@ -0,0 +1,1427 @@ +module RANAP_Templates { + +import from General_Types all; + +import from RANAP_IEs all; +import from RANAP_CommonDataTypes all; +import from RANAP_Constants all; +import from RANAP_Containers all; +import from RANAP_PDU_Contents all; +import from RANAP_PDU_Descriptions all; + +template (value) Cause ts_RanapCause_om_intervention := { misc := 113 }; + +/***************************************************************************************************** + * Reset + *****************************************************************************************************/ + +template (value) RANAP_PDU +ts_RANAP_Reset(template (value) Cause cause, template (value) CN_DomainIndicator dom, + template (omit) Reset.protocolExtensions exts := omit) := { + initiatingMessage := { + procedureCode := id_Reset, + criticality := reject, + value_ := { + Reset := { + protocolIEs := { + { + id := id_Cause, + criticality := ignore, + value_ := { + cause := cause + } + }, { + id := id_CN_DomainIndicator, + criticality := reject, + value_ := { + cN_DomainIndicator := dom + } + } + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_Reset(template Cause cause := ?, template CN_DomainIndicator dom := ?, + template Reset.protocolExtensions exts := *) := { + initiatingMessage := { + procedureCode := id_Reset, + criticality := reject, + value_ := { + Reset := { + protocolIEs := { + { + id := id_Cause, + criticality := ignore, + value_ := { + cause := cause + } + }, { + id := id_CN_DomainIndicator, + criticality := reject, + value_ := { + cN_DomainIndicator := dom + } + }, * + }, + protocolExtensions := exts + } + } + } +} + +template (value) RANAP_PDU +ts_RANAP_ResetAck(template (value) CN_DomainIndicator dom, + template (omit) ResetAcknowledge.protocolExtensions exts := omit) := { + successfulOutcome := { + procedureCode := id_Reset, + criticality := reject, + value_ := { + ResetAcknowledge := { + protocolIEs := { + { + id := id_CN_DomainIndicator, + criticality := reject, + value_ := { + cN_DomainIndicator := dom + } + } + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_ResetAck(template CN_DomainIndicator dom := ?, + template ResetAcknowledge.protocolExtensions exts := *) := { + successfulOutcome := { + procedureCode := id_Reset, + criticality := reject, + value_ := { + ResetAcknowledge := { + protocolIEs := { + { + id := id_CN_DomainIndicator, + criticality := reject, + value_ := { + cN_DomainIndicator := dom + } + }, * + }, + protocolExtensions := exts + } + } + } +} + +/***************************************************************************************************** + * Security Mode Control + *****************************************************************************************************/ + +template (value) RANAP_PDU +ts_RANAP_SecurityModeCmd(template (value) PermittedIntegrityProtectionAlgorithms uia_algs, + template (value) IntegrityProtectionKey uia_key, + template (value) KeyStatus key_sts, + template (omit) SecurityModeCommand.protocolExtensions exts := omit) := { + initiatingMessage := { + procedureCode := id_SecurityModeControl, + criticality := reject, + value_ := { + securityModeCommand := { + protocolIEs := { + { + id := id_IntegrityProtectionInformation, + criticality := reject, + value_ := { + integrityProtectionInformation := { + permittedAlgorithms := uia_algs, + key := uia_key, + iE_Extensions := omit + } + } + }, { + id := id_KeyStatus, + criticality := reject, + value_ := { + keyStatus := key_sts + } + } + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_SecurityModeCmd(template PermittedIntegrityProtectionAlgorithms uia_algs, + template IntegrityProtectionKey uia_key, + template KeyStatus key_sts, + template SecurityModeCommand.protocolExtensions exts := *) := { + initiatingMessage := { + procedureCode := id_SecurityModeControl, + criticality := reject, + value_ := { + securityModeCommand := { + protocolIEs := { + { + id := id_IntegrityProtectionInformation, + criticality := reject, + value_ := { + integrityProtectionInformation := { + permittedAlgorithms := uia_algs, + key := uia_key, + iE_Extensions := * + } + } + }, { + id := id_KeyStatus, + criticality := reject, + value_ := { + keyStatus := key_sts + } + } + }, + protocolExtensions := exts + } + } + } +} + +template (value) RANAP_PDU +ts_RANAP_SecurityModeCmdEnc(template (value) PermittedIntegrityProtectionAlgorithms uia_algs, + template (value) IntegrityProtectionKey uia_key, + template (value) KeyStatus key_sts, + template (value) PermittedEncryptionAlgorithms uea_algs, + template (value) EncryptionKey uea_key, + template (omit) SecurityModeCommand.protocolExtensions exts := omit) := { + initiatingMessage := { + procedureCode := id_SecurityModeControl, + criticality := reject, + value_ := { + securityModeCommand := { + protocolIEs := { + { + id := id_IntegrityProtectionInformation, + criticality := reject, + value_ := { + integrityProtectionInformation := { + permittedAlgorithms := uia_algs, + key := uia_key, + iE_Extensions := omit + } + } + }, { + id := id_EncryptionInformation, + criticality := ignore, + value_ := { + encryptionInformation := { + permittedAlgorithms := uea_algs, + key := uea_key, + iE_Extensions := omit + } + } + }, { + id := id_KeyStatus, + criticality := reject, + value_ := { + keyStatus := key_sts + } + } + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_SecurityModeCmdEnc(template PermittedIntegrityProtectionAlgorithms uia_algs, + template IntegrityProtectionKey uia_key, + template KeyStatus key_sts, + template PermittedEncryptionAlgorithms uea_algs, + template EncryptionKey uea_key, + template SecurityModeCommand.protocolExtensions exts := *) := { + initiatingMessage := { + procedureCode := id_SecurityModeControl, + criticality := reject, + value_ := { + securityModeCommand := { + protocolIEs := { + { + id := id_IntegrityProtectionInformation, + criticality := reject, + value_ := { + integrityProtectionInformation := { + permittedAlgorithms := uia_algs, + key := uia_key, + iE_Extensions := * + } + } + }, { + id := id_EncryptionInformation, + criticality := ignore, + value_ := { + encryptionInformation := { + permittedAlgorithms := uea_algs, + key := uea_key, + iE_Extensions := * + } + } + }, { + id := id_KeyStatus, + criticality := reject, + value_ := { + keyStatus := key_sts + } + } + }, + protocolExtensions := exts + } + } + } +} + +template (value) RANAP_PDU +ts_RANAP_SecurityModeComplete(template (value) IntegrityProtectionAlgorithm uia_alg, + template (omit) SecurityModeComplete.protocolExtensions exts := omit) := { + successfulOutcome := { + procedureCode := id_SecurityModeControl, + criticality := reject, + value_ := { + securityModeComplete := { + protocolIEs := { + { + id := id_ChosenIntegrityProtectionAlgorithm, + criticality := reject, + value_ := { + chosenIntegrityProtectionAlgorithm := uia_alg + } + } + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_SecurityModeComplete(template IntegrityProtectionAlgorithm uia_alg, + template SecurityModeComplete.protocolExtensions exts := *) := { + successfulOutcome := { + procedureCode := id_SecurityModeControl, + criticality := reject, + value_ := { + securityModeComplete := { + protocolIEs := { + { + id := id_ChosenIntegrityProtectionAlgorithm, + criticality := reject, + value_ := { + chosenIntegrityProtectionAlgorithm := uia_alg + } + } + }, + protocolExtensions := exts + } + } + } +} + +template (value) RANAP_PDU +ts_RANAP_SecurityModeCompleteEnc(template (value) IntegrityProtectionAlgorithm uia_alg, + template (value) EncryptionAlgorithm uea_alg, + template (omit) SecurityModeComplete.protocolExtensions exts := omit) := { + successfulOutcome := { + procedureCode := id_SecurityModeControl, + criticality := reject, + value_ := { + securityModeComplete := { + protocolIEs := { + { + id := id_ChosenIntegrityProtectionAlgorithm, + criticality := reject, + value_ := { + chosenIntegrityProtectionAlgorithm := uia_alg + } + }, { + id := id_ChosenEncryptionAlgorithm, + criticality := ignore, + value_ := { + chosenEncryptionAlgorithm := uea_alg + } + } + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_SecurityModeCompleteEnc(template IntegrityProtectionAlgorithm uia_alg, + template EncryptionAlgorithm uea_alg, + template SecurityModeComplete.protocolExtensions exts := *) := { + successfulOutcome := { + procedureCode := id_SecurityModeControl, + criticality := reject, + value_ := { + securityModeComplete := { + protocolIEs := { + { + id := id_ChosenIntegrityProtectionAlgorithm, + criticality := reject, + value_ := { + chosenIntegrityProtectionAlgorithm := uia_alg + } + }, { + id := id_ChosenEncryptionAlgorithm, + criticality := ignore, + value_ := { + chosenEncryptionAlgorithm := uea_alg + } + } + }, + protocolExtensions := exts + } + } + } +} + +template (value) RANAP_PDU +ts_RANAP_SecurityModeReject(template (value) Cause cause, + template (omit) SecurityModeReject.protocolExtensions exts := omit) := { + unsuccessfulOutcome := { + procedureCode := id_SecurityModeControl, + criticality := reject, + value_ := { + securityModeReject := { + protocolIEs := { + { + id := id_Cause, + criticality := ignore, + value_ := { + cause := cause + } + } + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_SecurityModeReject(template Cause cause, + template SecurityModeReject.protocolExtensions exts := *) := { + unsuccessfulOutcome := { + procedureCode := id_SecurityModeControl, + criticality := reject, + value_ := { + securityModeReject := { + protocolIEs := { + { + id := id_Cause, + criticality := ignore, + value_ := { + cause := cause + } + } + }, + protocolExtensions := exts + } + } + } +} + + + +/***************************************************************************************************** + * Iu Release Request + *****************************************************************************************************/ + +template (value) RANAP_PDU +ts_RANAP_IuReleaseRequest(template (value) Cause cause, + template (omit) Iu_ReleaseRequest.protocolExtensions exts := omit) := { + initiatingMessage := { + procedureCode := id_Iu_ReleaseRequest, + criticality := ignore, + value_ := { + iu_ReleaseRequest := { + protocolIEs := { + { + id := id_Cause, + criticality := reject, + value_ := { + cause := cause + } + } + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_IuReleaseRequest(template Cause cause, + template Iu_ReleaseRequest.protocolExtensions exts := *) := { + initiatingMessage := { + procedureCode := id_Iu_ReleaseRequest, + criticality := ignore, + value_ := { + iu_ReleaseRequest := { + protocolIEs := { + { + id := id_Cause, + criticality := reject, + value_ := { + cause := cause + } + } + }, + protocolExtensions := exts + } + } + } +} + +/***************************************************************************************************** + * RAB Release + *****************************************************************************************************/ + +template (value) RANAP_PDU +ts_RANAP_RabReleaseRequest(template (value) RAB_ID rab_id, template (value) Cause cause, + template (omit) RAB_ReleaseRequest.protocolExtensions exts := omit) := { + initiatingMessage := { + procedureCode := id_RAB_ReleaseRequest, + criticality := ignore, + value_ := { + rAB_ReleaseRequest := { + protocolIEs := { + { + id := id_RAB_ReleaseList, + criticality := ignore, + value_ := { + rAB_ReleaseList := {{ + { + id := id_RAB_ReleaseItem, + criticality := ignore, + value_ := { + rAB_ReleaseItem := { + rAB_ID := rab_id, + cause := cause, + iE_Extensions := omit + } + } + } + }} + } + } + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_RabReleaseRequest(template RAB_ID rab_id, template Cause cause, + template RAB_ReleaseRequest.protocolExtensions exts := *) := { + initiatingMessage := { + procedureCode := id_RAB_ReleaseRequest, + criticality := ignore, + value_ := { + rAB_ReleaseRequest := { + protocolIEs := { + { + id := id_RAB_ReleaseList, + criticality := ignore, + value_ := { + rAB_ReleaseList := {{ + { + id := id_RAB_ReleaseItem, + criticality := ignore, + value_ := { + rAB_ReleaseItem := { + rAB_ID := rab_id, + cause := cause, + iE_Extensions := * + } + } + } + }} + } + } + }, + protocolExtensions := exts + } + } + } +} + + +/***************************************************************************************************** + * Iu Release + *****************************************************************************************************/ + +template (value) RANAP_PDU +ts_RANAP_IuReleaseCommand(template (value) Cause cause, + template (omit) Iu_ReleaseCommand.protocolExtensions exts := omit) := { + initiatingMessage := { + procedureCode := id_Iu_Release, + criticality := reject, + value_ := { + iu_ReleaseCommand := { + protocolIEs := { + { + id := id_Cause, + criticality := ignore, + value_ := { + cause := cause + } + } + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_IuReleaseCommand(template Cause cause, + template Iu_ReleaseCommand.protocolExtensions exts := *) := { + initiatingMessage := { + procedureCode := id_Iu_Release, + criticality := reject, + value_ := { + iu_ReleaseCommand := { + protocolIEs := { + { + id := id_Cause, + criticality := ignore, + value_ := { + cause := cause + } + } + }, + protocolExtensions := exts + } + } + } +} + +template (value) RANAP_PDU +ts_RANAP_IuReleaseComplete(template (omit) Iu_ReleaseComplete.protocolIEs ies := {}, + template (omit) Iu_ReleaseComplete.protocolExtensions exts := omit) := { + successfulOutcome := { + procedureCode := id_Iu_Release, + criticality := reject, + value_ := { + iu_ReleaseComplete := { + protocolIEs := ies, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_IuReleaseComplete(template Iu_ReleaseComplete.protocolIEs ies := *, + template Iu_ReleaseComplete.protocolExtensions exts := *) := { + successfulOutcome := { + procedureCode := id_Iu_Release, + criticality := reject, + value_ := { + iu_ReleaseComplete:= { + protocolIEs := ies, + protocolExtensions := exts + } + } + } +} + +/***************************************************************************************************** + * Paging + *****************************************************************************************************/ + +template (value) RANAP_PDU +ts_RANAP_Paging(template (value) CN_DomainIndicator dom, template (value) IMSI imsi, + template (omit) TemporaryUE_ID temp_id := omit, + template (omit) Paging.protocolExtensions exts := omit) := { + initiatingMessage := { + procedureCode := id_Paging, + criticality := ignore, + value_ := { + paging := { + protocolIEs := { + { + id := id_CN_DomainIndicator, + criticality := ignore, + value_ := { + cN_DomainIndicator := dom + } + }, { + id := id_PermanentNAS_UE_ID, + criticality := ignore, + value_ := { + permanentNAS_UE_ID := { + iMSI := imsi + } + } + } + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_Paging(template CN_DomainIndicator dom, template IMSI imsi, + template Paging.protocolExtensions exts := *) := { + initiatingMessage := { + procedureCode := id_Paging, + criticality := ignore, + value_ := { + paging := { + protocolIEs := { + { + id := id_CN_DomainIndicator, + criticality := ignore, + value_ := { + cN_DomainIndicator := dom + } + }, { + id := id_PermanentNAS_UE_ID, + criticality := ignore, + value_ := { + permanentNAS_UE_ID := { + iMSI := imsi + } + } + }, * + }, + protocolExtensions := exts + } + } + } +} + + + +/***************************************************************************************************** + * Common ID + *****************************************************************************************************/ + +template (value) RANAP_PDU +ts_RANAP_CommonId(template (value) IMSI imsi, + template (omit) CommonID.protocolExtensions exts := omit) := { + initiatingMessage := { + procedureCode := id_CommonID, + criticality := ignore, + value_ := { + commonID := { + protocolIEs := { + { + id := id_PermanentNAS_UE_ID, + criticality := ignore, + value_ := { + permanentNAS_UE_ID := { + iMSI := imsi + } + } + } + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_CommonId(template IMSI imsi, + template CommonID.protocolExtensions exts := *) := { + initiatingMessage := { + procedureCode := id_CommonID, + criticality := ignore, + value_ := { + commonID := { + protocolIEs := { + { + id := id_PermanentNAS_UE_ID, + criticality := ignore, + value_ := { + permanentNAS_UE_ID := { + iMSI := imsi + } + } + } + }, + protocolExtensions := exts + } + } + } +} + +/***************************************************************************************************** + * Initial UE Message + *****************************************************************************************************/ + +template (value) RANAP_PDU +ts_RANAP_initialUE_CS(template (value) LAI lai, template (value) SAI sai, + template (value) NAS_PDU nas, + template (value) IuSignallingConnectionIdentifier sigc_id, + template (value) GlobalRNC_ID grnc_id, + template (omit) InitialUE_Message.protocolExtensions exts := omit) := { + initiatingMessage := { + procedureCode := id_InitialUE_Message, + criticality := ignore, + value_ := { + initialUE_Message := { + protocolIEs := { + { + id := id_CN_DomainIndicator, + criticality := ignore, + value_ := { + cN_DomainIndicator := cs_domain + } + }, { + id := id_LAI, + criticality := ignore, + value_ := { + lAI := lai + } + }, { + id := id_SAI, + criticality := ignore, + value_ := { + sAI := sai + } + }, { + id := id_NAS_PDU, + criticality := ignore, + value_ := { + nAS_PDU := nas + } + }, { + id := id_IuSigConId, + criticality := ignore, + value_ := { + iuSignallingConnectionIdentifier := sigc_id + } + }, { + id := id_GlobalRNC_ID, + criticality := ignore, + value_ := { + globalRNC_ID := grnc_id + } + } + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_initialUE_CS(template LAI lai, template SAI sai, + template NAS_PDU nas, + template IuSignallingConnectionIdentifier sigc_id, + template GlobalRNC_ID grnc_id, + template InitialUE_Message.protocolExtensions exts := *) := { + initiatingMessage := { + procedureCode := id_InitialUE_Message, + criticality := ignore, + value_ := { + initialUE_Message := { + protocolIEs := { + { + id := id_CN_DomainIndicator, + criticality := ignore, + value_ := { + cN_DomainIndicator := cs_domain + } + }, { + id := id_LAI, + criticality := ignore, + value_ := { + lAI := lai + } + }, { + id := id_SAI, + criticality := ignore, + value_ := { + sAI := sai + } + }, { + id := id_NAS_PDU, + criticality := ignore, + value_ := { + nAS_PDU := nas + } + }, { + id := id_IuSigConId, + criticality := ignore, + value_ := { + iuSignallingConnectionIdentifier := sigc_id + } + }, { + id := id_GlobalRNC_ID, + criticality := ignore, + value_ := { + globalRNC_ID := grnc_id + } + } + }, + protocolExtensions := exts + } + } + } +} + +template (value) RANAP_PDU +ts_RANAP_initialUE_PS(template (value) LAI lai, template (value) RAC rac, template (value) SAI sai, + template (value) NAS_PDU nas, + template (value) IuSignallingConnectionIdentifier sigc_id, + template (value) GlobalRNC_ID grnc_id, + template (omit) InitialUE_Message.protocolExtensions exts := omit) := { + initiatingMessage := { + procedureCode := id_InitialUE_Message, + criticality := ignore, + value_ := { + initialUE_Message := { + protocolIEs := { + { + id := id_CN_DomainIndicator, + criticality := ignore, + value_ := { + cN_DomainIndicator := ps_domain + } + }, { + id := id_LAI, + criticality := ignore, + value_ := { + lAI := lai + } + }, { + id := id_RAC, + criticality := ignore, + value_ := { + rAC := rac + } + }, { + id := id_SAI, + criticality := ignore, + value_ := { + sAI := sai + } + }, { + id := id_NAS_PDU, + criticality := ignore, + value_ := { + nAS_PDU := nas + } + }, { + id := id_IuSigConId, + criticality := ignore, + value_ := { + iuSignallingConnectionIdentifier := sigc_id + } + }, { + id := id_GlobalRNC_ID, + criticality := ignore, + value_ := { + globalRNC_ID := grnc_id + } + } + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_initialUE_PS(template LAI lai, template RAC rac, template SAI sai, + template NAS_PDU nas, + template IuSignallingConnectionIdentifier sigc_id, + template GlobalRNC_ID grnc_id, + template InitialUE_Message.protocolExtensions exts := *) := { + initiatingMessage := { + procedureCode := id_InitialUE_Message, + criticality := ignore, + value_ := { + initialUE_Message := { + protocolIEs := { + { + id := id_CN_DomainIndicator, + criticality := ignore, + value_ := { + cN_DomainIndicator := ps_domain + } + }, { + id := id_LAI, + criticality := ignore, + value_ := { + lAI := lai + } + }, { + id := id_RAC, + criticality := ignore, + value_ := { + rAC := rac + } + }, { + id := id_SAI, + criticality := ignore, + value_ := { + sAI := sai + } + }, { + id := id_NAS_PDU, + criticality := ignore, + value_ := { + nAS_PDU := nas + } + }, { + id := id_IuSigConId, + criticality := ignore, + value_ := { + iuSignallingConnectionIdentifier := sigc_id + } + }, { + id := id_GlobalRNC_ID, + criticality := ignore, + value_ := { + globalRNC_ID := grnc_id + } + } + }, + protocolExtensions := exts + } + } + } +} + +/***************************************************************************************************** + * Direct Transfer + *****************************************************************************************************/ + +template (value) RANAP_PDU +ts_RANAP_DirectTransfer(template (value) NAS_PDU nas, + /* template DirectTransfer.protocolIEs ies := {}, */ + template (omit) DirectTransfer.protocolExtensions exts := omit) := { + initiatingMessage := { + procedureCode := id_DirectTransfer, + criticality := ignore, + value_ := { + directTransfer := { + protocolIEs := { + { + id := id_NAS_PDU, + criticality := ignore, + value_ := { + nAS_PDU := nas + } + } + /* LAI, RAC, SAI */ + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_DirectTransfer(template NAS_PDU nas, + template SAPI sapi := sapi_0, + /* template DirectTransfer.protocolIEs ies := {}, */ + template DirectTransfer.protocolExtensions exts := *) := { + initiatingMessage := { + procedureCode := id_DirectTransfer, + criticality := ignore, + value_ := { + directTransfer := { + protocolIEs := { + { + id := id_NAS_PDU, + criticality := ignore, + value_ := { + nAS_PDU := nas + } + }, + * /* LAI, RAC, SAI */ + }, + protocolExtensions := exts + } + } + } +} + +template (value) RANAP_PDU +ts_RANAP_DirectTransferSAPI(template (value) NAS_PDU nas, + template (value) SAPI sapi := sapi_0, + /* template DirectTransfer.protocolIEs ies := {}, */ + template (omit) DirectTransfer.protocolExtensions exts := omit) := { + initiatingMessage := { + procedureCode := id_DirectTransfer, + criticality := ignore, + value_ := { + directTransfer := { + protocolIEs := { + { + id := id_NAS_PDU, + criticality := ignore, + value_ := { + nAS_PDU := nas + } + }, + /* LAI, RAC, SAI */ + { + id := id_SAPI, + criticality := ignore, + value_ := { + sAPI := sapi + } + } + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_DirectTransferSAPI(template NAS_PDU nas, + template SAPI sapi := sapi_0, + /* template DirectTransfer.protocolIEs ies := {}, */ + template DirectTransfer.protocolExtensions exts := *) := { + initiatingMessage := { + procedureCode := id_DirectTransfer, + criticality := ignore, + value_ := { + directTransfer := { + protocolIEs := { + { + id := id_NAS_PDU, + criticality := ignore, + value_ := { + nAS_PDU := nas + } + }, + *, /* LAI, RAC, SAI */ + { + id := id_SAPI, + criticality := ignore, + value_ := { + sAPI := sapi + } + } + }, + protocolExtensions := exts + } + } + } +} + + +/***************************************************************************************************** + * RAB Assignment Request + *****************************************************************************************************/ + +template (value) RAB_Parameters ts_RabParams := { + trafficClass := conversational, + rAB_AsymmetryIndicator := symmetric_bidirectional, + maxBitrate := { 12200 }, + guaranteedBitRate := { 12200 }, + deliveryOrder := delivery_order_requested, + maxSDU_Size := 244, + sDU_Parameters := { + { + sDU_ErrorRatio := { mantissa := 1, exponent := 5, iE_Extensions := omit }, + residualBitErrorRatio := { mantissa := 1, exponent := 6, iE_Extensions := omit }, + deliveryOfErroneousSDU := yes, + sDU_FormatInformationParameters := { + { + subflowSDU_Size := 81, + rAB_SubflowCombinationBitRate := omit, + iE_Extensions := omit + }, { + subflowSDU_Size := 39, + rAB_SubflowCombinationBitRate := omit, + iE_Extensions := omit + } + }, + iE_Extensions := omit + }, { + sDU_ErrorRatio := omit, + residualBitErrorRatio := { mantissa := 1, exponent := 3, iE_Extensions := omit }, + deliveryOfErroneousSDU := no_error_detection_consideration, + sDU_FormatInformationParameters := { + { + subflowSDU_Size := 103, + rAB_SubflowCombinationBitRate := omit, + iE_Extensions := omit + }, { + subflowSDU_Size := 0, + rAB_SubflowCombinationBitRate := omit, + iE_Extensions := omit + } + }, + iE_Extensions := omit + }, { + sDU_ErrorRatio := omit, + residualBitErrorRatio := { mantissa := 5, exponent := 3, iE_Extensions := omit }, + deliveryOfErroneousSDU := no_error_detection_consideration, + sDU_FormatInformationParameters := { + { + subflowSDU_Size := 60, + rAB_SubflowCombinationBitRate := omit, + iE_Extensions := omit + }, { + subflowSDU_Size := 0, + rAB_SubflowCombinationBitRate := omit, + iE_Extensions := omit + } + }, + iE_Extensions := omit + } + }, + transferDelay := 80, + trafficHandlingPriority := omit, + allocationOrRetentionPriority := { + priorityLevel := 15, + pre_emptionCapability := shall_not_trigger_pre_emption, + pre_emptionVulnerability := pre_emptable, + queuingAllowed := queueing_not_allowed, + iE_Extensions := omit + }, + sourceStatisticsDescriptor := omit, + relocationRequirement := omit, + iE_Extensions := omit +} + +template (value) UserPlaneInformation ts_UserPlaneInfo := { + userPlaneMode := support_mode_for_predefined_SDU_sizes, + uP_ModeVersions := '0000000000000010'B, + iE_Extensions := omit +} + +template (value) TransportLayerInformation ts_TLI(template (value) TransportLayerAddress tla, + template (value) BindingID binding_id) := { + transportLayerAddress := tla, + iuTransportAssociation := { + bindingID := binding_id + }, + iE_Extensions := omit +} +template TransportLayerInformation tr_TLI(template TransportLayerAddress tla, + template BindingID binding_id) := { + transportLayerAddress := tla, + iuTransportAssociation := { + bindingID := binding_id + }, + iE_Extensions := * +} + +template (value) RAB_SetupOrModifyList ts_RAB_SML(template (value) RAB_ID rab_id, + template (value) TransportLayerAddress tla, + template (value) BindingID binding_id) := { { + { + id := id_RAB_SetupOrModifyItem, + firstCriticality := reject, + firstValue := { + rAB_SetupOrModifyItemFirst := { + rAB_ID := rab_id, + nAS_SynchronisationIndicator := omit, + rAB_Parameters := ts_RabParams, + userPlaneInformation := ts_UserPlaneInfo, + transportLayerInformation := ts_TLI(tla, binding_id), + service_Handover := omit, + iE_Extensions := omit + } + }, + secondCriticality := ignore, + secondValue := { + rAB_SetupOrModifyItemSecond := { + pDP_TypeInformation := omit, + dataVolumeReportingIndication := omit, + dl_GTP_PDU_SequenceNumber := omit, + ul_GTP_PDU_SequenceNumber := omit, + dl_N_PDU_SequenceNumber := omit, + ul_N_PDU_SequenceNumber := omit, + iE_Extensions := omit + } + } + } +} } +template RAB_SetupOrModifyList tr_RAB_SML(template RAB_ID rab_id, + template TransportLayerAddress tla, + template BindingID binding_id) := { { + { + id := id_RAB_SetupOrModifyItem, + firstCriticality := reject, + firstValue := { + rAB_SetupOrModifyItemFirst := { + rAB_ID := rab_id, + nAS_SynchronisationIndicator := *, + rAB_Parameters := ts_RabParams, + userPlaneInformation := ts_UserPlaneInfo, + transportLayerInformation := tr_TLI(tla, binding_id), + service_Handover := *, + iE_Extensions := * + } + }, + secondCriticality := ignore, + secondValue := { + rAB_SetupOrModifyItemSecond := { + pDP_TypeInformation := omit, + dataVolumeReportingIndication := omit, + dl_GTP_PDU_SequenceNumber := omit, + ul_GTP_PDU_SequenceNumber := omit, + dl_N_PDU_SequenceNumber := omit, + ul_N_PDU_SequenceNumber := omit, + iE_Extensions := omit + } + } + } +} } + + +template (value) RANAP_PDU +ts_RANAP_RabAssReq(template (value) RAB_SetupOrModifyList rab_sml, + template (omit) RAB_AssignmentRequest.protocolExtensions exts := omit) := { + initiatingMessage := { + procedureCode := id_RAB_Assignment, + criticality := reject, + value_ := { + rAB_AssignmentRequest := { + protocolIEs := { + { + id := id_RAB_SetupOrModifyList, + criticality := reject, + value_ := { + rAB_SetupOrModifyList := rab_sml + } + } + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_RabAssReq(template RAB_SetupOrModifyList rab_sml, + template RAB_AssignmentRequest.protocolExtensions exts := *) := { + initiatingMessage := { + procedureCode := id_RAB_Assignment, + criticality := reject, + value_ := { + rAB_AssignmentRequest := { + protocolIEs := { + { + id := id_RAB_SetupOrModifyList, + criticality := reject, + value_ := { + rAB_SetupOrModifyList := rab_sml + } + } + }, + protocolExtensions := exts + } + } + } +} + + +template (value) RANAP_PDU +ts_RANAP_RabAssResp(template (value) RAB_SetupOrModifiedList rab_sml, + template (omit) RAB_AssignmentResponse.protocolExtensions exts := omit) := { + outcome := { + procedureCode := id_RAB_Assignment, + criticality := reject, + value_ := { + rAB_AssignmentResponse := { + protocolIEs := { + { + id := id_RAB_SetupOrModifiedList, + criticality := ignore, + value_ := { + rAB_SetupOrModifiedList := rab_sml + } + } + /* RAB-ReleasedList */ + /* RAB-QueuedList */ + /* RAB-FailedList */ + /* RAB-ReleaseFailedList */ + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_RabAssResp(template RAB_SetupOrModifiedList rab_sml, + template RAB_AssignmentResponse.protocolExtensions exts := *) := { + outcome := { + procedureCode := id_RAB_Assignment, + criticality := reject, + value_ := { + rAB_AssignmentResponse := { + protocolIEs := { + { + id := id_RAB_SetupOrModifiedList, + criticality := ignore, + value_ := { + rAB_SetupOrModifiedList := rab_sml + } + }, * + /* RAB-ReleasedList */ + /* RAB-QueuedList */ + /* RAB-FailedList */ + /* RAB-ReleaseFailedList */ + }, + protocolExtensions := exts + } + } + } +} + + +/***************************************************************************************************** + * + *****************************************************************************************************/ + +/* extract the L3 (NAS) from a given RANAP message */ +function f_ranap_extract_l3(RANAP_PDU ranap) return template (omit) octetstring +{ + var integer i; + + if (match(ranap, tr_RANAP_initialUE_CS(?, ?, ?, ?, ?)) or + match(ranap, tr_RANAP_initialUE_PS(?, ?, ?, ?, ?, ?)) ) { + var InitialUE_Message.protocolIEs ies := ranap.initiatingMessage.value_.initialUE_Message.protocolIEs; + for (i := 0; i < lengthof(ies); i := i+1) { + if (ies[i].id == id_NAS_PDU) { + return ies[i].value_.nAS_PDU; + } + } + } else if (match(ranap, tr_RANAP_DirectTransfer(?, ?))) { + var DirectTransfer.protocolIEs ies := ranap.initiatingMessage.value_.directTransfer.protocolIEs; + for (i := 0; i < lengthof(ies); i := i+1) { + if (ies[i].id == id_NAS_PDU) { + return ies[i].value_.nAS_PDU; + } + } + } else { + /* relocationInformation not supported yet*/ + } + return omit; +} + +function f_ranap_extract_sapi(RANAP_PDU ranap) return template (omit) SAPI +{ + var integer i; + + /* InitialUE message has no SAPI */ + if (match(ranap, tr_RANAP_DirectTransfer(?, ?))) { + var DirectTransfer.protocolIEs ies := ranap.initiatingMessage.value_.directTransfer.protocolIEs; + for (i := 0; i < lengthof(ies); i := i+1) { + if (ies[i].id == id_SAPI) { + return ies[i].value_.sAPI; + } + } + } + return omit; +} + + +} diff --git a/library/ranap/RANAP_Types.ttcn b/library/ranap/RANAP_Types.ttcn new file mode 100644 index 000000000..2e40abaea --- /dev/null +++ b/library/ranap/RANAP_Types.ttcn @@ -0,0 +1,7 @@ +module RANAP_Types { + + import from RANAP_PDU_Descriptions language "ASN.1:1997" all; + + external function enc_RANAP_PDU(in RANAP_PDU pdu) return octetstring; + external function dec_RANAP_PDU(in octetstring stream) return RANAP_PDU; +} diff --git a/library/ranap/regen_makefile.sh b/library/ranap/regen_makefile.sh new file mode 100755 index 000000000..0ae1cfd30 --- /dev/null +++ b/library/ranap/regen_makefile.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +FILES="*.asn *.ttcn RANAP_EncDec.cc" + +../../regen-makefile.sh $FILES + +sed -i -e '/^CPPFLAGS/ s/$/ `pkg-config --cflags libfftranscode`/' Makefile +sed -i -e '/^LDFLAGS/ s/$/ `pkg-config --libs libfftranscode`/' Makefile +sed -i -e '/^LINUX_LIBS/ s/$/ `pkg-config --libs libfftranscode`/' Makefile diff --git a/library/rua/RUA_CommonDataTypes.asn b/library/rua/RUA_CommonDataTypes.asn new file mode 100644 index 000000000..4212bb57d --- /dev/null +++ b/library/rua/RUA_CommonDataTypes.asn @@ -0,0 +1,53 @@ +-- RUA-CommonDataTypes.asn +-- +-- 3GPP TS 25.468 V9.1.0 (2010-03) +-- http://www.3gpp.org/ftp/Specs/html-info/25468.htm +-- +-- 9.3.5 Common definitions +-- +-- ************************************************************** +-- +-- Common definitions +-- +-- ************************************************************** + +RUA-CommonDataTypes { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) rua(5) version1 (1) rUA-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 } + + +ProcedureCode ::= INTEGER (0..255) + +PrivateIE-ID ::= CHOICE { + local INTEGER (0..65535), + global OBJECT IDENTIFIER +} + +ProtocolIE-ID ::= INTEGER (0..maxProtocolIEs) + +TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessful-outcome } + +END diff --git a/library/rua/RUA_Constants.asn b/library/rua/RUA_Constants.asn new file mode 100644 index 000000000..6ab3c25a1 --- /dev/null +++ b/library/rua/RUA_Constants.asn @@ -0,0 +1,63 @@ +-- RUA-Constants.asn +-- +-- 3GPP TS 25.468 V9.1.0 (2010-03) +-- http://www.3gpp.org/ftp/Specs/html-info/25468.htm +-- +-- 9.3.6 Constant definitions +-- + +-- ************************************************************** +-- +-- Constant definitions +-- +-- ************************************************************** + +RUA-Constants { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) rua(5) version1 (1) rUA-Constants (4) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + ProcedureCode, + ProtocolIE-ID +FROM RUA-CommonDataTypes; + + +-- ************************************************************** +-- +-- Elementary Procedures +-- +id-Connect ProcedureCode ::= 1 +id-DirectTransfer ProcedureCode ::= 2 +id-Disconnect ProcedureCode ::= 3 +id-ConnectionlessTransfer ProcedureCode ::= 4 +id-ErrorIndication ProcedureCode ::= 5 +id-privateMessage ProcedureCode ::= 6 + +-- ************************************************************** +-- +-- Lists +-- +-- ************************************************************** +maxNrOfErrors INTEGER ::= 256 + +-- ************************************************************** +-- +-- IEs +-- +-- ************************************************************** + +id-Cause ProtocolIE-ID ::= 1 +id-CriticalityDiagnostics ProtocolIE-ID ::= 2 +id-Context-ID ProtocolIE-ID ::= 3 +id-RANAP-Message ProtocolIE-ID ::= 4 +id-IntraDomainNasNodeSelector ProtocolIE-ID ::= 5 +id-Establishment-Cause ProtocolIE-ID ::= 6 +id-CN-DomainIndicator ProtocolIE-ID ::= 7 +id-CSGMembershipStatus ProtocolIE-ID ::= 9 + + +END diff --git a/library/rua/RUA_Containers.asn b/library/rua/RUA_Containers.asn new file mode 100644 index 000000000..cffd5c282 --- /dev/null +++ b/library/rua/RUA_Containers.asn @@ -0,0 +1,161 @@ +-- RUA-Containers.asn +-- +-- 3GPP TS 25.468 V9.1.0 (2010-03) +-- http://www.3gpp.org/ftp/Specs/html-info/25468.htm +-- +-- 9.3.7 Container definitions +-- + +-- ************************************************************** +-- +-- Container definitions +-- +-- ************************************************************** + +RUA-Containers { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) rua(5) version1 (1) rUA-Containers (5) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** + +IMPORTS + Criticality, + Presence, + PrivateIE-ID, + ProtocolIE-ID, + maxPrivateIEs, + maxProtocolExtensions, + maxProtocolIEs +FROM RUA-CommonDataTypes; + +-- ************************************************************** +-- +-- Class Definition for Private IEs +-- +-- ************************************************************** + +RUA-PRIVATE-IES ::= CLASS { + &id PrivateIE-ID, + &criticality Criticality, + &Value, + &presence Presence +} +WITH SYNTAX { + ID &id + CRITICALITY &criticality + TYPE &Value + PRESENCE &presence +} + + +-- ************************************************************** +-- +-- Class Definition for Protocol IEs +-- +-- ************************************************************** + +RUA-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 +-- +-- ************************************************************** + +RUA-PROTOCOL-EXTENSION ::= CLASS { + &id ProtocolIE-ID UNIQUE, + &criticality Criticality, + &Extension, + &presence Presence +} +WITH SYNTAX { + ID &id + CRITICALITY &criticality + EXTENSION &Extension + PRESENCE &presence +} + + +-- ************************************************************** +-- +-- Container for Protocol IEs +-- +-- ************************************************************** + +ProtocolIE-Container {RUA-PROTOCOL-IES : IEsSetParam} ::= + SEQUENCE (SIZE (0..maxProtocolIEs)) OF + ProtocolIE-Field {{IEsSetParam}} + +ProtocolIE-Single-Container {RUA-PROTOCOL-IES : IEsSetParam} ::= + ProtocolIE-Field {{IEsSetParam}} + +ProtocolIE-Field {RUA-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE { + id RUA-PROTOCOL-IES.&id ({IEsSetParam}), + criticality RUA-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}), + value RUA-PROTOCOL-IES.&Value ({IEsSetParam}{@id}) +} + +-- ************************************************************** +-- +-- Container Lists for Protocol IE Containers +-- +-- ************************************************************** + +ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, RUA-PROTOCOL-IES : IEsSetParam} ::= + SEQUENCE (SIZE (lowerBound..upperBound)) OF + ProtocolIE-Container {{IEsSetParam}} + +-- ************************************************************** +-- +-- Container for Protocol Extensions +-- +-- ************************************************************** + +ProtocolExtensionContainer {RUA-PROTOCOL-EXTENSION : ExtensionSetParam} ::= + SEQUENCE (SIZE (1..maxProtocolExtensions)) OF + ProtocolExtensionField {{ExtensionSetParam}} + +ProtocolExtensionField {RUA-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE { + id RUA-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}), + criticality RUA-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}), + extensionValue RUA-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id}) +} + + +-- ************************************************************** +-- +-- Container for Private IEs +-- +-- ************************************************************** + +PrivateIE-Container {RUA-PRIVATE-IES : IEsSetParam } ::= + SEQUENCE (SIZE (1.. maxPrivateIEs)) OF + PrivateIE-Field {{IEsSetParam}} + +PrivateIE-Field {RUA-PRIVATE-IES : IEsSetParam} ::= SEQUENCE { + id RUA-PRIVATE-IES.&id ({IEsSetParam}), + criticality RUA-PRIVATE-IES.&criticality ({IEsSetParam}{@id}), + value RUA-PRIVATE-IES.&Value ({IEsSetParam}{@id}) +} + + +END diff --git a/library/rua/RUA_EncDec.cc b/library/rua/RUA_EncDec.cc new file mode 100644 index 000000000..808e317f3 --- /dev/null +++ b/library/rua/RUA_EncDec.cc @@ -0,0 +1,64 @@ + +#include +#include +#include "RUA_PDU_Descriptions.hh" + +extern "C" { +#include +} + +namespace RUA__Types { + +TTCN_Module RUA__EncDec("RUA_EncDec", __DATE__, __TIME__); + +OCTETSTRING enc__RUA__PDU(const RUA__PDU__Descriptions::RUA__PDU &pdu) +{ + uint8_t *aper_buf; + int aper_buf_len; + TTCN_Buffer TTCN_buf; + TTCN_buf.clear(); + + /* Encode from abstract data type into BER/DER */ + pdu.encode(RUA__PDU__Descriptions::RUA__PDU_descr_, TTCN_buf, + TTCN_EncDec::CT_BER, BER_ENCODE_DER); + + aper_buf_len = fftranscode_ber2aper(FFTRANSC_T_RUA, &aper_buf, TTCN_buf.get_data(), TTCN_buf.get_len()); + if (aper_buf_len < 0) { + TTCN_error("fftranscode failed."); + } + + /* make octetstring from output buffer */ + OCTETSTRING ret_val(aper_buf_len, aper_buf); + + /* release dynamically-allocated output buffer */ + fftranscode_free(aper_buf); + + return ret_val; +} + +RUA__PDU__Descriptions::RUA__PDU dec__RUA__PDU(const OCTETSTRING &stream) +{ + uint8_t *ber_buf; + int ber_buf_len; + + /* First, decode APER + re-encode as BER */ + ber_buf_len = fftranscode_aper2ber(FFTRANSC_T_RUA, &ber_buf, (const unsigned char *)stream, stream.lengthof()); + if (ber_buf_len < 0) { + TTCN_error("fftranscode failed."); + } + + /* Then, re-encode from BER to TITAN representation */ + RUA__PDU__Descriptions::RUA__PDU ret_dcc; + TTCN_Buffer TTCN_buf; + TTCN_buf.clear(); + TTCN_buf.put_s(ber_buf_len, ber_buf); + + ret_dcc.decode(RUA__PDU__Descriptions::RUA__PDU_descr_, TTCN_buf, + TTCN_EncDec::CT_BER, BER_ACCEPT_ALL); + + fftranscode_free(ber_buf); + + return ret_dcc; +} + +} diff --git a/library/rua/RUA_IEs.asn b/library/rua/RUA_IEs.asn new file mode 100644 index 000000000..de1d51912 --- /dev/null +++ b/library/rua/RUA_IEs.asn @@ -0,0 +1,199 @@ +-- RUA-IEs.asn +-- +-- 3GPP TS 25.468 V9.1.0 (2010-03) +-- http://www.3gpp.org/ftp/Specs/html-info/25468.htm +-- +-- 9.3.4 Information Element definitions +-- + +-- ************************************************************** +-- +-- Information Element Definitions +-- +-- ************************************************************** + +RUA-IEs { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) rua(5) version1 (1) rUA-IEs (2) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + maxNrOfErrors +FROM RUA-Constants + + Criticality, + ProcedureCode, + ProtocolIE-ID, + TriggeringMessage +FROM RUA-CommonDataTypes + + ProtocolExtensionContainer{}, + RUA-PROTOCOL-EXTENSION +FROM RUA-Containers; + + +CN-DomainIndicator ::= ENUMERATED { + cs-domain, + ps-domain +} + +CSGMembershipStatus ::= ENUMERATED { + member, + non-member, + ... +} + +Establishment-Cause ::= ENUMERATED { + emergency-call, + normal-call, + ... + } + + + + + +Context-ID ::= BIT STRING (SIZE(24)) + +IntraDomainNasNodeSelector ::= SEQUENCE { + version CHOICE { + release99 SEQUENCE { + cn-Type CHOICE { + gsm-Map-IDNNS Gsm-map-IDNNS, + ansi-41-IDNNS Ansi-41-IDNNS + } + }, + later SEQUENCE { + futurecoding BIT STRING (SIZE (15)) + } + } +} + +Gsm-map-IDNNS ::= SEQUENCE { + routingbasis CHOICE { + localPTMSI SEQUENCE { + routingparameter RoutingParameter + }, + tMSIofsamePLMN SEQUENCE { + routingparameter RoutingParameter + }, + tMSIofdifferentPLMN SEQUENCE { + routingparameter RoutingParameter + }, + iMSIresponsetopaging SEQUENCE { + routingparameter RoutingParameter + }, + iMSIcauseUEinitiatedEvent SEQUENCE { + routingparameter RoutingParameter + }, + iMEI SEQUENCE { + routingparameter RoutingParameter + }, + spare2 SEQUENCE { + routingparameter RoutingParameter + }, + spare1 SEQUENCE { + routingparameter RoutingParameter + } + }, + -- dummy is not used in this version of the specification and + -- it should be ignored by the receiver. + dummy BOOLEAN +} + + +Ansi-41-IDNNS ::= BIT STRING (SIZE (14)) + +RANAP-Message ::= OCTET STRING + +RoutingParameter ::= BIT STRING (SIZE (10)) + + +-- ************************************************************** +-- +-- Cause IE +-- +-- ************************************************************** + +Cause ::= CHOICE { + radioNetwork CauseRadioNetwork, + transport CauseTransport, + protocol CauseProtocol, + misc CauseMisc, + ... +} +CauseRadioNetwork ::= ENUMERATED { + normal, + connect-failed, + network-release, + unspecified, + ... +} +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, + ... +} + +-- ************************************************************** +-- +-- CriticalityDiagnostics +-- +-- ************************************************************** + +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 RUA-PROTOCOL-EXTENSION ::= { + ... +} + +CriticalityDiagnostics-ExtIEs RUA-PROTOCOL-EXTENSION ::= { + ... +} + + +TypeOfError ::= ENUMERATED { + not-understood, + missing, + ... +} + +END diff --git a/library/rua/RUA_PDU_Contents.asn b/library/rua/RUA_PDU_Contents.asn new file mode 100644 index 000000000..b25989582 --- /dev/null +++ b/library/rua/RUA_PDU_Contents.asn @@ -0,0 +1,204 @@ +-- RUA-PDU-Contents.asn +-- +-- 3GPP TS 25.468 V9.1.0 (2010-03) +-- http://www.3gpp.org/ftp/Specs/html-info/25468.htm +-- +-- 9.3.3 PDU definitions +-- + +-- ************************************************************** +-- +-- PDU definitions for RUA. +-- +-- ************************************************************** + +RUA-PDU-Contents { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) rua(5) version1 (1) rUA-PDU-Contents (1) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** + +IMPORTS + Cause, + CriticalityDiagnostics, + Context-ID, + CN-DomainIndicator, + CSGMembershipStatus, + IntraDomainNasNodeSelector, + RANAP-Message, + Establishment-Cause + +FROM RUA-IEs + + + ProtocolExtensionContainer{}, + ProtocolIE-ContainerList{}, + ProtocolIE-Container{}, + ProtocolIE-Single-Container{}, + PrivateIE-Container{}, + RUA-PRIVATE-IES, + RUA-PROTOCOL-EXTENSION, + RUA-PROTOCOL-IES +FROM RUA-Containers + + id-Cause, + id-CriticalityDiagnostics, + id-Context-ID, + id-CN-DomainIndicator, + id-CSGMembershipStatus, + id-RANAP-Message, + id-IntraDomainNasNodeSelector, + id-Establishment-Cause + +FROM RUA-Constants; + + +-- ************************************************************** +-- +-- Connect +-- +-- ************************************************************** + +Connect ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {ConnectIEs} }, + protocolExtensions ProtocolExtensionContainer { {ConnectExtensions} } OPTIONAL, + ... +} + +ConnectIEs RUA-PROTOCOL-IES ::= { + { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-Context-ID CRITICALITY reject TYPE Context-ID PRESENCE mandatory } | + { ID id-IntraDomainNasNodeSelector CRITICALITY ignore TYPE IntraDomainNasNodeSelector PRESENCE optional } | + { ID id-Establishment-Cause CRITICALITY reject TYPE Establishment-Cause PRESENCE mandatory } | + { ID id-RANAP-Message CRITICALITY reject TYPE RANAP-Message PRESENCE mandatory }, + ... +} + +ConnectExtensions RUA-PROTOCOL-EXTENSION ::= { + { ID id-CSGMembershipStatus CRITICALITY ignore EXTENSION CSGMembershipStatus PRESENCE optional }, + + ... +} + + +-- ************************************************************** +-- +-- Direct Transfer +-- +-- ************************************************************** + +DirectTransfer ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {DirectTransferIEs} }, + protocolExtensions ProtocolExtensionContainer { {DirectTransferExtensions} } OPTIONAL, + ... +} + +DirectTransferIEs RUA-PROTOCOL-IES ::= { + { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-Context-ID CRITICALITY reject TYPE Context-ID PRESENCE mandatory } | + { ID id-RANAP-Message CRITICALITY reject TYPE RANAP-Message PRESENCE mandatory }, + ... +} + +DirectTransferExtensions RUA-PROTOCOL-EXTENSION ::= { + ... +} + + + +-- ************************************************************** +-- +-- Disconnect +-- +-- ************************************************************** + +Disconnect ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {DisconnectIEs} }, + protocolExtensions ProtocolExtensionContainer { {DisconnectExtensions} } OPTIONAL, + ... +} + +DisconnectIEs RUA-PROTOCOL-IES ::= { + { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-Context-ID CRITICALITY reject TYPE Context-ID PRESENCE mandatory } | + { ID id-Cause CRITICALITY reject TYPE Cause PRESENCE mandatory } | + { ID id-RANAP-Message CRITICALITY reject TYPE RANAP-Message PRESENCE conditional }, + -- RANAP message shall be included if Cause value is "normal" + ... +} + +DisconnectExtensions RUA-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Connectionless Transfer +-- +-- ************************************************************** + +ConnectionlessTransfer ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {ConnectionlessTransferIEs} }, + protocolExtensions ProtocolExtensionContainer { {ConnectionlessTransferExtensions} } OPTIONAL, + ... +} + +ConnectionlessTransferIEs RUA-PROTOCOL-IES ::= { + { ID id-RANAP-Message CRITICALITY reject TYPE RANAP-Message PRESENCE mandatory }, + ... +} + +ConnectionlessTransferExtensions RUA-PROTOCOL-EXTENSION ::= { + ... +} + + + + +-- ************************************************************** +-- +-- ERROR INDICATION +-- +-- ************************************************************** + +ErrorIndication ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {ErrorIndicationIEs} }, + protocolExtensions ProtocolExtensionContainer { {ErrorIndicationExtensions} } OPTIONAL, + ... +} + +ErrorIndicationIEs RUA-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +ErrorIndicationExtensions RUA-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- PRIVATE MESSAGE +-- +-- ************************************************************** + +PrivateMessage ::= SEQUENCE { + privateIEs PrivateIE-Container {{PrivateMessage-IEs}}, + ... +} + +PrivateMessage-IEs RUA-PRIVATE-IES ::= { + ... +} + + +END diff --git a/library/rua/RUA_PDU_Descriptions.asn b/library/rua/RUA_PDU_Descriptions.asn new file mode 100644 index 000000000..7220b2893 --- /dev/null +++ b/library/rua/RUA_PDU_Descriptions.asn @@ -0,0 +1,176 @@ +-- RUA-PDU-Descriptions.asn +-- +-- 3GPP TS 25.468 V9.1.0 (2010-03) +-- http://www.3gpp.org/ftp/Specs/html-info/25468.htm +-- +-- 9.3.2 Elementary Procedure definitions +-- + +-- ************************************************************** +-- +-- Elementary Procedure definitions +-- +-- ************************************************************** + +RUA-PDU-Descriptions { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) rua(5) version1 (1) rUA-PDU-Descriptions (0)} + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** + +IMPORTS + Criticality, + ProcedureCode +FROM RUA-CommonDataTypes + Connect, + DirectTransfer, + Disconnect, + ConnectionlessTransfer, + ErrorIndication, + PrivateMessage + + +FROM RUA-PDU-Contents + id-Connect, + id-DirectTransfer, + id-Disconnect, + id-ConnectionlessTransfer, + id-ErrorIndication, + id-privateMessage +FROM RUA-Constants; + +-- ************************************************************** +-- +-- Interface Elementary Procedure Class +-- +-- ************************************************************** + +RUA-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 +-- +-- ************************************************************** + +RUA-PDU ::= CHOICE { + initiatingMessage InitiatingMessage, + successfulOutcome SuccessfulOutcome, + unsuccessfulOutcome UnsuccessfulOutcome, + ... +} + + +InitiatingMessage ::= SEQUENCE { + procedureCode RUA-ELEMENTARY-PROCEDURE.&procedureCode ({RUA-ELEMENTARY-PROCEDURES}), + criticality RUA-ELEMENTARY-PROCEDURE.&criticality ({RUA-ELEMENTARY-PROCEDURES}{@procedureCode}), + value RUA-ELEMENTARY-PROCEDURE.&InitiatingMessage ({RUA-ELEMENTARY-PROCEDURES}{@procedureCode}) +} + +SuccessfulOutcome ::= SEQUENCE { + procedureCode RUA-ELEMENTARY-PROCEDURE.&procedureCode ({RUA-ELEMENTARY-PROCEDURES}), + criticality RUA-ELEMENTARY-PROCEDURE.&criticality ({RUA-ELEMENTARY-PROCEDURES}{@procedureCode}), + value RUA-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({RUA-ELEMENTARY-PROCEDURES}{@procedureCode}) +} + +UnsuccessfulOutcome ::= SEQUENCE { + procedureCode RUA-ELEMENTARY-PROCEDURE.&procedureCode ({RUA-ELEMENTARY-PROCEDURES}), + criticality RUA-ELEMENTARY-PROCEDURE.&criticality ({RUA-ELEMENTARY-PROCEDURES}{@procedureCode}), + value RUA-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({RUA-ELEMENTARY-PROCEDURES}{@procedureCode}) +} + +-- ************************************************************** +-- +-- Interface Elementary Procedure List +-- +-- ************************************************************** + +RUA-ELEMENTARY-PROCEDURES RUA-ELEMENTARY-PROCEDURE ::= { + RUA-ELEMENTARY-PROCEDURES-CLASS-1 | + RUA-ELEMENTARY-PROCEDURES-CLASS-2 , + ... +} + +RUA-ELEMENTARY-PROCEDURES-CLASS-1 RUA-ELEMENTARY-PROCEDURE ::= { + ... +} + + +RUA-ELEMENTARY-PROCEDURES-CLASS-2 RUA-ELEMENTARY-PROCEDURE ::= { + connectionRequest | + directTransfer | + disconnectRequest | + connectionlessTransfer | + errorIndication | + privateMessage, + ... +} + +-- ************************************************************** +-- +-- Interface Elementary Procedures +-- +-- ************************************************************** + + +connectionRequest RUA-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Connect + PROCEDURE CODE id-Connect + CRITICALITY ignore +} + +directTransfer RUA-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE DirectTransfer + PROCEDURE CODE id-DirectTransfer + CRITICALITY ignore +} + +disconnectRequest RUA-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Disconnect + PROCEDURE CODE id-Disconnect + CRITICALITY ignore +} +connectionlessTransfer RUA-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE ConnectionlessTransfer + PROCEDURE CODE id-ConnectionlessTransfer + CRITICALITY ignore +} + +errorIndication RUA-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE ErrorIndication + PROCEDURE CODE id-ErrorIndication + CRITICALITY ignore +} + +privateMessage RUA-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE PrivateMessage + PROCEDURE CODE id-privateMessage + CRITICALITY ignore +} + + +END + + diff --git a/library/rua/RUA_Types.ttcn b/library/rua/RUA_Types.ttcn new file mode 100644 index 000000000..0e52613a5 --- /dev/null +++ b/library/rua/RUA_Types.ttcn @@ -0,0 +1,7 @@ +module RUA_Types { + + import from RUA_PDU_Descriptions language "ASN.1:1997" all; + + external function enc_RUA_PDU(in RUA_PDU pdu) return octetstring; + external function dec_RUA_PDU(in octetstring stream) return RUA_PDU; +} diff --git a/library/rua/regen_makefile.sh b/library/rua/regen_makefile.sh new file mode 100755 index 000000000..1f4520309 --- /dev/null +++ b/library/rua/regen_makefile.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +FILES="*.asn *.ttcn RUA_EncDec.cc" + +../../regen-makefile.sh $FILES + +sed -i -e '/^CPPFLAGS/ s/$/ `pkg-config --cflags libfftranscode`/' Makefile +sed -i -e '/^LDFLAGS/ s/$/ `pkg-config --libs libfftranscode`/' Makefile +sed -i -e '/^LINUX_LIBS/ s/$/ `pkg-config --libs libfftranscode`/' Makefile