aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xasn-test/ttcn3_asn1_rename.sh1
-rw-r--r--library/hnbap/HNBAP_CommonDataTypes.asn55
-rw-r--r--library/hnbap/HNBAP_Constants.asn92
-rw-r--r--library/hnbap/HNBAP_Containers.asn157
-rw-r--r--library/hnbap/HNBAP_EncDec.cc64
-rw-r--r--library/hnbap/HNBAP_IEs.asn518
-rw-r--r--library/hnbap/HNBAP_PDU_Contents.asn490
-rw-r--r--library/hnbap/HNBAP_PDU_Descriptions.asn231
-rw-r--r--library/hnbap/HNBAP_Types.ttcn7
-rwxr-xr-xlibrary/hnbap/regen_makefile.sh9
-rw-r--r--library/ranap/RANAP_CodecPort.ttcn410
-rw-r--r--library/ranap/RANAP_CommonDataTypes.asn40
-rw-r--r--library/ranap/RANAP_Constants.asn436
-rw-r--r--library/ranap/RANAP_Containers.asn202
-rw-r--r--library/ranap/RANAP_EncDec.cc66
-rw-r--r--library/ranap/RANAP_IEs.asn2796
-rw-r--r--library/ranap/RANAP_PDU_Contents.asn3736
-rw-r--r--library/ranap/RANAP_PDU_Descriptions.asn646
-rw-r--r--library/ranap/RANAP_Selftests.ttcn76
-rw-r--r--library/ranap/RANAP_Templates.ttcn1427
-rw-r--r--library/ranap/RANAP_Types.ttcn7
-rwxr-xr-xlibrary/ranap/regen_makefile.sh9
-rw-r--r--library/rua/RUA_CommonDataTypes.asn53
-rw-r--r--library/rua/RUA_Constants.asn63
-rw-r--r--library/rua/RUA_Containers.asn161
-rw-r--r--library/rua/RUA_EncDec.cc64
-rw-r--r--library/rua/RUA_IEs.asn199
-rw-r--r--library/rua/RUA_PDU_Contents.asn204
-rw-r--r--library/rua/RUA_PDU_Descriptions.asn176
-rw-r--r--library/rua/RUA_Types.ttcn7
-rwxr-xr-xlibrary/rua/regen_makefile.sh9
31 files changed, 12411 insertions, 0 deletions
diff --git a/asn-test/ttcn3_asn1_rename.sh b/asn-test/ttcn3_asn1_rename.sh
new file mode 100755
index 00000000..f34f85af
--- /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 00000000..8097a3e1
--- /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 00000000..befb935c
--- /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 00000000..f00c4d0e
--- /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 00000000..37d764f6
--- /dev/null
+++ b/library/hnbap/HNBAP_EncDec.cc
@@ -0,0 +1,64 @@
+
+#include <string.h>
+#include <stdarg.h>
+#include "HNBAP_PDU_Descriptions.hh"
+
+extern "C" {
+#include <fftranscode/transcode.h>
+}
+
+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 00000000..3a4fa1c6
--- /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 00000000..97c97432
--- /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 00000000..514d4510
--- /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 00000000..0742714b
--- /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 00000000..4da6872a
--- /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 00000000..07e1b00e
--- /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 <laforge@gnumonks.org>
+ * 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 00000000..0287dfc9
--- /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 00000000..46360d0f
--- /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 00000000..f920a62a
--- /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 00000000..7626b7be
--- /dev/null
+++ b/library/ranap/RANAP_EncDec.cc
@@ -0,0 +1,66 @@
+
+#include <string.h>
+#include <stdarg.h>
+#include "RANAP_PDU_Descriptions.hh"
+
+extern "C" {
+#include <fftranscode/transcode.h>
+}
+
+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 00000000..3b47d012
--- /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 00000000..840fd695
--- /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 00000000..92d4b0f2
--- /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 00000000..dd72e353
--- /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 00000000..e55f2125
--- /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 00000000..2e40abae
--- /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 00000000..0ae1cfd3
--- /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 00000000..4212bb57
--- /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 00000000..6ab3c25a
--- /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 00000000..cffd5c28
--- /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 00000000..808e317f
--- /dev/null
+++ b/library/rua/RUA_EncDec.cc
@@ -0,0 +1,64 @@
+
+#include <string.h>
+#include <stdarg.h>
+#include "RUA_PDU_Descriptions.hh"
+
+extern "C" {
+#include <fftranscode/transcode.h>
+}
+
+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 00000000..de1d5191
--- /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 00000000..b2598958
--- /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 00000000..7220b289
--- /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 00000000..0e52613a
--- /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 00000000..1f452030
--- /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