diff --git a/asn-test/ttcn3_asn1_rename.sh b/asn-test/ttcn3_asn1_rename.sh new file mode 100755 index 000000000..f34f85af8 --- /dev/null +++ b/asn-test/ttcn3_asn1_rename.sh @@ -0,0 +1 @@ +for f in *.asn; do nf=`echo $f | sed -e 's/-/_/'g`; mv $f $nf; done diff --git a/library/hnbap/HNBAP_CommonDataTypes.asn b/library/hnbap/HNBAP_CommonDataTypes.asn new file mode 100644 index 000000000..8097a3e1f --- /dev/null +++ b/library/hnbap/HNBAP_CommonDataTypes.asn @@ -0,0 +1,55 @@ +-- HNBAP-CommonDataTypes.asn +-- +-- 3GPP TS 25.469 V10.1.0 (2011-06) +-- http://www.3gpp.org/ftp/Specs/html-info/25469.htm +-- +-- 9.3.5 Common Definitions +-- + +-- ************************************************************** +-- +-- Common definitions +-- +-- ************************************************************** + +HNBAP-CommonDataTypes { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) hnbap(6) version1 (1) hnbap-CommonDataTypes (3) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +-- ************************************************************** +-- +-- Extension constants +-- +-- ************************************************************** + +maxPrivateIEs INTEGER ::= 65535 +maxProtocolExtensions INTEGER ::= 65535 +maxProtocolIEs INTEGER ::= 65535 + +-- ************************************************************** +-- +-- Common Data Types +-- +-- ************************************************************** +Criticality ::= ENUMERATED { reject, ignore, notify } + +Presence ::= ENUMERATED { optional, conditional, mandatory } + +PrivateIE-ID ::= CHOICE { + local INTEGER (0..65535), + global OBJECT IDENTIFIER +} + + +ProcedureCode ::= INTEGER (0..255) + + +ProtocolIE-ID ::= INTEGER (0..maxProtocolIEs) + +TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessful-outcome } + +END diff --git a/library/hnbap/HNBAP_Constants.asn b/library/hnbap/HNBAP_Constants.asn new file mode 100644 index 000000000..befb935c4 --- /dev/null +++ b/library/hnbap/HNBAP_Constants.asn @@ -0,0 +1,92 @@ +-- HNBAP-Constants.asn +-- +-- 3GPP TS 25.469 V10.1.0 (2011-06) +-- http://www.3gpp.org/ftp/Specs/html-info/25469.htm +-- +-- 9.3.6 Constant Definitions +-- +-- ************************************************************** +-- +-- Constant definitions +-- +-- ************************************************************** + +HNBAP-Constants { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) hnbap(6) version1 (1) hnbap-Constants (4) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + ProcedureCode, + ProtocolIE-ID +FROM HNBAP-CommonDataTypes; + + +-- ************************************************************** +-- +-- Elementary Procedures +-- +id-HNBRegister ProcedureCode ::= 1 +id-HNBDe-Register ProcedureCode ::= 2 +id-UERegister ProcedureCode ::= 3 +id-UEDe-Register ProcedureCode ::= 4 +id-ErrorIndication ProcedureCode ::= 5 +id-privateMessage ProcedureCode ::= 6 +id-CSGMembershipUpdate ProcedureCode ::= 7 +id-TNLUpdate ProcedureCode ::= 9 +id-HNBConfigTransfer ProcedureCode ::= 10 +id-RelocationComplete ProcedureCode ::= 11 + + +-- ************************************************************** +-- +-- Lists +-- +-- ************************************************************** +maxNrOfErrors INTEGER ::= 256 +maxnoofRABs INTEGER ::= 256 +maxnoofNeighbours INTEGER ::= 32 +maxnoofIurhAddresses INTEGER ::= 3 + +-- ************************************************************** +-- +-- IEs +-- +-- ************************************************************** + +id-Cause ProtocolIE-ID ::= 1 +id-CriticalityDiagnostics ProtocolIE-ID ::= 2 +id-HNB-Identity ProtocolIE-ID ::= 3 +id-Context-ID ProtocolIE-ID ::= 4 +id-UE-Identity ProtocolIE-ID ::= 5 +id-LAC ProtocolIE-ID ::= 6 +id-RAC ProtocolIE-ID ::= 7 +id-HNB-Location-Information ProtocolIE-ID ::= 8 +id-PLMNidentity ProtocolIE-ID ::= 9 +id-SAC ProtocolIE-ID ::= 10 +id-CellIdentity ProtocolIE-ID ::= 11 +id-Registration-Cause ProtocolIE-ID ::= 12 +id-UE-Capabilities ProtocolIE-ID ::= 13 +id-RNC-ID ProtocolIE-ID ::= 14 +id-CSG-ID ProtocolIE-ID ::= 15 +id-BackoffTimer ProtocolIE-ID ::= 16 +id-HNB-Internet-Information ProtocolIE-ID ::= 17 +id-HNB-Cell-Access-Mode ProtocolIE-ID ::= 18 +id-MuxPortNumber ProtocolIE-ID ::= 19 +id-Service-Area-For-Broadcast ProtocolIE-ID ::= 20 +id-CSGMembershipStatus ProtocolIE-ID ::= 21 +id-RABList ProtocolIE-ID ::= 22 +id-HNBConfigInfo ProtocolIE-ID ::= 23 +id-AccessResult ProtocolIE-ID ::= 25 +id-Update-cause ProtocolIE-ID ::= 26 +id-NeighbourInfoList ProtocolIE-ID ::= 27 +id-NeighbourInfoRequestList ProtocolIE-ID ::= 28 +id-Iurh-Signalling-TNL-Address ProtocolIE-ID ::= 29 +id-PSC ProtocolIE-ID ::= 30 +id-HNB-Cell-Identifier ProtocolIE-ID ::= 31 + + +END diff --git a/library/hnbap/HNBAP_Containers.asn b/library/hnbap/HNBAP_Containers.asn new file mode 100644 index 000000000..f00c4d0e2 --- /dev/null +++ b/library/hnbap/HNBAP_Containers.asn @@ -0,0 +1,157 @@ +-- HNBAP-Containers.asn +-- +-- 3GPP TS 25.469 V10.1.0 (2011-06) +-- http://www.3gpp.org/ftp/Specs/html-info/25469.htm +-- +-- 9.3.7 Container Definitions +-- + +-- ************************************************************** +-- +-- Container definitions +-- +-- ************************************************************** + +HNBAP-Containers { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) hnbap(6) version1 (1) hnbap-Containers (5) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** + +IMPORTS + Criticality, + Presence, + PrivateIE-ID, + ProtocolIE-ID, + maxPrivateIEs, + maxProtocolExtensions, + maxProtocolIEs +FROM HNBAP-CommonDataTypes; + +-- ************************************************************** +-- +-- Class Definition for Protocol IEs +-- +-- ************************************************************** + +HNBAP-PROTOCOL-IES ::= CLASS { + &id ProtocolIE-ID UNIQUE, + &criticality Criticality, + &Value, + &presence Presence +} +WITH SYNTAX { + ID &id + CRITICALITY &criticality + TYPE &Value + PRESENCE &presence +} + +-- ************************************************************** +-- +-- Class Definition for Protocol Extensions +-- +-- ************************************************************** + +HNBAP-PROTOCOL-EXTENSION ::= CLASS { + &id ProtocolIE-ID UNIQUE, + &criticality Criticality, + &Extension, + &presence Presence +} +WITH SYNTAX { + ID &id + CRITICALITY &criticality + EXTENSION &Extension + PRESENCE &presence +} + +-- ************************************************************** +-- +-- Class Definition for Private IEs +-- +-- ************************************************************** + +HNBAP-PRIVATE-IES ::= CLASS { + &id PrivateIE-ID, + &criticality Criticality, + &Value, + &presence Presence +} +WITH SYNTAX { + ID &id + CRITICALITY &criticality + TYPE &Value + PRESENCE &presence +} + +-- ************************************************************** +-- +-- Container for Protocol IEs +-- +-- ************************************************************** + +ProtocolIE-Container {HNBAP-PROTOCOL-IES : IEsSetParam} ::= + SEQUENCE (SIZE (0..maxProtocolIEs)) OF + ProtocolIE-Field {{IEsSetParam}} + +ProtocolIE-Single-Container {HNBAP-PROTOCOL-IES : IEsSetParam} ::= + ProtocolIE-Field {{IEsSetParam}} + +ProtocolIE-Field {HNBAP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE { + id HNBAP-PROTOCOL-IES.&id ({IEsSetParam}), + criticality HNBAP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}), + value HNBAP-PROTOCOL-IES.&Value ({IEsSetParam}{@id}) +} + +-- ************************************************************** +-- +-- Container Lists for Protocol IE Containers +-- +-- ************************************************************** + +ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, HNBAP-PROTOCOL-IES : IEsSetParam} ::= + SEQUENCE (SIZE (lowerBound..upperBound)) OF + ProtocolIE-Container {{IEsSetParam}} + +-- ************************************************************** +-- +-- Container for Protocol Extensions +-- +-- ************************************************************** + +ProtocolExtensionContainer {HNBAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= + SEQUENCE (SIZE (1..maxProtocolExtensions)) OF + ProtocolExtensionField {{ExtensionSetParam}} + +ProtocolExtensionField {HNBAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE { + id HNBAP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}), + criticality HNBAP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}), + extensionValue HNBAP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id}) +} + +-- ************************************************************** +-- +-- Container for Private IEs +-- +-- ************************************************************** + +PrivateIE-Container {HNBAP-PRIVATE-IES : IEsSetParam } ::= + SEQUENCE (SIZE (1.. maxPrivateIEs)) OF + PrivateIE-Field {{IEsSetParam}} + +PrivateIE-Field {HNBAP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE { + id HNBAP-PRIVATE-IES.&id ({IEsSetParam}), + criticality HNBAP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}), + value HNBAP-PRIVATE-IES.&Value ({IEsSetParam}{@id}) +} + +END diff --git a/library/hnbap/HNBAP_EncDec.cc b/library/hnbap/HNBAP_EncDec.cc new file mode 100644 index 000000000..37d764f69 --- /dev/null +++ b/library/hnbap/HNBAP_EncDec.cc @@ -0,0 +1,64 @@ + +#include +#include +#include "HNBAP_PDU_Descriptions.hh" + +extern "C" { +#include +} + +namespace HNBAP__Types { + +TTCN_Module HNBAP__EncDec("HNBAP_EncDec", __DATE__, __TIME__); + +OCTETSTRING enc__HNBAP__PDU(const HNBAP__PDU__Descriptions::HNBAP__PDU &pdu) +{ + uint8_t *aper_buf; + int aper_buf_len; + TTCN_Buffer TTCN_buf; + TTCN_buf.clear(); + + /* Encode from abstract data type into BER/DER */ + pdu.encode(HNBAP__PDU__Descriptions::HNBAP__PDU_descr_, TTCN_buf, + TTCN_EncDec::CT_BER, BER_ENCODE_DER); + + aper_buf_len = fftranscode_ber2aper(FFTRANSC_T_HNBAP, &aper_buf, TTCN_buf.get_data(), TTCN_buf.get_len()); + if (aper_buf_len < 0) { + TTCN_error("fftranscode failed."); + } + + /* make octetstring from output buffer */ + OCTETSTRING ret_val(aper_buf_len, aper_buf); + + /* release dynamically-allocated output buffer */ + fftranscode_free(aper_buf); + + return ret_val; +} + +HNBAP__PDU__Descriptions::HNBAP__PDU dec__HNBAP__PDU(const OCTETSTRING &stream) +{ + uint8_t *ber_buf; + int ber_buf_len; + + /* First, decode APER + re-encode as BER */ + ber_buf_len = fftranscode_aper2ber(FFTRANSC_T_HNBAP, &ber_buf, (const unsigned char *)stream, stream.lengthof()); + if (ber_buf_len < 0) { + TTCN_error("fftranscode failed."); + } + + /* Then, re-encode from BER to TITAN representation */ + HNBAP__PDU__Descriptions::HNBAP__PDU ret_dcc; + TTCN_Buffer TTCN_buf; + TTCN_buf.clear(); + TTCN_buf.put_s(ber_buf_len, ber_buf); + + ret_dcc.decode(HNBAP__PDU__Descriptions::HNBAP__PDU_descr_, TTCN_buf, + TTCN_EncDec::CT_BER, BER_ACCEPT_ALL); + + fftranscode_free(ber_buf); + + return ret_dcc; +} + +} diff --git a/library/hnbap/HNBAP_IEs.asn b/library/hnbap/HNBAP_IEs.asn new file mode 100644 index 000000000..3a4fa1c65 --- /dev/null +++ b/library/hnbap/HNBAP_IEs.asn @@ -0,0 +1,518 @@ +-- HNBAP-IEs.asn +-- +-- 3GPP TS 25.469 V10.1.0 (2011-06) +-- http://www.3gpp.org/ftp/Specs/html-info/25469.htm +-- +-- 9.3.4 Information Element Definitions +-- + +-- ************************************************************** +-- +-- Information Element Definitions +-- +-- ************************************************************** + +HNBAP-IEs { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) hnbap(6) version1 (1) hnbap-IEs (2) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + maxNrOfErrors, + maxnoofRABs, + maxnoofNeighbours, + maxnoofIurhAddresses, + id-HNB-Internet-Information, + id-HNB-Cell-Identifier + +FROM HNBAP-Constants + + Criticality, + ProcedureCode, + ProtocolIE-ID, + TriggeringMessage +FROM HNBAP-CommonDataTypes + + ProtocolExtensionContainer{}, + HNBAP-PROTOCOL-EXTENSION +FROM HNBAP-Containers; + + +--A +Access-stratum-release-indicator ::= ENUMERATED {r99, + rel-4, rel-5, rel-6, rel-7, rel-8-and-beyond, + ...} + +AccessResult ::= ENUMERATED {allowed, notAllowed, ...} + +AltitudeAndDirection ::= SEQUENCE { + directionOfAltitude ENUMERATED {height, depth}, + altitude INTEGER (0..32767), + ... +} + +--B +BackoffTimer ::= INTEGER(0..3600) + +BindingID ::= OCTET STRING(SIZE(1..4,...)) + +--C +Cause ::= CHOICE { + radioNetwork CauseRadioNetwork, + transport CauseTransport, + protocol CauseProtocol, + misc CauseMisc, + ... +} +CauseRadioNetwork ::= ENUMERATED { + overload, + unauthorised-Location, + unauthorised-HNB, + hNB-parameter-mismatch, + invalid-UE-identity, + uE-not-allowed-on-this-HNB, + uE-unauthorised, + connection-with-UE-lost, + ue-RRC-telease, + hNB-not-registered, + unspecified, + normal, + uE-relocated, + ue-registered-in-another-HNB, + ... +} + +CauseTransport ::= ENUMERATED { + transport-resource-unavailable, + unspecified, + ... +} + +CauseProtocol ::= ENUMERATED { + transfer-syntax-error, + abstract-syntax-error-reject, + abstract-syntax-error-ignore-and-notify, + message-not-compatible-with-receiver-state, + semantic-error, + unspecified, + abstract-syntax-error-falsely-constructed-message, + ... +} + +CauseMisc ::= ENUMERATED { + processing-overload, + hardware-failure, + o-and-m-intervention, + unspecified, + ... +} + +CellIdentity ::= BIT STRING (SIZE (28)) + +Context-ID ::= BIT STRING (SIZE(24)) + +CriticalityDiagnostics ::= SEQUENCE { + procedureCode ProcedureCode OPTIONAL, + triggeringMessage TriggeringMessage OPTIONAL, + procedureCriticality Criticality OPTIONAL, + iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL, + ... +} + +CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF + SEQUENCE { + iECriticality Criticality, + iE-ID ProtocolIE-ID, + typeOfError TypeOfError, + iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL, + ... + } + +CriticalityDiagnostics-IE-List-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +CriticalityDiagnostics-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +CSG-ID ::= BIT STRING (SIZE (27)) + +CSG-Capability ::= ENUMERATED { + csg-capable, + not-csg-capable, + ... + } + +CSGMembershipStatus ::= ENUMERATED { + member, + non-member, + ... +} + +CGI ::= SEQUENCE { + pLMNidentity PLMNidentity, + lAC LAC, + cI CI, + iE-Extensions ProtocolExtensionContainer { {CGI-ExtIEs} } OPTIONAL +} + +CGI-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +CI ::= OCTET STRING (SIZE (2)) + + +CN-DomainIndicator ::= ENUMERATED { + cs-domain, + ps-domain +} +--D +--E +ESN ::= BIT STRING (SIZE(32)) +--F +--G +GeographicalLocation ::= SEQUENCE { + geographicalCoordinates GeographicalCoordinates, + altitudeAndDirection AltitudeAndDirection, + iE-Extensions ProtocolExtensionContainer { { GeographicLocation-ExtIEs} } OPTIONAL, + ... +} + +GeographicLocation-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +GeographicalCoordinates ::= SEQUENCE { + latitudeSign ENUMERATED {north, south}, + latitude INTEGER (0..8388607), + longitude INTEGER (-8388608..8388607), + iE-Extensions ProtocolExtensionContainer { {GeographicalCoordinates-ExtIEs} } OPTIONAL, + ... +} + +GeographicalCoordinates-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +GTP-TEI ::= OCTET STRING (SIZE (4)) + +--H + +HNB-Cell-Access-Mode::= ENUMERATED { + closed, + hybrid, + open, + ... +} + +HNB-Cell-Identifier ::= SEQUENCE { + pLMNidentity PLMNidentity, + cellIdentity CellIdentity, + iE-Extensions ProtocolExtensionContainer { { HNB-Cell-Identifier-ExtIEs } } OPTIONAL, + ... +} + +HNB-Cell-Identifier-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +HNB-RNL-Identity ::= CHOICE { + hNB-Identity-as-Cell-Identifier HNB-Cell-Identifier, + ... +} + +HNBConfigInfo ::= SEQUENCE { + hnb-RNL-Identity HNB-RNL-Identity, + configurationInformation ConfigurationInformation, + iE-Extensions ProtocolExtensionContainer { { HNBConfigInfo-ExtIEs } } OPTIONAL, + ... +} + +HNBConfigInfo-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +ConfigurationInformation ::= CHOICE { + provided HNBConfigurationInformationProvided, + missing HNBConfigurationInformationMissing, + ... +} + +HNBConfigurationInformationProvided ::= SEQUENCE { + + psc PSC OPTIONAL, + cSG-ID CSG-ID OPTIONAL, + hNB-Cell-Access-Mode HNB-Cell-Access-Mode, + iurh-Signalling-TNL-AddressList Iurh-Signalling-TNL-AddressList, + iE-Extensions ProtocolExtensionContainer { { HNBConfigurationInformationProvided-ExtIEs } } OPTIONAL, + ... +} + +HNBConfigurationInformationProvided-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +HNBConfigurationInformationMissing ::= SEQUENCE { + cause Cause, + iE-Extensions ProtocolExtensionContainer { { HNBConfigurationInformationMissing-ExtIEs } } OPTIONAL, + ... +} + +HNBConfigurationInformationMissing-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +HNB-Location-Information ::= SEQUENCE { + macroCoverageInfo MacroCoverageInformation OPTIONAL, + geographicalCoordinates GeographicalLocation OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { HNB-Location-Information-ExtIEs } } OPTIONAL, + ... +} + +HNB-Location-Information-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { +-- Extension for release-8 to support IP address for location verification -- +{ID id-HNB-Internet-Information CRITICALITY reject EXTENSION IP-Address PRESENCE optional }, + ... +} + + + +HNB-Identity ::= SEQUENCE { + hNB-Identity-Info HNB-Identity-Info, + iE-Extensions ProtocolExtensionContainer { { HNB-Identity-ExtIEs } } OPTIONAL, + ... +} + +HNB-Identity-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + + +HNB-Identity-Info ::= OCTET STRING (SIZE (1..255)) + +--I + +IMEI ::= BIT STRING (SIZE(60)) + +IMSI ::= OCTET STRING (SIZE (3..8)) +-- Reference: 23.003 +IMSIDS41 ::= OCTET STRING (SIZE (5..7)) + +IMSIESN ::= SEQUENCE { + iMSIDS41 IMSIDS41, + eSN ESN +} + + +IP-Address ::=SEQUENCE { + ipaddress CHOICE { + ipv4info Ipv4Address, + ipv6info Ipv6Address, + ... + }, + iE-Extensions ProtocolExtensionContainer { { IP-Address-ExtIEs } } OPTIONAL, + ... +} + +IP-Address-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +Ipv4Address ::= OCTET STRING (SIZE (4)) + +Ipv6Address ::= OCTET STRING (SIZE (16)) + +Iurh-Signalling-TNL-AddressList ::= SEQUENCE (SIZE(1..maxnoofIurhAddresses)) OF IP-Address + + +--J +--K +--L +LAC ::= OCTET STRING(SIZE(2)) + +LAI ::= SEQUENCE { + pLMNID PLMNidentity, + lAC LAC, + ... + } + +-- M + +MacroCoverageInformation ::= SEQUENCE { + cellIdentity MacroCellID, + iE-Extensions ProtocolExtensionContainer { { MacroCoverageInformation-ExtIEs } } OPTIONAL, + ... +} + +MacroCoverageInformation-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +MacroCellID ::= CHOICE { + uTRANCellID UTRANCellID, + gERANCellID CGI, + ... +} + +MuxPortNumber ::= INTEGER (1024..65535) + +--N + +NeighbourInfoList ::= SEQUENCE (SIZE(1..maxnoofNeighbours)) OF HNBConfigInfo + +NeighbourInfoRequestList ::= SEQUENCE (SIZE(1..maxnoofNeighbours)) OF NeighbourInfoRequestItem + +NeighbourInfoRequestItem ::= SEQUENCE { + hnb-RNL-Identity HNB-RNL-Identity, + iE-Extensions ProtocolExtensionContainer { { NeighbourInfoRequestItem-ExtIEs } } OPTIONAL, + ... +} + +NeighbourInfoRequestItem-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +--O +--P +PLMNidentity ::= OCTET STRING (SIZE (3)) + +PSC ::= BIT STRING (SIZE(9)) + +PTMSI ::= BIT STRING (SIZE(32)) + +PTMSIRAI ::= SEQUENCE { + pTMSI PTMSI, + rAI RAI, + ... + } + + +--Q +--R + +RAB-ID ::= BIT STRING (SIZE (8)) + +RABList ::= SEQUENCE (SIZE(1..maxnoofRABs)) OF RABListItem + +RABListItem ::= SEQUENCE { + rAB-ID RAB-ID, + old-transport-Info TransportInfo, + new-transport-Info TransportInfo, + cn-domain-indicator CN-DomainIndicator, + iE-Extensions ProtocolExtensionContainer { { RABListItem-ExtIEs } } OPTIONAL, +... +} + +RABListItem-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +RAC ::= OCTET STRING(SIZE(1)) + +RAI ::= SEQUENCE { + lAI LAI, + rAC RAC, + ... +} + + +Registration-Cause ::= ENUMERATED { + emergency-call, + normal, + ..., + ue-relocation + } + +RNC-ID ::= INTEGER(0..65535) + +--S + +SAC ::= OCTET STRING(SIZE(2)) + +--T +TMSILAI ::= SEQUENCE { + tMSI BIT STRING(SIZE (32)), + lAI LAI +} + +TMSIDS41 ::= OCTET STRING (SIZE (2..17)) + +TransportInfo ::= SEQUENCE { + transportLayerAddress TransportLayerAddress, + transportAssociation CHOICE { + gtp-TEI GTP-TEI, + bindingID BindingID, + ... + }, + iE-Extensions ProtocolExtensionContainer { { TransportInfo-ExtIEs } } OPTIONAL, +... +} + +TransportInfo-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +TransportLayerAddress ::= BIT STRING(SIZE(1..160,...)) + +TypeOfError ::= ENUMERATED { + not-understood, + missing, + ... +} +--U +UE-Capabilities ::= SEQUENCE { + access-stratum-release-indicator Access-stratum-release-indicator, + csg-capability CSG-Capability, + iE-Extensions ProtocolExtensionContainer { { UE-Capabilities-ExtIEs } } OPTIONAL, +... +} + +UE-Capabilities-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +UTRANCellID ::= SEQUENCE { + lAC LAC, + rAC RAC, + pLMNidentity PLMNidentity, + uTRANcellID CellIdentity, + iE-Extensions ProtocolExtensionContainer { {UTRANCellID-ExtIEs} } OPTIONAL +} + +UTRANCellID-ExtIEs HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + + + +UE-Identity ::= CHOICE { + iMSI IMSI, + tMSILAI TMSILAI, + pTMSIRAI PTMSIRAI, + iMEI IMEI, + eSN ESN, + iMSIDS41 IMSIDS41, + iMSIESN IMSIESN, + tMSIDS41 TMSIDS41, + ... +} + +Update-cause ::= ENUMERATED { + relocation-preparation, + ... +} + +--V +--W +--X +--Y +--Z + + +END diff --git a/library/hnbap/HNBAP_PDU_Contents.asn b/library/hnbap/HNBAP_PDU_Contents.asn new file mode 100644 index 000000000..97c974328 --- /dev/null +++ b/library/hnbap/HNBAP_PDU_Contents.asn @@ -0,0 +1,490 @@ +-- HNBAP-PDU-Contents.asn +-- +-- 3GPP TS 25.469 V10.1.0 (2011-06) +-- http://www.3gpp.org/ftp/Specs/html-info/25469.htm +-- +-- 9.3.3 PDU Definitions +-- + +HNBAP-PDU-Contents { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) hnbap(6) version1 (1) hnbap-PDU-Contents (1) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** + +IMPORTS + Cause, + CriticalityDiagnostics, + CSGMembershipStatus, + HNB-Location-Information, + HNB-Identity, + Context-ID, + UE-Identity, + LAC, + RAC, + SAC, + CN-DomainIndicator, + IP-Address, + Registration-Cause, + UE-Capabilities, + PLMNidentity, + CellIdentity, + RNC-ID, + CSG-ID, + HNB-Cell-Access-Mode, + BackoffTimer, + MuxPortNumber, + RABList, + HNBConfigInfo, + AccessResult, + Update-cause, + NeighbourInfoList, + NeighbourInfoRequestList, + PSC + + + +FROM HNBAP-IEs + + + ProtocolExtensionContainer{}, + ProtocolIE-ContainerList{}, + ProtocolIE-Container{}, + ProtocolIE-Single-Container{}, + PrivateIE-Container{}, + HNBAP-PRIVATE-IES, + HNBAP-PROTOCOL-EXTENSION, + HNBAP-PROTOCOL-IES + +FROM HNBAP-Containers + + id-Cause, + id-CriticalityDiagnostics, + id-CSGMembershipStatus, + id-HNB-Location-Information, + id-HNB-Identity, + id-Context-ID, + id-PLMNidentity, + id-UE-Identity, + id-LAC, + id-RAC, + id-SAC, + id-UE-Capabilities, + id-Registration-Cause, + id-CellIdentity, + id-RNC-ID, + id-CSG-ID, + id-HNB-Cell-Access-Mode, + id-BackoffTimer, + id-Service-Area-For-Broadcast, + id-MuxPortNumber, + id-RABList, + id-HNBConfigInfo, + id-AccessResult, + id-Update-cause, + id-NeighbourInfoList, + id-NeighbourInfoRequestList, + id-Iurh-Signalling-TNL-Address, + id-PSC + + +FROM HNBAP-Constants; + +-- ************************************************************** +-- +-- HNB Register REQUEST +-- +-- ************************************************************** + +HNBRegisterRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {HNBRegisterRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {HNBRegisterRequestExtensions} } OPTIONAL, + ... +} + +HNBRegisterRequestIEs HNBAP-PROTOCOL-IES ::= { + { ID id-HNB-Identity CRITICALITY reject TYPE HNB-Identity PRESENCE mandatory } | + { ID id-HNB-Location-Information CRITICALITY reject TYPE HNB-Location-Information PRESENCE mandatory } | + { ID id-PLMNidentity CRITICALITY reject TYPE PLMNidentity PRESENCE mandatory } | + { ID id-CellIdentity CRITICALITY reject TYPE CellIdentity PRESENCE mandatory } | + { ID id-LAC CRITICALITY reject TYPE LAC PRESENCE mandatory } | + { ID id-RAC CRITICALITY reject TYPE RAC PRESENCE mandatory } | + { ID id-SAC CRITICALITY reject TYPE SAC PRESENCE mandatory } | + { ID id-CSG-ID CRITICALITY reject TYPE CSG-ID PRESENCE optional } , + ... +} + +HNBRegisterRequestExtensions HNBAP-PROTOCOL-EXTENSION ::= { + { ID id-Service-Area-For-Broadcast CRITICALITY ignore EXTENSION SAC PRESENCE optional }| + { ID id-HNB-Cell-Access-Mode CRITICALITY reject EXTENSION HNB-Cell-Access-Mode PRESENCE optional }| + { ID id-PSC CRITICALITY ignore EXTENSION PSC PRESENCE optional }| + { ID id-Iurh-Signalling-TNL-Address CRITICALITY ignore EXTENSION IP-Address PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- HNB Register Accept +-- +-- ************************************************************** + +HNBRegisterAccept ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {HNBRegisterResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { {HNBRegisterResponseExtensions} } OPTIONAL, + ... +} + +HNBRegisterResponseIEs HNBAP-PROTOCOL-IES ::= { + { ID id-RNC-ID CRITICALITY reject TYPE RNC-ID PRESENCE mandatory }, + ... +} + +HNBRegisterResponseExtensions HNBAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 9 to support CS Multiplexing -- + { ID id-MuxPortNumber CRITICALITY ignore EXTENSION MuxPortNumber PRESENCE optional}| + { ID id-Iurh-Signalling-TNL-Address CRITICALITY ignore EXTENSION IP-Address PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- HNB Register REJECT +-- +-- ************************************************************** + +HNBRegisterReject ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {HNBRegisterRejectIEs} }, + protocolExtensions ProtocolExtensionContainer { {HNBRegisterRejectExtensions} } OPTIONAL, + ... +} + +HNBRegisterRejectIEs HNBAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } | + { ID id-BackoffTimer CRITICALITY reject TYPE BackoffTimer PRESENCE conditional }, + -- This IE shall be present if the Cause IE is set to "Overload". + ... +} + +HNBRegisterRejectExtensions HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + + + +-- ************************************************************** +-- +-- HNB De- Register +-- +-- ************************************************************** + +HNBDe-Register ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {HNBDe-RegisterIEs} }, + protocolExtensions ProtocolExtensionContainer { {HNBDe-RegisterExtensions} } OPTIONAL, + ... +} + +HNBDe-RegisterIEs HNBAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-BackoffTimer CRITICALITY reject TYPE BackoffTimer PRESENCE conditional }, + -- This IE shall be present if the Cause IE is set to "Overload". + ... +} + +HNBDe-RegisterExtensions HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + + +-- ************************************************************** +-- +-- UE Register REQUEST +-- +-- ************************************************************** + +UERegisterRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UERegisterRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {UERegisterRequestExtensions} } OPTIONAL, + ... +} + +UERegisterRequestIEs HNBAP-PROTOCOL-IES ::= { + { ID id-UE-Identity CRITICALITY reject TYPE UE-Identity PRESENCE mandatory } | + { ID id-Registration-Cause CRITICALITY ignore TYPE Registration-Cause PRESENCE mandatory } | + { ID id-UE-Capabilities CRITICALITY reject TYPE UE-Capabilities PRESENCE mandatory }, + ... +} + +UERegisterRequestExtensions HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- UE Register ACCEPT +-- +-- ************************************************************** + +UERegisterAccept ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UERegisterAcceptIEs} }, + protocolExtensions ProtocolExtensionContainer { {UERegisterAcceptExtensions} } OPTIONAL, + ... +} + +UERegisterAcceptIEs HNBAP-PROTOCOL-IES ::= { + { ID id-UE-Identity CRITICALITY reject TYPE UE-Identity PRESENCE mandatory } | + { ID id-Context-ID CRITICALITY reject TYPE Context-ID PRESENCE mandatory }, + ... +} + + +UERegisterAcceptExtensions HNBAP-PROTOCOL-EXTENSION ::= { + { ID id-CSGMembershipStatus CRITICALITY reject EXTENSION CSGMembershipStatus PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- UE Register REJECT +-- +-- ************************************************************** + +UERegisterReject ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UERegisterRejectIEs} }, + protocolExtensions ProtocolExtensionContainer { {UERegisterRejectExtensions} } OPTIONAL, + ... +} + +UERegisterRejectIEs HNBAP-PROTOCOL-IES ::= { + { ID id-UE-Identity CRITICALITY reject TYPE UE-Identity PRESENCE mandatory } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +UERegisterRejectExtensions HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + + +-- ************************************************************** +-- +-- UE De-Register +-- +-- ************************************************************** + +UEDe-Register ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UEDe-RegisterIEs} }, + protocolExtensions ProtocolExtensionContainer { {UEDe-RegisterExtensions} } OPTIONAL, + ... +} + +UEDe-RegisterIEs HNBAP-PROTOCOL-IES ::= { + { ID id-Context-ID CRITICALITY reject TYPE Context-ID PRESENCE mandatory } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } , + ... +} + +UEDe-RegisterExtensions HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- CSG Membership Update +-- +-- ************************************************************** + +CSGMembershipUpdate ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {CSGMembershipUpdateIEs} }, + protocolExtensions ProtocolExtensionContainer { {CSGMembershipUpdateExtensions} } OPTIONAL, + ... +} + +CSGMembershipUpdateIEs HNBAP-PROTOCOL-IES ::= { + { ID id-Context-ID CRITICALITY reject TYPE Context-ID PRESENCE mandatory } | + { ID id-CSGMembershipStatus CRITICALITY reject TYPE CSGMembershipStatus PRESENCE mandatory }, + ... +} + +CSGMembershipUpdateExtensions HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- TNL Update Request +-- +-- ************************************************************** + +TNLUpdateRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {TNLUpdateRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {TNLUpdateExtensions} } OPTIONAL, + ... +} + +TNLUpdateRequestIEs HNBAP-PROTOCOL-IES ::= { + { ID id-Context-ID CRITICALITY reject TYPE Context-ID PRESENCE mandatory } | + { ID id-RABList CRITICALITY reject TYPE RABList PRESENCE mandatory } | + { ID id-Update-cause CRITICALITY reject TYPE Update-cause PRESENCE mandatory } , + ... +} + +TNLUpdateExtensions HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- TNL UPDATE RESPONSE +-- +-- ************************************************************** + +TNLUpdateResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { TNLUpdateResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { { TNLUpdateResponseExtensions} } OPTIONAL, + ... +} + +TNLUpdateResponseIEs HNBAP-PROTOCOL-IES ::= { + { ID id-Context-ID CRITICALITY reject TYPE Context-ID PRESENCE mandatory } , + ... +} + +TNLUpdateResponseExtensions HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- TNL UPDATE FAILURE +-- +-- ************************************************************** + +TNLUpdateFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {TNLUpdateFailureIEs} }, + protocolExtensions ProtocolExtensionContainer { {TNLUpdateFailureExtensions} } OPTIONAL, + ... +} + +TNLUpdateFailureIEs HNBAP-PROTOCOL-IES ::= { + { ID id-Context-ID CRITICALITY reject TYPE Context-ID PRESENCE mandatory } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } , + ... +} + +TNLUpdateFailureExtensions HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- HNB Configuration Transfer Request +-- +-- ************************************************************** + +HNBConfigTransferRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {HNBConfigTransferRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {HNBConfigTransferRequestExtensions} } OPTIONAL, + ... +} + +HNBConfigTransferRequestIEs HNBAP-PROTOCOL-IES ::= { + { ID id-NeighbourInfoRequestList CRITICALITY reject TYPE NeighbourInfoRequestList PRESENCE mandatory } , + ... +} + +HNBConfigTransferRequestExtensions HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- HNB Configuration Transfer Response +-- +-- ************************************************************** + +HNBConfigTransferResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { HNBConfigTransferResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { { HNBConfigTransferResponseExtensions} } OPTIONAL, + ... +} + +HNBConfigTransferResponseIEs HNBAP-PROTOCOL-IES ::= { + { ID id-NeighbourInfoList CRITICALITY reject TYPE NeighbourInfoList PRESENCE mandatory } , + ... +} + +HNBConfigTransferResponseExtensions HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- RELOCATION COMPLETE +-- +-- ************************************************************** + +RelocationComplete ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { RelocationCompleteIEs} }, + protocolExtensions ProtocolExtensionContainer { { RelocationCompleteExtensions} } OPTIONAL, + ... +} + +RelocationCompleteIEs HNBAP-PROTOCOL-IES ::= { + { ID id-Context-ID CRITICALITY ignore TYPE Context-ID PRESENCE mandatory } , + ... +} + + +RelocationCompleteExtensions HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- ERROR INDICATION +-- +-- ************************************************************** + +ErrorIndication ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {ErrorIndicationIEs} }, + protocolExtensions ProtocolExtensionContainer { {ErrorIndicationExtensions} } OPTIONAL, + ... +} + +ErrorIndicationIEs HNBAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +ErrorIndicationExtensions HNBAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- PRIVATE MESSAGE +-- +-- ************************************************************** + +PrivateMessage ::= SEQUENCE { + privateIEs PrivateIE-Container {{PrivateMessage-IEs}}, + ... +} + +PrivateMessage-IEs HNBAP-PRIVATE-IES ::= { + ... +} + +END diff --git a/library/hnbap/HNBAP_PDU_Descriptions.asn b/library/hnbap/HNBAP_PDU_Descriptions.asn new file mode 100644 index 000000000..514d4510b --- /dev/null +++ b/library/hnbap/HNBAP_PDU_Descriptions.asn @@ -0,0 +1,231 @@ +-- HNBAP-PDU-Descriptions.asn +-- +-- 3GPP TS 25.469 V10.1.0 (2011-06) +-- http://www.3gpp.org/ftp/Specs/html-info/25469.htm +-- +-- 9.3.2 Elementary Procedure definitions +-- + +-- ************************************************************** +-- +-- Elementary Procedure definitions +-- +-- ************************************************************** +-- ************************************************************** +-- ************************************************************** +-- +-- Elementary Procedure definitions +-- +-- ************************************************************** +HNBAP-PDU-Descriptions { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) hnbap(6) version1 (1) hnbap-PDU-Descriptions (0)} + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** + +IMPORTS + Criticality, + ProcedureCode +FROM HNBAP-CommonDataTypes + + HNBRegisterRequest, + HNBRegisterAccept, + HNBRegisterReject, + HNBDe-Register, + UERegisterRequest, + UERegisterAccept, + UERegisterReject, + UEDe-Register, + ErrorIndication, + PrivateMessage, + CSGMembershipUpdate, + TNLUpdateRequest, + TNLUpdateResponse, + TNLUpdateFailure, + HNBConfigTransferRequest, + HNBConfigTransferResponse, + RelocationComplete + + +FROM HNBAP-PDU-Contents + id-HNBRegister, + id-UERegister, + id-UEDe-Register, + id-HNBDe-Register, + id-ErrorIndication, + id-privateMessage, + id-CSGMembershipUpdate, + id-TNLUpdate, + id-HNBConfigTransfer, + id-RelocationComplete + +FROM HNBAP-Constants; + +-- ************************************************************** +-- +-- Interface Elementary Procedure Class +-- +-- ************************************************************** + +HNBAP-ELEMENTARY-PROCEDURE ::= CLASS { + &InitiatingMessage , + &SuccessfulOutcome OPTIONAL, + &UnsuccessfulOutcome OPTIONAL, + &procedureCode ProcedureCode UNIQUE, + &criticality Criticality DEFAULT ignore +} + +WITH SYNTAX { + INITIATING MESSAGE &InitiatingMessage + [SUCCESSFUL OUTCOME &SuccessfulOutcome] + [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome] + PROCEDURE CODE &procedureCode + [CRITICALITY &criticality] +} + +-- ************************************************************** +-- +-- Interface PDU definitions +-- +-- ************************************************************** + +HNBAP-PDU ::= CHOICE { + initiatingMessage InitiatingMessage, + successfulOutcome SuccessfulOutcome, + unsuccessfulOutcome UnsuccessfulOutcome, + ... +} + + +InitiatingMessage ::= SEQUENCE { + procedureCode HNBAP-ELEMENTARY-PROCEDURE.&procedureCode ({HNBAP-ELEMENTARY-PROCEDURES}), + criticality HNBAP-ELEMENTARY-PROCEDURE.&criticality ({HNBAP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value HNBAP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({HNBAP-ELEMENTARY-PROCEDURES}{@procedureCode}) +} + +SuccessfulOutcome ::= SEQUENCE { + procedureCode HNBAP-ELEMENTARY-PROCEDURE.&procedureCode ({HNBAP-ELEMENTARY-PROCEDURES}), + criticality HNBAP-ELEMENTARY-PROCEDURE.&criticality ({HNBAP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value HNBAP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({HNBAP-ELEMENTARY-PROCEDURES}{@procedureCode}) +} + +UnsuccessfulOutcome ::= SEQUENCE { + procedureCode HNBAP-ELEMENTARY-PROCEDURE.&procedureCode ({HNBAP-ELEMENTARY-PROCEDURES}), + criticality HNBAP-ELEMENTARY-PROCEDURE.&criticality ({HNBAP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value HNBAP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({HNBAP-ELEMENTARY-PROCEDURES}{@procedureCode}) +} + +-- ************************************************************** +-- +-- Interface Elementary Procedure List +-- +-- ************************************************************** + +HNBAP-ELEMENTARY-PROCEDURES HNBAP-ELEMENTARY-PROCEDURE ::= { + HNBAP-ELEMENTARY-PROCEDURES-CLASS-1 | + HNBAP-ELEMENTARY-PROCEDURES-CLASS-2 , + ... +} + +HNBAP-ELEMENTARY-PROCEDURES-CLASS-1 HNBAP-ELEMENTARY-PROCEDURE ::= { + hNBRegister| + uERegister, + ..., + tnlUpdate | + hNBConfigTransfer +} + + +HNBAP-ELEMENTARY-PROCEDURES-CLASS-2 HNBAP-ELEMENTARY-PROCEDURE ::= { + uEDe-Register | + hNBDe-Register | + errorIndication | + privateMessage, + ..., + csg-membership-update| + relocationComplete +} + +-- ************************************************************** +-- +-- Interface Elementary Procedures +-- +-- ************************************************************** + + +hNBRegister HNBAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE HNBRegisterRequest + SUCCESSFUL OUTCOME HNBRegisterAccept + UNSUCCESSFUL OUTCOME HNBRegisterReject + PROCEDURE CODE id-HNBRegister + CRITICALITY reject +} + +uERegister HNBAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE UERegisterRequest + SUCCESSFUL OUTCOME UERegisterAccept + UNSUCCESSFUL OUTCOME UERegisterReject + PROCEDURE CODE id-UERegister + CRITICALITY reject +} + +uEDe-Register HNBAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE UEDe-Register + PROCEDURE CODE id-UEDe-Register + CRITICALITY ignore +} + +hNBDe-Register HNBAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE HNBDe-Register + PROCEDURE CODE id-HNBDe-Register + CRITICALITY ignore +} + +errorIndication HNBAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE ErrorIndication + PROCEDURE CODE id-ErrorIndication + CRITICALITY ignore +} + +csg-membership-update HNBAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE CSGMembershipUpdate + PROCEDURE CODE id-CSGMembershipUpdate + CRITICALITY ignore +} + +tnlUpdate HNBAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE TNLUpdateRequest + SUCCESSFUL OUTCOME TNLUpdateResponse + UNSUCCESSFUL OUTCOME TNLUpdateFailure + PROCEDURE CODE id-TNLUpdate + CRITICALITY reject +} + +hNBConfigTransfer HNBAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE HNBConfigTransferRequest + SUCCESSFUL OUTCOME HNBConfigTransferResponse + PROCEDURE CODE id-HNBConfigTransfer + CRITICALITY reject +} + +relocationComplete HNBAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE RelocationComplete + PROCEDURE CODE id-RelocationComplete + CRITICALITY ignore +} + +privateMessage HNBAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE PrivateMessage + PROCEDURE CODE id-privateMessage + CRITICALITY ignore +} + +END diff --git a/library/hnbap/HNBAP_Types.ttcn b/library/hnbap/HNBAP_Types.ttcn new file mode 100644 index 000000000..0742714b8 --- /dev/null +++ b/library/hnbap/HNBAP_Types.ttcn @@ -0,0 +1,7 @@ +module HNBAP_Types { + + import from HNBAP_PDU_Descriptions language "ASN.1:1997" all; + + external function enc_HNBAP_PDU(in HNBAP_PDU pdu) return octetstring; + external function dec_HNBAP_PDU(in octetstring stream) return HNBAP_PDU; +} diff --git a/library/hnbap/regen_makefile.sh b/library/hnbap/regen_makefile.sh new file mode 100755 index 000000000..4da6872a6 --- /dev/null +++ b/library/hnbap/regen_makefile.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +FILES="*.asn *.ttcn HNBAP_EncDec.cc" + +../../regen-makefile.sh $FILES + +sed -i -e '/^CPPFLAGS/ s/$/ `pkg-config --cflags libfftranscode`/' Makefile +sed -i -e '/^LDFLAGS/ s/$/ `pkg-config --libs libfftranscode`/' Makefile +sed -i -e '/^LINUX_LIBS/ s/$/ `pkg-config --libs libfftranscode`/' Makefile diff --git a/library/ranap/RANAP_CodecPort.ttcn b/library/ranap/RANAP_CodecPort.ttcn new file mode 100644 index 000000000..07e1b00e4 --- /dev/null +++ b/library/ranap/RANAP_CodecPort.ttcn @@ -0,0 +1,410 @@ +module RANAP_CodecPort { + +/* Simple RANAP Codec Port, translating between raw SCCP primitives with + * octetstring payload towards the SCCP provider, and RANAP-SCCP primitives + * which carry the decoded RANAP data types as payload. + * + * (C) 2017-2018 by Harald Welte + * All rights reserved. + * + * Released under the terms of GNU General Public License, Version 2 or + * (at your option) any later version. + */ + +import from General_Types all; +import from Osmocom_Types all; + +import from SCCPasp_Types all; +import from SCCP_Types all; + +import from RANAP_PDU_Descriptions all; +import from RANAP_Types all; + +type record RANAP_N_CONNECT_req +{ + SCCP_PAR_Address calledAddress, + SCCP_PAR_Address callingAddress optional, + SCCP_PAR_Expedited_Data_Sel expeditedDataSel optional, + SCCP_PAR_Quality_Of_Service qualityOfService optional, + RANAP_PDU userData optional, + SCCP_PAR_Connection_Id connectionId optional, + SCCP_PAR_Importance importance optional +} + +template RANAP_N_CONNECT_req ts_RANAP_CONNECT_req(SCCP_PAR_Address called, + SCCP_PAR_Address calling, + SCCP_PAR_Connection_Id conn_id, + template RANAP_PDU ranap := omit) := { + calledAddress := called, + callingAddress := calling, + expeditedDataSel := omit, + qualityOfService := omit, + userData := ranap, + connectionId := conn_id, + importance := omit +} + +type record RANAP_N_CONNECT_ind +{ + SCCP_PAR_Address calledAddress, + SCCP_PAR_Address callingAddress optional, + SCCP_PAR_Quality_Of_Service qualityOfService optional, + RANAP_PDU userData optional, + SCCP_PAR_Connection_Id connectionId optional, + SCCP_PAR_Importance importance optional +} + +template RANAP_N_CONNECT_ind tr_RANAP_CONNECT_ind(template SCCP_PAR_Address called, + template SCCP_PAR_Address calling, + template RANAP_PDU payload := *) := { + calledAddress := called, + callingAddress := calling, + qualityOfService := *, + userData := payload, + connectionId := *, + importance := * +} + +type record RANAP_N_CONNECT_res +{ + SCCP_PAR_Address respondingAddress optional, + SCCP_PAR_Expedited_Data_Sel expeditedDataSel optional, + SCCP_PAR_Quality_Of_Service qualityOfService optional, + RANAP_PDU userData optional, + SCCP_PAR_Connection_Id connectionId optional, + SCCP_PAR_Importance importance optional +} + +template RANAP_N_CONNECT_res ts_RANAP_CONNECT_res(SCCP_PAR_Connection_Id conn_id, + template RANAP_PDU ranap := omit) := { + respondingAddress := omit, + expeditedDataSel := omit, + qualityOfService := omit, + userData := ranap, + connectionId := conn_id, + importance := omit +} + +type record RANAP_N_CONNECT_cfm +{ + SCCP_PAR_Address respondingAddress optional, + SCCP_PAR_Quality_Of_Service qualityOfService optional, + RANAP_PDU userData optional, + SCCP_PAR_Connection_Id connectionId optional, + SCCP_PAR_Importance importance optional +} + +template RANAP_N_CONNECT_cfm tr_RANAP_CONNECT_cfm(template SCCP_PAR_Connection_Id conn_id, + template RANAP_PDU ranap := *) := { + respondingAddress := *, + qualityOfService := *, + userData := ranap, + connectionId := conn_id, + importance := * +} + +type record RANAP_N_DATA_req +{ + RANAP_PDU userData , + SCCP_PAR_Connection_Id connectionId optional , + SCCP_PAR_Importance importance optional +} + +template RANAP_N_DATA_req ts_RANAP_DATA_req(SCCP_PAR_Connection_Id conn_id, + template RANAP_PDU ranap) := { + userData := ranap, + connectionId := conn_id, + importance := omit +} + + +type record RANAP_N_DATA_ind +{ + RANAP_PDU userData , + SCCP_PAR_Connection_Id connectionId optional , + SCCP_PAR_Importance importance optional +} + +template RANAP_N_DATA_ind tr_RANAP_DATA_ind(SCCP_PAR_Connection_Id conn_id, + template RANAP_PDU ranap := *) := { + userData := ranap, + connectionId := conn_id, + importance := * +} + + +type record RANAP_N_DISCONNECT_req +{ + SCCP_PAR_Address respondingAddress optional, + SCCP_PAR_Reason reason , + RANAP_PDU userData optional , + SCCP_PAR_Connection_Id connectionId optional , + SCCP_PAR_Importance importance optional +} + +template RANAP_N_DISCONNECT_req ts_RANAP_DISC_req(SCCP_PAR_Connection_Id conn_id, + template SCCP_PAR_Reason reason, + template RANAP_PDU ranap := omit) := { + respondingAddress := omit, + reason := reason, + userData := ranap, + connectionId := conn_id, + importance := omit +} + + +type record RANAP_N_DISCONNECT_ind +{ + SCCP_PAR_Originator originator , + SCCP_PAR_Address respondingAddress optional , + SCCP_PAR_Reason reason , + RANAP_PDU userData optional , + SCCP_PAR_Connection_Id connectionId optional , + SCCP_PAR_Importance importance optional +} + +template RANAP_N_DISCONNECT_ind tr_RANAP_DISC_ind(template SCCP_PAR_Connection_Id conn_id, + template SCCP_PAR_Originator originator, + template SCCP_PAR_Reason reason, + template RANAP_PDU ranap := *) := { + originator := originator, + respondingAddress:= *, + reason := reason, + userData := ranap, + connectionId := conn_id, + importance := * +} + +type record RANAP_N_UNITDATA_req +{ + SCCP_PAR_Address calledAddress , + SCCP_PAR_Address callingAddress , + SCCP_PAR_Sequence_Control sequenceControl optional , + SCCP_PAR_Return_Option returnOption optional , + RANAP_PDU userData , + SCCP_PAR_Importance importance optional + } + +template RANAP_N_UNITDATA_req ts_RANAP_UNITDATA_req(SCCP_PAR_Address called, SCCP_PAR_Address calling, template RANAP_PDU payload) := { + calledAddress := called, + callingAddress := calling, + sequenceControl := omit, + returnOption := omit, + userData := payload, + importance := omit +} + +type record RANAP_N_UNITDATA_ind +{ + SCCP_PAR_Address calledAddress , + SCCP_PAR_Address callingAddress , + SCCP_PAR_Sequence_Control sequenceControl optional , + SCCP_PAR_Return_Option returnOption optional , + RANAP_PDU userData , + SCCP_PAR_Importance importance optional +} + +template RANAP_N_UNITDATA_ind tr_RANAP_UNITDATA_ind(template SCCP_PAR_Address called, template SCCP_PAR_Address calling, template RANAP_PDU payload) := { + calledAddress := called, + callingAddress := calling, + sequenceControl := *, + returnOption := *, + userData := payload, + importance := * +} + +type record RANAP_N_NOTICE_ind +{ + SCCP_PAR_Address calledAddress , + SCCP_PAR_Address callingAddress , + SCCP_PAR_Reason_For_Return reasonForReturn , + RANAP_PDU userData , + SCCP_PAR_Importance importance optional +} + + + +private function f_dec_ConnectInd(in ASP_SCCP_N_CONNECT_ind pin, out RANAP_N_CONNECT_ind pout) { + pout.calledAddress := pin.calledAddress; + pout.callingAddress := pin.callingAddress; + pout.qualityOfService := pin.qualityOfService; + if (ispresent(pin.userData)) { + pout.userData := dec_RANAP_PDU(pin.userData); + } else { + pout.userData := omit; + } + pout.connectionId := pin.connectionId; + pout.importance := pin.importance; + //port.setstate(0); +} with {extension "prototype(fast)" } + +private function f_dec_ConnectCfm(in ASP_SCCP_N_CONNECT_cfm pin, out RANAP_N_CONNECT_cfm pout) { + pout.respondingAddress := pin.respondingAddress; + pout.qualityOfService := pin.qualityOfService; + if (ispresent(pin.userData)) { + pout.userData := dec_RANAP_PDU(pin.userData); + } else { + pout.userData := omit; + } + pout.connectionId := pin.connectionId; + pout.importance := pin.importance; + //port.setstate(0); +} with {extension "prototype(fast)" } + +private function f_dec_DataInd(in ASP_SCCP_N_DATA_ind pin, out RANAP_N_DATA_ind pout) { + pout.userData := dec_RANAP_PDU(pin.userData); + pout.connectionId := pin.connectionId; + pout.importance := pin.importance; + //port.setstate(0); +} with {extension "prototype(fast)" } + +private function f_dec_DisconnectInd(in ASP_SCCP_N_DISCONNECT_ind pin, out RANAP_N_DISCONNECT_ind pout) { + pout.originator := pin.originator; + pout.respondingAddress := pin.respondingAddress; + pout.reason := pin.reason; + if (ispresent(pin.userData)) { + pout.userData := dec_RANAP_PDU(pin.userData); + } else { + pout.userData := omit; + } + pout.connectionId := pin.connectionId; + pout.importance := pin.importance; + //port.setstate(0); +} with {extension "prototype(fast)" } + +private function f_dec_UnitdataInd(in ASP_SCCP_N_UNITDATA_ind pin, out RANAP_N_UNITDATA_ind pout) { + pout.calledAddress := pin.calledAddress; + pout.callingAddress := pin.callingAddress; + pout.sequenceControl := pin.sequenceControl; + pout.returnOption := pin.returnOption; + pout.userData := dec_RANAP_PDU(pin.userData); + pout.importance := pin.importance; + //port.setstate(0); +} with {extension "prototype(fast)" } + +private function f_dec_NoticeInd(in ASP_SCCP_N_NOTICE_ind pin, out RANAP_N_NOTICE_ind pout) { + pout.calledAddress := pin.calledAddress; + pout.callingAddress := pin.callingAddress; + pout.reasonForReturn := pin.reasonForReturn; + pout.userData := dec_RANAP_PDU(pin.userData); + pout.importance := pin.importance; + //port.setstate(0); +} with {extension "prototype(fast)" } + + + +private function f_enc_ConnectReq(in RANAP_N_CONNECT_req pin, out ASP_SCCP_N_CONNECT_req pout) { + pout.calledAddress := pin.calledAddress; + pout.callingAddress := pin.callingAddress; + pout.expeditedDataSel := pin.expeditedDataSel; + pout.qualityOfService := pin.qualityOfService; + if (ispresent(pin.userData)) { + pout.userData := enc_RANAP_PDU(pin.userData); + } else { + pout.userData := omit; + } + pout.connectionId := pin.connectionId; + pout.importance := pin.importance; + //port.setstate(0); +} with {extension "prototype(fast)" } + +private function f_enc_ConnectRes(in RANAP_N_CONNECT_res pin, out ASP_SCCP_N_CONNECT_res pout) { + pout.respondingAddress := pin.respondingAddress; + pout.expeditedDataSel := pin.expeditedDataSel; + pout.qualityOfService := pin.qualityOfService; + if (ispresent(pin.userData)) { + pout.userData := enc_RANAP_PDU(pin.userData); + } else { + pout.userData := omit; + } + pout.connectionId := pin.connectionId; + pout.importance := pin.importance; + //port.setstate(0); +} with {extension "prototype(fast)" } + +private function f_enc_DataReq(in RANAP_N_DATA_req pin, out ASP_SCCP_N_DATA_req pout) { + pout.userData := enc_RANAP_PDU(pin.userData); + pout.connectionId := pin.connectionId; + pout.importance := pin.importance; + //port.setstate(0); +} with {extension "prototype(fast)" } + +private function f_enc_DisconnectReq(in RANAP_N_DISCONNECT_req pin, out ASP_SCCP_N_DISCONNECT_req pout) { + pout.respondingAddress := pin.respondingAddress; + pout.reason := pin.reason; + if (ispresent(pin.userData)) { + pout.userData := enc_RANAP_PDU(pin.userData); + } else { + pout.userData := omit; + } + pout.connectionId := pin.connectionId; + pout.importance := pin.importance; + //port.setstate(0); +} with {extension "prototype(fast)" } + +private function f_enc_UnitdataReq(in RANAP_N_UNITDATA_req pin, out ASP_SCCP_N_UNITDATA_req pout) { + pout.calledAddress := pin.calledAddress; + pout.callingAddress := pin.callingAddress; + pout.userData := enc_RANAP_PDU(pin.userData); + pout.sequenceControl := pin.sequenceControl; + pout.returnOption := pin.returnOption; + pout.importance := pin.importance; + //port.setstate(0); +} with {extension "prototype(fast)" } + + +/* +type port RANAP_CODEC_PT message map to SCCPasp_PT { + out RANAP_N_CONNECT_req to ASP_SCCP_N_CONNECT_req with f_enc_ConnectReq(), + RANAP_N_CONNECT_res to ASP_SCCP_N_CONNECT_res with f_enc_ConnectRes(), + RANAP_N_DATA_req to ASP_SCCP_N_DATA_req with f_enc_DataReq(), + RANAP_N_DISCONNECT_req to ASP_SCCP_N_DISCONNECT_req with f_enc_DisconnectReq(), + RANAP_N_UNITDATA_req to ASP_SCCP_N_UNITDATA_req with f_enc_UnitdataReq(), + ASP_SCCP_N_RESET_req, ASP_SCCP_N_RESET_resp; + + in RANAP_N_CONNECT_ind from ASP_SCCP_N_CONNECT_ind with f_dec_ConnectInd(), + RANAP_N_CONNECT_cfm from ASP_SCCP_N_CONNECT_cfm with f_dec_ConnectCfm(), + RANAP_N_DATA_ind from ASP_SCCP_N_DATA_ind with f_dec_DataInd(), + RANAP_N_DISCONNECT_ind from ASP_SCCP_N_DISCONNECT_ind with f_dec_DisconnectInd(), + RANAP_N_UNITDATA_ind from ASP_SCCP_N_UNITDATA_ind with f_dec_UnitdataInd(), + RANAP_N_NOTICE_ind from ASP_SCCP_N_NOTICE_ind with f_dec_NoticeInd(), + ASP_SCCP_N_STATE_ind, ASP_SCCP_N_RESET_ind, ASP_SCCP_N_RESET_cfm; +} with {extension "internal"} +*/ + +type port RANAP_CODEC_PT message { + out RANAP_N_CONNECT_req, + RANAP_N_CONNECT_res, + RANAP_N_DATA_req, + RANAP_N_DISCONNECT_req, + RANAP_N_UNITDATA_req, + ASP_SCCP_N_RESET_req; + in RANAP_N_CONNECT_ind, + RANAP_N_CONNECT_cfm, + RANAP_N_DATA_ind, + RANAP_N_DISCONNECT_ind, + RANAP_N_UNITDATA_ind, + RANAP_N_NOTICE_ind, + ASP_SCCP_N_RESET_ind, + ASP_SCCP_N_RESET_cfm, + ASP_SCCP_N_STATE_ind; +} with { extension "internal user SCCPasp_PT + out(RANAP_N_CONNECT_req -> ASP_SCCP_N_CONNECT_req: function(f_enc_ConnectReq); + RANAP_N_CONNECT_res -> ASP_SCCP_N_CONNECT_res: function(f_enc_ConnectRes); + RANAP_N_DATA_req -> ASP_SCCP_N_DATA_req: function(f_enc_DataReq); + RANAP_N_DISCONNECT_req -> ASP_SCCP_N_DISCONNECT_req: function(f_enc_DisconnectReq); + RANAP_N_UNITDATA_req -> ASP_SCCP_N_UNITDATA_req: function(f_enc_UnitdataReq); + ASP_SCCP_N_RESET_req -> ASP_SCCP_N_RESET_req: simple) + in(ASP_SCCP_N_CONNECT_ind -> RANAP_N_CONNECT_ind: function(f_dec_ConnectInd); + ASP_SCCP_N_CONNECT_cfm -> RANAP_N_CONNECT_cfm: function(f_dec_ConnectCfm); + ASP_SCCP_N_DATA_ind -> RANAP_N_DATA_ind: function(f_dec_DataInd); + ASP_SCCP_N_DISCONNECT_ind -> RANAP_N_DISCONNECT_ind: function(f_dec_DisconnectInd); + ASP_SCCP_N_UNITDATA_ind -> RANAP_N_UNITDATA_ind: function(f_dec_UnitdataInd); + ASP_SCCP_N_NOTICE_ind -> RANAP_N_NOTICE_ind: function(f_dec_NoticeInd); + ASP_SCCP_N_RESET_ind -> ASP_SCCP_N_RESET_ind: simple; + ASP_SCCP_N_RESET_cfm -> ASP_SCCP_N_RESET_cfm: simple; + ASP_SCCP_N_STATE_ind -> ASP_SCCP_N_STATE_ind: simple)" +} + + +} diff --git a/library/ranap/RANAP_CommonDataTypes.asn b/library/ranap/RANAP_CommonDataTypes.asn new file mode 100644 index 000000000..0287dfc93 --- /dev/null +++ b/library/ranap/RANAP_CommonDataTypes.asn @@ -0,0 +1,40 @@ +-- RANAP-CommonDataTypes.asn +-- +-- 3GPP TS 25.413 V14.0.0 (2017-03) +-- http://www.3gpp.org/ftp/Specs/html-info/25413.htm +-- +-- 9.3.5 Common Definitions +-- + +-- ************************************************************** +-- +-- Common definitions +-- +-- ************************************************************** + +RANAP-CommonDataTypes { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) ranap (0) version1 (1) ranap-CommonDataTypes (3) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +Criticality ::= ENUMERATED { reject, ignore, notify } + +Presence ::= ENUMERATED { optional, conditional, mandatory } + +PrivateIE-ID ::= CHOICE { + local INTEGER (0..65535), + global OBJECT IDENTIFIER +} + +ProcedureCode ::= INTEGER (0..255) + +ProtocolExtensionID ::= INTEGER (0..65535) + +ProtocolIE-ID ::= INTEGER (0..65535) + +TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome, outcome } + +END diff --git a/library/ranap/RANAP_Constants.asn b/library/ranap/RANAP_Constants.asn new file mode 100644 index 000000000..46360d0f1 --- /dev/null +++ b/library/ranap/RANAP_Constants.asn @@ -0,0 +1,436 @@ +-- RANAP-Constants.asn +-- +-- 3GPP TS 25.413 V14.0.0 (2017-03) +-- http://www.3gpp.org/ftp/Specs/html-info/25413.htm +-- +-- 9.3.6 Constant Definitions +-- +-- ************************************************************** +-- +-- Constant definitions +-- +-- ************************************************************** + +RANAP-Constants { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) ranap (0) version1 (1) ranap-Constants (4) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +-- ************************************************************** +-- +-- Elementary Procedures +-- +-- ************************************************************** + +id-RAB-Assignment INTEGER ::= 0 +id-Iu-Release INTEGER ::= 1 +id-RelocationPreparation INTEGER ::= 2 +id-RelocationResourceAllocation INTEGER ::= 3 +id-RelocationCancel INTEGER ::= 4 +id-SRNS-ContextTransfer INTEGER ::= 5 +id-SecurityModeControl INTEGER ::= 6 +id-DataVolumeReport INTEGER ::= 7 +--WS Extension +id-Not-Used-8 INTEGER ::= 8 +id-Reset INTEGER ::= 9 +id-RAB-ReleaseRequest INTEGER ::= 10 +id-Iu-ReleaseRequest INTEGER ::= 11 +id-RelocationDetect INTEGER ::= 12 +id-RelocationComplete INTEGER ::= 13 +id-Paging INTEGER ::= 14 +id-CommonID INTEGER ::= 15 +id-CN-InvokeTrace INTEGER ::= 16 +id-LocationReportingControl INTEGER ::= 17 +id-LocationReport INTEGER ::= 18 +id-InitialUE-Message INTEGER ::= 19 +id-DirectTransfer INTEGER ::= 20 +id-OverloadControl INTEGER ::= 21 +id-ErrorIndication INTEGER ::= 22 +id-SRNS-DataForward INTEGER ::= 23 +id-ForwardSRNS-Context INTEGER ::= 24 +id-privateMessage INTEGER ::= 25 +id-CN-DeactivateTrace INTEGER ::= 26 +id-ResetResource INTEGER ::= 27 +id-RANAP-Relocation INTEGER ::= 28 +id-RAB-ModifyRequest INTEGER ::= 29 +id-LocationRelatedData INTEGER ::= 30 +id-InformationTransfer INTEGER ::= 31 +id-UESpecificInformation INTEGER ::= 32 +id-UplinkInformationExchange INTEGER ::= 33 +id-DirectInformationTransfer INTEGER ::= 34 +id-MBMSSessionStart INTEGER ::= 35 +id-MBMSSessionUpdate INTEGER ::= 36 +id-MBMSSessionStop INTEGER ::= 37 +id-MBMSUELinking INTEGER ::= 38 +id-MBMSRegistration INTEGER ::= 39 +id-MBMSCNDe-Registration-Procedure INTEGER ::= 40 +id-MBMSRABEstablishmentIndication INTEGER ::= 41 +id-MBMSRABRelease INTEGER ::= 42 +id-enhancedRelocationComplete INTEGER ::= 43 +id-enhancedRelocationCompleteConfirm INTEGER ::= 44 +id-RANAPenhancedRelocation INTEGER ::= 45 +id-SRVCCPreparation INTEGER ::= 46 +id-UeRadioCapabilityMatch INTEGER ::= 47 +id-UeRegistrationQuery INTEGER ::= 48 +id-RerouteNASRequest INTEGER ::= 49 + +-- ************************************************************** +-- +-- Extension constants +-- +-- ************************************************************** + +maxPrivateIEs INTEGER ::= 65535 +maxProtocolExtensions INTEGER ::= 65535 +maxProtocolIEs INTEGER ::= 65535 + +-- ************************************************************** +-- +-- Lists +-- +-- ************************************************************** + +maxNrOfDTs INTEGER ::= 15 +maxNrOfErrors INTEGER ::= 256 +maxNrOfIuSigConIds INTEGER ::= 250 +maxNrOfPDPDirections INTEGER ::= 2 +maxNrOfPoints INTEGER ::= 15 +maxNrOfRABs INTEGER ::= 256 +maxNrOfSeparateTrafficDirections INTEGER ::= 2 +maxNrOfSRBs INTEGER ::= 8 +maxNrOfVol INTEGER ::= 2 +maxNrOfLevels INTEGER ::= 256 +maxNrOfAltValues INTEGER ::= 16 +maxNrOfPLMNsSN INTEGER ::= 32 +maxNrOfLAs INTEGER ::= 65536 +maxNrOfSNAs INTEGER ::= 65536 +maxNrOfUEsToBeTraced INTEGER ::= 64 +maxNrOfInterfaces INTEGER ::= 16 +maxRAB-Subflows INTEGER ::= 7 +maxRAB-SubflowCombination INTEGER ::= 64 +maxSet INTEGER ::= 9 +maxNrOfHSDSCHMACdFlows-1 INTEGER ::= 7 +maxnoofMulticastServicesPerUE INTEGER ::= 128 +maxnoofMulticastServicesPerRNC INTEGER ::= 512 +maxMBMSSA INTEGER ::= 256 +maxMBMSRA INTEGER ::= 65536 +maxNrOfEDCHMACdFlows-1 INTEGER ::= 7 +maxGANSSSet INTEGER ::= 9 +maxNrOfCSGs INTEGER ::= 256 +maxNrOfEUTRAFreqs INTEGER ::= 8 +maxNrOfCellIds INTEGER ::= 32 +maxNrOfRAIs INTEGER ::= 8 +maxNrOfLAIs INTEGER ::= 8 +maxSizeOfIMSInfo INTEGER ::= 32 +maxnoofMDTPLMNs INTEGER ::= 16 +maxAddPosSet INTEGER ::= 8 +maxnoofPLMNs INTEGER ::= 16 + +-- ************************************************************** +-- +-- IEs +-- +-- ************************************************************** + +id-AreaIdentity INTEGER ::= 0 +-- WS Extension +id-Not-Used-1 INTEGER ::= 1 +id-Not-Used-2 INTEGER ::= 2 +id-CN-DomainIndicator INTEGER ::= 3 +id-Cause INTEGER ::= 4 +id-ChosenEncryptionAlgorithm INTEGER ::= 5 +id-ChosenIntegrityProtectionAlgorithm INTEGER ::= 6 +id-ClassmarkInformation2 INTEGER ::= 7 +id-ClassmarkInformation3 INTEGER ::= 8 +id-CriticalityDiagnostics INTEGER ::= 9 +id-DL-GTP-PDU-SequenceNumber INTEGER ::= 10 +id-EncryptionInformation INTEGER ::= 11 +id-IntegrityProtectionInformation INTEGER ::= 12 +id-IuTransportAssociation INTEGER ::= 13 +id-L3-Information INTEGER ::= 14 +id-LAI INTEGER ::= 15 +id-NAS-PDU INTEGER ::= 16 +id-NonSearchingIndication INTEGER ::= 17 +id-NumberOfSteps INTEGER ::= 18 +id-OMC-ID INTEGER ::= 19 +id-OldBSS-ToNewBSS-Information INTEGER ::= 20 +id-PagingAreaID INTEGER ::= 21 +id-PagingCause INTEGER ::= 22 +id-PermanentNAS-UE-ID INTEGER ::= 23 +id-RAB-ContextItem INTEGER ::= 24 +id-RAB-ContextList INTEGER ::= 25 +id-RAB-DataForwardingItem INTEGER ::= 26 +id-RAB-DataForwardingItem-SRNS-CtxReq INTEGER ::= 27 +id-RAB-DataForwardingList INTEGER ::= 28 +id-RAB-DataForwardingList-SRNS-CtxReq INTEGER ::= 29 +id-RAB-DataVolumeReportItem INTEGER ::= 30 +id-RAB-DataVolumeReportList INTEGER ::= 31 +id-RAB-DataVolumeReportRequestItem INTEGER ::= 32 +id-RAB-DataVolumeReportRequestList INTEGER ::= 33 +id-RAB-FailedItem INTEGER ::= 34 +id-RAB-FailedList INTEGER ::= 35 +id-RAB-ID INTEGER ::= 36 +id-RAB-QueuedItem INTEGER ::= 37 +id-RAB-QueuedList INTEGER ::= 38 +id-RAB-ReleaseFailedList INTEGER ::= 39 +id-RAB-ReleaseItem INTEGER ::= 40 +id-RAB-ReleaseList INTEGER ::= 41 +id-RAB-ReleasedItem INTEGER ::= 42 +id-RAB-ReleasedList INTEGER ::= 43 +id-RAB-ReleasedList-IuRelComp INTEGER ::= 44 +id-RAB-RelocationReleaseItem INTEGER ::= 45 +id-RAB-RelocationReleaseList INTEGER ::= 46 +id-RAB-SetupItem-RelocReq INTEGER ::= 47 +id-RAB-SetupItem-RelocReqAck INTEGER ::= 48 +id-RAB-SetupList-RelocReq INTEGER ::= 49 +id-RAB-SetupList-RelocReqAck INTEGER ::= 50 +id-RAB-SetupOrModifiedItem INTEGER ::= 51 +id-RAB-SetupOrModifiedList INTEGER ::= 52 +id-RAB-SetupOrModifyItem INTEGER ::= 53 +id-RAB-SetupOrModifyList INTEGER ::= 54 +id-RAC INTEGER ::= 55 +id-RelocationType INTEGER ::= 56 +id-RequestType INTEGER ::= 57 +id-SAI INTEGER ::= 58 +id-SAPI INTEGER ::= 59 +id-SourceID INTEGER ::= 60 +id-Source-ToTarget-TransparentContainer INTEGER ::= 61 +id-TargetID INTEGER ::= 62 +id-Target-ToSource-TransparentContainer INTEGER ::= 63 +id-TemporaryUE-ID INTEGER ::= 64 +id-TraceReference INTEGER ::= 65 +id-TraceType INTEGER ::= 66 +id-TransportLayerAddress INTEGER ::= 67 +id-TriggerID INTEGER ::= 68 +id-UE-ID INTEGER ::= 69 +id-UL-GTP-PDU-SequenceNumber INTEGER ::= 70 +id-RAB-FailedtoReportItem INTEGER ::= 71 +id-RAB-FailedtoReportList INTEGER ::= 72 +-- WS Extension +id-Not-Used-73 INTEGER ::= 73 +id-Not-Used-74 INTEGER ::= 74 +id-KeyStatus INTEGER ::= 75 +id-DRX-CycleLengthCoefficient INTEGER ::= 76 +id-IuSigConIdList INTEGER ::= 77 +id-IuSigConIdItem INTEGER ::= 78 +id-IuSigConId INTEGER ::= 79 +id-DirectTransferInformationItem-RANAP-RelocInf INTEGER ::= 80 +id-DirectTransferInformationList-RANAP-RelocInf INTEGER ::= 81 +id-RAB-ContextItem-RANAP-RelocInf INTEGER ::= 82 +id-RAB-ContextList-RANAP-RelocInf INTEGER ::= 83 +id-RAB-ContextFailedtoTransferItem INTEGER ::= 84 +id-RAB-ContextFailedtoTransferList INTEGER ::= 85 +id-GlobalRNC-ID INTEGER ::= 86 +id-RAB-ReleasedItem-IuRelComp INTEGER ::= 87 +id-MessageStructure INTEGER ::= 88 +id-Alt-RAB-Parameters INTEGER ::= 89 +id-Ass-RAB-Parameters INTEGER ::= 90 +id-RAB-ModifyList INTEGER ::= 91 +id-RAB-ModifyItem INTEGER ::= 92 +id-TypeOfError INTEGER ::= 93 +id-BroadcastAssistanceDataDecipheringKeys INTEGER ::= 94 +id-LocationRelatedDataRequestType INTEGER ::= 95 +id-GlobalCN-ID INTEGER ::= 96 +id-LastKnownServiceArea INTEGER ::= 97 +id-SRB-TrCH-Mapping INTEGER ::= 98 +id-InterSystemInformation-TransparentContainer INTEGER ::= 99 +id-NewBSS-To-OldBSS-Information INTEGER ::= 100 +-- WS extension +id-Not-Used-101 INTEGER ::= 101 +id-Not-Used-102 INTEGER ::= 102 +id-SourceRNC-PDCP-context-info INTEGER ::= 103 +id-InformationTransferID INTEGER ::= 104 +id-SNA-Access-Information INTEGER ::= 105 +id-ProvidedData INTEGER ::= 106 +id-GERAN-BSC-Container INTEGER ::= 107 +id-GERAN-Classmark INTEGER ::= 108 +id-GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item INTEGER ::= 109 +id-GERAN-Iumode-RAB-FailedList-RABAssgntResponse INTEGER ::= 110 +id-VerticalAccuracyCode INTEGER ::= 111 +id-ResponseTime INTEGER ::= 112 +id-PositioningPriority INTEGER ::= 113 +id-ClientType INTEGER ::= 114 +id-LocationRelatedDataRequestTypeSpecificToGERANIuMode INTEGER ::= 115 +id-SignallingIndication INTEGER ::= 116 +id-hS-DSCH-MAC-d-Flow-ID INTEGER ::= 117 +id-UESBI-Iu INTEGER ::= 118 +id-PositionData INTEGER ::= 119 +id-PositionDataSpecificToGERANIuMode INTEGER ::= 120 +id-CellLoadInformationGroup INTEGER ::= 121 +id-AccuracyFulfilmentIndicator INTEGER ::= 122 +id-InformationTransferType INTEGER ::= 123 +id-TraceRecordingSessionInformation INTEGER ::= 124 +id-TracePropagationParameters INTEGER ::= 125 +id-InterSystemInformationTransferType INTEGER ::= 126 +id-SelectedPLMN-ID INTEGER ::= 127 +id-RedirectionCompleted INTEGER ::= 128 +id-RedirectionIndication INTEGER ::= 129 +id-NAS-SequenceNumber INTEGER ::= 130 +id-RejectCauseValue INTEGER ::= 131 +id-APN INTEGER ::= 132 +id-CNMBMSLinkingInformation INTEGER ::= 133 +id-DeltaRAListofIdleModeUEs INTEGER ::= 134 +id-FrequenceLayerConvergenceFlag INTEGER ::= 135 +id-InformationExchangeID INTEGER ::= 136 +id-InformationExchangeType INTEGER ::= 137 +id-InformationRequested INTEGER ::= 138 +id-InformationRequestType INTEGER ::= 139 +id-IPMulticastAddress INTEGER ::= 140 +id-JoinedMBMSBearerServicesList INTEGER ::= 141 +id-LeftMBMSBearerServicesList INTEGER ::= 142 +id-MBMSBearerServiceType INTEGER ::= 143 +id-MBMSCNDe-Registration INTEGER ::= 144 +id-MBMSServiceArea INTEGER ::= 145 +id-MBMSSessionDuration INTEGER ::= 146 +id-MBMSSessionIdentity INTEGER ::= 147 +id-PDP-TypeInformation INTEGER ::= 148 +id-RAB-Parameters INTEGER ::= 149 +id-RAListofIdleModeUEs INTEGER ::= 150 +id-MBMSRegistrationRequestType INTEGER ::= 151 +id-SessionUpdateID INTEGER ::= 152 +id-TMGI INTEGER ::= 153 +id-TransportLayerInformation INTEGER ::= 154 +id-UnsuccessfulLinkingList INTEGER ::= 155 +id-MBMSLinkingInformation INTEGER ::= 156 +id-MBMSSessionRepetitionNumber INTEGER ::= 157 +id-AlternativeRABConfiguration INTEGER ::= 158 +id-AlternativeRABConfigurationRequest INTEGER ::= 159 +id-E-DCH-MAC-d-Flow-ID INTEGER ::= 160 +id-SourceBSS-ToTargetBSS-TransparentContainer INTEGER ::= 161 +id-TargetBSS-ToSourceBSS-TransparentContainer INTEGER ::= 162 +id-TimeToMBMSDataTransfer INTEGER ::= 163 +id-IncludeVelocity INTEGER ::= 164 +id-VelocityEstimate INTEGER ::= 165 +id-RedirectAttemptFlag INTEGER ::= 166 +id-RAT-Type INTEGER ::= 167 +id-PeriodicLocationInfo INTEGER ::= 168 +id-MBMSCountingInformation INTEGER ::= 169 +id-170-not-to-be-used-for-IE-ids INTEGER ::= 170 +id-ExtendedRNC-ID INTEGER ::= 171 +id-Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf INTEGER ::= 172 +id-Alt-RAB-Parameter-ExtendedMaxBitrateInf INTEGER ::= 173 +id-Ass-RAB-Parameter-ExtendedGuaranteedBitrateList INTEGER ::= 174 +id-Ass-RAB-Parameter-ExtendedMaxBitrateList INTEGER ::= 175 +id-RAB-Parameter-ExtendedGuaranteedBitrateList INTEGER ::= 176 +id-RAB-Parameter-ExtendedMaxBitrateList INTEGER ::= 177 +id-Requested-RAB-Parameter-ExtendedMaxBitrateList INTEGER ::= 178 +id-Requested-RAB-Parameter-ExtendedGuaranteedBitrateList INTEGER ::= 179 +id-LAofIdleModeUEs INTEGER ::= 180 +id-newLAListofIdleModeUEs INTEGER ::= 181 +id-LAListwithNoIdleModeUEsAnyMore INTEGER ::= 182 +id-183-not-to-be-used-for-IE-ids INTEGER ::= 183 +id-GANSS-PositioningDataSet INTEGER ::= 184 +id-RequestedGANSSAssistanceData INTEGER ::= 185 +id-BroadcastGANSSAssistanceDataDecipheringKeys INTEGER ::= 186 +id-d-RNTI-for-NoIuCSUP INTEGER ::= 187 +id-RAB-SetupList-EnhancedRelocCompleteReq INTEGER ::= 188 +id-RAB-SetupItem-EnhancedRelocCompleteReq INTEGER ::= 189 +id-RAB-SetupList-EnhancedRelocCompleteRes INTEGER ::= 190 +id-RAB-SetupItem-EnhancedRelocCompleteRes INTEGER ::= 191 +id-RAB-SetupList-EnhRelocInfoReq INTEGER ::= 192 +id-RAB-SetupItem-EnhRelocInfoReq INTEGER ::= 193 +id-RAB-SetupList-EnhRelocInfoRes INTEGER ::= 194 +id-RAB-SetupItem-EnhRelocInfoRes INTEGER ::= 195 +id-OldIuSigConId INTEGER ::= 196 +id-RAB-FailedList-EnhRelocInfoRes INTEGER ::= 197 +id-RAB-FailedItem-EnhRelocInfoRes INTEGER ::= 198 +id-Global-ENB-ID INTEGER ::= 199 +id-UE-History-Information INTEGER ::= 200 +id-MBMSSynchronisationInformation INTEGER ::= 201 +id-SubscriberProfileIDforRFP INTEGER ::= 202 +id-CSG-Id INTEGER ::= 203 +id-OldIuSigConIdCS INTEGER ::= 204 +id-OldIuSigConIdPS INTEGER ::= 205 +id-GlobalCN-IDCS INTEGER ::= 206 +id-GlobalCN-IDPS INTEGER ::= 207 +id-SourceExtendedRNC-ID INTEGER ::= 208 +id-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes INTEGER ::= 209 +id-RAB-ToBeReleasedList-EnhancedRelocCompleteRes INTEGER ::= 210 +id-SourceRNC-ID INTEGER ::= 211 +id-Relocation-TargetRNC-ID INTEGER ::= 212 +id-Relocation-TargetExtendedRNC-ID INTEGER ::= 213 +id-Alt-RAB-Parameter-SupportedGuaranteedBitrateInf INTEGER ::= 214 +id-Alt-RAB-Parameter-SupportedMaxBitrateInf INTEGER ::= 215 +id-Ass-RAB-Parameter-SupportedGuaranteedBitrateList INTEGER ::= 216 +id-Ass-RAB-Parameter-SupportedMaxBitrateList INTEGER ::= 217 +id-RAB-Parameter-SupportedGuaranteedBitrateList INTEGER ::= 218 +id-RAB-Parameter-SupportedMaxBitrateList INTEGER ::= 219 +id-Requested-RAB-Parameter-SupportedMaxBitrateList INTEGER ::= 220 +id-Requested-RAB-Parameter-SupportedGuaranteedBitrateList INTEGER ::= 221 +id-Relocation-SourceRNC-ID INTEGER ::= 222 +id-Relocation-SourceExtendedRNC-ID INTEGER ::= 223 +id-EncryptionKey INTEGER ::= 224 +id-IntegrityProtectionKey INTEGER ::= 225 +id-SRVCC-HO-Indication INTEGER ::= 226 +id-SRVCC-Information INTEGER ::= 227 +id-SRVCC-Operation-Possible INTEGER ::= 228 +id-CSG-Id-List INTEGER ::= 229 +id-PSRABtobeReplaced INTEGER ::= 230 +id-E-UTRAN-Service-Handover INTEGER ::= 231 +-- WS Extension +id-Not-Used-232 INTEGER ::= 232 +id-UE-AggregateMaximumBitRate INTEGER ::= 233 +id-CSG-Membership-Status INTEGER ::= 234 +id-Cell-Access-Mode INTEGER ::= 235 +id-IP-Source-Address INTEGER ::= 236 +id-CSFB-Information INTEGER ::= 237 +id-PDP-TypeInformation-extension INTEGER ::= 238 +id-MSISDN INTEGER ::= 239 +id-Offload-RAB-Parameters INTEGER ::= 240 +id-LGW-TransportLayerAddress INTEGER ::= 241 +id-Correlation-ID INTEGER ::= 242 +id-IRAT-Measurement-Configuration INTEGER ::= 243 +id-MDT-Configuration INTEGER ::= 244 +id-Priority-Class-Indicator INTEGER ::= 245 +id-RNSAPRelocationParameters INTEGER ::= 247 +id-RABParametersList INTEGER ::= 248 +id-Management-Based-MDT-Allowed INTEGER ::= 249 +id-HigherBitratesThan16MbpsFlag INTEGER ::= 250 +id-Trace-Collection-Entity-IP-Addess INTEGER ::= 251 +id-End-Of-CSFB INTEGER ::= 252 +id-Time-UE-StayedInCell-EnhancedGranularity INTEGER ::= 253 +id-Out-Of-UTRAN INTEGER ::= 254 +id-TraceRecordingSessionReference INTEGER ::= 255 +id-IMSI INTEGER ::= 256 +id-HO-Cause INTEGER ::= 257 +id-VoiceSupportMatchIndicator INTEGER ::= 258 +id-RSRVCC-HO-Indication INTEGER ::= 259 +id-RSRVCC-Information INTEGER ::= 260 +id-AnchorPLMN-ID INTEGER ::= 261 +id-Tunnel-Information-for-BBF INTEGER ::= 262 +id-Management-Based-MDT-PLMN-List INTEGER ::= 263 +id-SignallingBasedMDTPLMNList INTEGER ::= 264 +id-M4Report INTEGER ::= 265 +id-M5Report INTEGER ::= 266 +id-M6Report INTEGER ::= 267 +id-M7Report INTEGER ::= 268 +id-TimingDifferenceULDL INTEGER ::= 269 +id-Serving-Cell-Identifier INTEGER ::= 270 +id-EARFCN-Extended INTEGER ::= 271 +id-RSRVCC-Operation-Possible INTEGER ::= 272 +id-SIPTO-LGW-TransportLayerAddress INTEGER ::= 273 +id-SIPTO-Correlation-ID INTEGER ::= 274 +id-LHN-ID INTEGER ::= 275 +id-Session-Re-establishment-Indicator INTEGER ::= 276 +id-LastE-UTRANPLMNIdentity INTEGER ::= 277 +id-RSRQ-Type INTEGER ::= 278 +id-RSRQ-Extension INTEGER ::= 279 +id-Additional-CSPS-coordination-information INTEGER ::= 280 +id-UERegistrationQueryResult INTEGER ::= 281 +id-IuSigConIdRangeEnd INTEGER ::= 282 +id-BarometricPressure INTEGER ::= 283 +id-Additional-PositioningDataSet INTEGER ::= 284 +id-CivicAddress INTEGER ::= 285 +id-SGSN-Group-Identity INTEGER ::= 286 +id-P-TMSI INTEGER ::= 287 +id-RANAP-Message INTEGER ::= 288 +id-PowerSavingIndicator INTEGER ::= 289 +id-UE-Usage-Type INTEGER ::= 290 +id-DCN-ID INTEGER ::= 291 +id-UE-Application-Layer-Measurement-Configuration INTEGER ::= 292 +id-UE-Application-Layer-Measurement-Configuration-For-Relocation INTEGER ::= 293 + +END diff --git a/library/ranap/RANAP_Containers.asn b/library/ranap/RANAP_Containers.asn new file mode 100644 index 000000000..f920a62af --- /dev/null +++ b/library/ranap/RANAP_Containers.asn @@ -0,0 +1,202 @@ +-- RANAP-Containers.asn +-- +-- 3GPP TS 25.413 V14.0.0 (2017-03) +-- http://www.3gpp.org/ftp/Specs/html-info/25413.htm +-- +-- 9.3.7 Container Definitions +-- + +-- ************************************************************** +-- +-- Container definitions +-- +-- ************************************************************** + +RANAP-Containers { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) ranap (0) version1 (1) ranap-Containers (5) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** + +IMPORTS + Criticality, + Presence, + PrivateIE-ID, + ProtocolExtensionID, + ProtocolIE-ID +FROM RANAP-CommonDataTypes + + maxPrivateIEs, + maxProtocolExtensions, + maxProtocolIEs +FROM RANAP-Constants; + +-- ************************************************************** +-- +-- Class Definition for Protocol IEs +-- +-- ************************************************************** + +RANAP-PROTOCOL-IES ::= CLASS { + &id ProtocolIE-ID UNIQUE, + &criticality Criticality, + &Value, + &presence Presence +} +WITH SYNTAX { + ID &id + CRITICALITY &criticality + TYPE &Value + PRESENCE &presence +} + +-- ************************************************************** +-- +-- Class Definition for Protocol IEs +-- +-- ************************************************************** + +RANAP-PROTOCOL-IES-PAIR ::= CLASS { + &id ProtocolIE-ID UNIQUE, + &firstCriticality Criticality, + &FirstValue, + &secondCriticality Criticality, + &SecondValue, + &presence Presence +} +WITH SYNTAX { + ID &id + FIRST CRITICALITY &firstCriticality + FIRST TYPE &FirstValue + SECOND CRITICALITY &secondCriticality + SECOND TYPE &SecondValue + PRESENCE &presence +} + +-- ************************************************************** +-- +-- Class Definition for Protocol Extensions +-- +-- ************************************************************** + +RANAP-PROTOCOL-EXTENSION ::= CLASS { + &id ProtocolExtensionID UNIQUE, + &criticality Criticality, + &Extension, + &presence Presence +} +WITH SYNTAX { + ID &id + CRITICALITY &criticality + EXTENSION &Extension + PRESENCE &presence +} + +-- ************************************************************** +-- +-- Class Definition for Private IEs +-- +-- ************************************************************** + +RANAP-PRIVATE-IES ::= CLASS { + &id PrivateIE-ID, + &criticality Criticality, + &Value, + &presence Presence +} +WITH SYNTAX { + ID &id + CRITICALITY &criticality + TYPE &Value + PRESENCE &presence +} + +-- ************************************************************** +-- +-- Container for Protocol IEs +-- +-- ************************************************************** + +ProtocolIE-Container {RANAP-PROTOCOL-IES : IEsSetParam} ::= + SEQUENCE (SIZE (0..maxProtocolIEs)) OF + ProtocolIE-Field {{IEsSetParam}} + +ProtocolIE-Field {RANAP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE { + id RANAP-PROTOCOL-IES.&id ({IEsSetParam}), + criticality RANAP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}), + value RANAP-PROTOCOL-IES.&Value ({IEsSetParam}{@id}) +} + +-- ************************************************************** +-- +-- Container for Protocol IE Pairs +-- +-- ************************************************************** + +ProtocolIE-ContainerPair {RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::= + SEQUENCE (SIZE (0..maxProtocolIEs)) OF + ProtocolIE-FieldPair {{IEsSetParam}} + +ProtocolIE-FieldPair {RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE { + id RANAP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}), + firstCriticality RANAP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}), + firstValue RANAP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}), + secondCriticality RANAP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}), + secondValue RANAP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id}) +} + +-- ************************************************************** +-- +-- Container Lists for Protocol IE Containers +-- +-- ************************************************************** + +ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, RANAP-PROTOCOL-IES : IEsSetParam} ::= + SEQUENCE (SIZE (lowerBound..upperBound)) OF + ProtocolIE-Container {{IEsSetParam}} + +ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::= + SEQUENCE (SIZE (lowerBound..upperBound)) OF + ProtocolIE-ContainerPair {{IEsSetParam}} + +-- ************************************************************** +-- +-- Container for Protocol Extensions +-- +-- ************************************************************** + +ProtocolExtensionContainer {RANAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= + SEQUENCE (SIZE (1..maxProtocolExtensions)) OF + ProtocolExtensionField {{ExtensionSetParam}} + +ProtocolExtensionField {RANAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE { + id RANAP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}), + criticality RANAP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}), + extensionValue RANAP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id}) +} + +-- ************************************************************** +-- +-- Container for Private IEs +-- +-- ************************************************************** + +PrivateIE-Container {RANAP-PRIVATE-IES : IEsSetParam } ::= + SEQUENCE (SIZE (1.. maxPrivateIEs)) OF + PrivateIE-Field {{IEsSetParam}} + +PrivateIE-Field {RANAP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE { + id RANAP-PRIVATE-IES.&id ({IEsSetParam}), + criticality RANAP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}), + value RANAP-PRIVATE-IES.&Value ({IEsSetParam}{@id}) +} + +END diff --git a/library/ranap/RANAP_EncDec.cc b/library/ranap/RANAP_EncDec.cc new file mode 100644 index 000000000..7626b7bee --- /dev/null +++ b/library/ranap/RANAP_EncDec.cc @@ -0,0 +1,66 @@ + +#include +#include +#include "RANAP_PDU_Descriptions.hh" + +extern "C" { +#include +} + +namespace RANAP__Types { + +TTCN_Module RANAP__EncDec("RANAP_EncDec", __DATE__, __TIME__); + +OCTETSTRING enc__RANAP__PDU(const RANAP__PDU__Descriptions::RANAP__PDU &pdu) +{ + uint8_t *aper_buf; + int aper_buf_len; + TTCN_Buffer TTCN_buf; + TTCN_buf.clear(); + + /* Encode from abstract data type into BER/DER */ + pdu.encode(RANAP__PDU__Descriptions::RANAP__PDU_descr_, TTCN_buf, + TTCN_EncDec::CT_BER, BER_ENCODE_DER); + + aper_buf_len = fftranscode_ber2aper(FFTRANSC_T_RANAP, &aper_buf, TTCN_buf.get_data(), TTCN_buf.get_len()); + if (aper_buf_len < 0) { + TTCN_Logger::begin_event_log2str(); + TTCN_buf.log(); + TTCN_error("fftranscode_ber2aper failed: %s", (const char *) TTCN_Logger::end_event_log2str()); + } + + /* make octetstring from output buffer */ + OCTETSTRING ret_val(aper_buf_len, aper_buf); + + /* release dynamically-allocated output buffer */ + fftranscode_free(aper_buf); + + return ret_val; +} + +RANAP__PDU__Descriptions::RANAP__PDU dec__RANAP__PDU(const OCTETSTRING &stream) +{ + uint8_t *ber_buf; + int ber_buf_len; + + /* First, decode APER + re-encode as BER */ + ber_buf_len = fftranscode_aper2ber(FFTRANSC_T_RANAP, &ber_buf, (const unsigned char *)stream, stream.lengthof()); + if (ber_buf_len < 0) { + TTCN_error("fftranscode_aper2ber failed."); + } + + /* Then, re-encode from BER to TITAN representation */ + RANAP__PDU__Descriptions::RANAP__PDU ret_dcc; + TTCN_Buffer TTCN_buf; + TTCN_buf.clear(); + TTCN_buf.put_s(ber_buf_len, ber_buf); + + ret_dcc.decode(RANAP__PDU__Descriptions::RANAP__PDU_descr_, TTCN_buf, + TTCN_EncDec::CT_BER, BER_ACCEPT_ALL); + + fftranscode_free(ber_buf); + + return ret_dcc; +} + +} diff --git a/library/ranap/RANAP_IEs.asn b/library/ranap/RANAP_IEs.asn new file mode 100644 index 000000000..3b47d0122 --- /dev/null +++ b/library/ranap/RANAP_IEs.asn @@ -0,0 +1,2796 @@ +-- RANAP-IEs.asn +-- +-- 3GPP TS 25.413 V14.0.0 (2017-03) +-- http://www.3gpp.org/ftp/Specs/html-info/25413.htm +-- +-- 9.3.4 Information Element Definitions +-- + +-- ************************************************************** +-- +-- Information Element Definitions +-- +-- ************************************************************** + +RANAP-IEs { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) ranap (0) version1 (1) ranap-IEs (2) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + maxNrOfCSGs, + maxNrOfErrors, + maxNrOfPDPDirections, + maxNrOfPoints, + maxNrOfRABs, + maxNrOfSRBs, + maxNrOfSeparateTrafficDirections, + maxRAB-Subflows, + maxRAB-SubflowCombination, + maxNrOfLevels, + maxNrOfAltValues, + maxNrOfSNAs, + maxNrOfLAs, + maxNrOfPLMNsSN, + maxSet, + maxNrOfHSDSCHMACdFlows-1, + maxNrOfUEsToBeTraced, + maxNrOfInterfaces, + maxnoofMulticastServicesPerRNC, + maxMBMSSA, + maxMBMSRA, + maxnoofMulticastServicesPerUE, + maxNrOfEDCHMACdFlows-1, + maxGANSSSet, + maxNrOfEUTRAFreqs, + maxNrOfCellIds, + maxNrOfRAIs, + maxNrOfLAIs, + maxNrOfVol, + maxSizeOfIMSInfo, + maxnoofMDTPLMNs, + maxAddPosSet, + maxnoofPLMNs, + + id-CN-DomainIndicator, + id-MessageStructure, + id-SRB-TrCH-Mapping, + id-TypeOfError, + id-hS-DSCH-MAC-d-Flow-ID, + id-SignallingIndication, + id-CellLoadInformationGroup, + id-TraceRecordingSessionInformation, + id-MBMSLinkingInformation, + id-AlternativeRABConfiguration, + id-AlternativeRABConfigurationRequest, + id-E-DCH-MAC-d-Flow-ID, + id-RAC, + id-Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf, + id-Alt-RAB-Parameter-ExtendedMaxBitrateInf, + id-Ass-RAB-Parameter-ExtendedGuaranteedBitrateList, + id-Ass-RAB-Parameter-ExtendedMaxBitrateList, + id-RAB-Parameter-ExtendedGuaranteedBitrateList, + id-RAB-Parameter-ExtendedMaxBitrateList, + id-Requested-RAB-Parameter-ExtendedMaxBitrateList, + id-Requested-RAB-Parameter-ExtendedGuaranteedBitrateList, + id-LAofIdleModeUEs, + id-newLAListofIdleModeUEs, + id-LAListwithNoIdleModeUEsAnyMore, + id-ExtendedRNC-ID, + id-GANSS-PositioningDataSet, + id-d-RNTI-for-NoIuCSUP, + id-UE-History-Information, + id-SubscriberProfileIDforRFP, + id-Alt-RAB-Parameter-SupportedGuaranteedBitrateInf, + id-Alt-RAB-Parameter-SupportedMaxBitrateInf, + id-Ass-RAB-Parameter-SupportedGuaranteedBitrateList, + id-Ass-RAB-Parameter-SupportedMaxBitrateList, + id-RAB-Parameter-SupportedGuaranteedBitrateList, + id-RAB-Parameter-SupportedMaxBitrateList, + id-Requested-RAB-Parameter-SupportedMaxBitrateList, + id-Requested-RAB-Parameter-SupportedGuaranteedBitrateList, + id-PSRABtobeReplaced, + id-SRVCC-Information, + id-CSG-Id, + id-CSFB-Information, + id-IRAT-Measurement-Configuration, + id-Management-Based-MDT-Allowed, + id-Time-UE-StayedInCell-EnhancedGranularity, + id-HO-Cause, + id-TraceRecordingSessionReference, + id-IMSI, + id-Management-Based-MDT-PLMN-List, + id-SignallingBasedMDTPLMNList, + id-M4Report, + id-M5Report, + id-M6Report, + id-M7Report, + id-TimingDifferenceULDL, + id-Trace-Collection-Entity-IP-Addess, + id-Serving-Cell-Identifier, + id-EARFCN-Extended, + id-LastE-UTRANPLMNIdentity, + id-RSRQ-Type, + id-RSRQ-Extension, + id-Additional-PositioningDataSet + + +FROM RANAP-Constants + + Criticality, + ProcedureCode, + ProtocolIE-ID, + TriggeringMessage +FROM RANAP-CommonDataTypes + + ProtocolExtensionContainer{}, + RANAP-PROTOCOL-EXTENSION +FROM RANAP-Containers; + +-- A + +AccuracyFulfilmentIndicator ::= ENUMERATED{ + requested-Accuracy-Fulfilled, + requested-Accuracy-Not-Fulfilled, + ... +} + +Additional-CSPS-coordination-information ::= SEQUENCE { + old-LAI LAI OPTIONAL, + old-RAC RAC OPTIONAL, + nRI BIT STRING (SIZE (10)) OPTIONAL, + uE-is-Attaching NULL OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {Additional-CSPS-coordination-information-ExtIEs} } OPTIONAL, + ... +} + +Additional-CSPS-coordination-information-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +Additional-PositioningDataSet ::= SEQUENCE(SIZE(1..maxAddPosSet)) OF Additional-PositioningMethodAndUsage + +Additional-PositioningMethodAndUsage ::= OCTET STRING (SIZE(1)) + +AllocationOrRetentionPriority ::= SEQUENCE { + priorityLevel PriorityLevel, + pre-emptionCapability Pre-emptionCapability, + pre-emptionVulnerability Pre-emptionVulnerability, + queuingAllowed QueuingAllowed, + iE-Extensions ProtocolExtensionContainer { {AllocationOrRetentionPriority-ExtIEs} } OPTIONAL, + ... +} + +AllocationOrRetentionPriority-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +Alt-RAB-Parameters ::= SEQUENCE { + altMaxBitrateInf Alt-RAB-Parameter-MaxBitrateInf OPTIONAL, + altGuaranteedBitRateInf Alt-RAB-Parameter-GuaranteedBitrateInf OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {Alt-RAB-Parameters-ExtIEs} } OPTIONAL, + ... +} + +Alt-RAB-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 6 to indicate an alternative RAB configuration -- + { ID id-AlternativeRABConfiguration CRITICALITY ignore EXTENSION RAB-Parameters PRESENCE optional }| +-- Extension for Release 7 to indicate an alternative list of Extended Guaranteed Bitrates -- +{ ID id-Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf CRITICALITY ignore EXTENSION Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf PRESENCE optional }| +-- Extension for Release 7 to indicate an alternative list of Extended Maximum Bitrates -- +{ ID id-Alt-RAB-Parameter-ExtendedMaxBitrateInf CRITICALITY ignore EXTENSION Alt-RAB-Parameter-ExtendedMaxBitrateInf PRESENCE optional }| +-- Extension for Release 8 to indicate an alternative list of Supported Maximum Bitrates -- +{ ID id-Alt-RAB-Parameter-SupportedMaxBitrateInf CRITICALITY reject EXTENSION Alt-RAB-Parameter-SupportedMaxBitrateInf PRESENCE optional }| +-- Extension for Release 8 to indicate an alternative list of Supported Guaranteed Bitrates -- +{ ID id-Alt-RAB-Parameter-SupportedGuaranteedBitrateInf CRITICALITY reject EXTENSION Alt-RAB-Parameter-SupportedGuaranteedBitrateInf PRESENCE optional }, + ... +} + +Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf ::= SEQUENCE { + altExtendedGuaranteedBitrateType Alt-RAB-Parameter-GuaranteedBitrateType, + altExtendedGuaranteedBitrates Alt-RAB-Parameter-ExtendedGuaranteedBitrates OPTIONAL + -- This IE shall be present if the Type of Extended Guaranteed Bit Rates Information IE is set to "Value range" or "Discrete values" --, + ... +} + +Alt-RAB-Parameter-ExtendedGuaranteedBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF + Alt-RAB-Parameter-ExtendedGuaranteedBitrateList + +Alt-RAB-Parameter-ExtendedGuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedGuaranteedBitrate + +Alt-RAB-Parameter-GuaranteedBitrateInf ::= SEQUENCE { + altGuaranteedBitrateType Alt-RAB-Parameter-GuaranteedBitrateType, + altGuaranteedBitrates Alt-RAB-Parameter-GuaranteedBitrates OPTIONAL + -- This IE shall be present if the Type of Guaranteed Bit Rates Information IE is set to "Value range" or "Discrete values" --, + ... +} + +Alt-RAB-Parameter-GuaranteedBitrateType ::= ENUMERATED{ + unspecified, + value-range, + discrete-values, + ... +} + +Alt-RAB-Parameter-GuaranteedBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF + Alt-RAB-Parameter-GuaranteedBitrateList + + +Alt-RAB-Parameter-GuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF GuaranteedBitrate + +Alt-RAB-Parameter-SupportedGuaranteedBitrateInf ::= SEQUENCE { + altSupportedGuaranteedBitrateType Alt-RAB-Parameter-GuaranteedBitrateType, + altSupportedGuaranteedBitrates Alt-RAB-Parameter-SupportedGuaranteedBitrates OPTIONAL + -- This IE shall be present if the Type of Supported Guaranteed Bit Rates Information IE is set to "Value range" or "Discrete values" --, + iE-Extensions ProtocolExtensionContainer { { Alt-RAB-Parameter-SupportedGuaranteedBitrateInf-ExtIEs} } OPTIONAL, + ... +} + +Alt-RAB-Parameter-SupportedGuaranteedBitrateInf-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +... +} + +Alt-RAB-Parameter-SupportedGuaranteedBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF + SupportedRAB-ParameterBitrateList + + +Alt-RAB-Parameter-ExtendedMaxBitrateInf ::= SEQUENCE { + altExtendedMaxBitrateType Alt-RAB-Parameter-MaxBitrateType, + altExtendedMaxBitrates Alt-RAB-Parameter-ExtendedMaxBitrates OPTIONAL + -- This IE shall be present if the Type of Extended Alternative Maximum Bit Rates Information IE is set to "Value range" or "Discrete values" --, + ... +} + +Alt-RAB-Parameter-ExtendedMaxBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF + Alt-RAB-Parameter-ExtendedMaxBitrateList + +Alt-RAB-Parameter-ExtendedMaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedMaxBitrate + +Alt-RAB-Parameter-MaxBitrateInf ::= SEQUENCE { + altMaxBitrateType Alt-RAB-Parameter-MaxBitrateType, + altMaxBitrates Alt-RAB-Parameter-MaxBitrates OPTIONAL + -- This IE shall be present if the Type of Alternative Maximun Bit Rates Information IE is set to "Value range" or "Discrete values" --, + ... +} + +Alt-RAB-Parameter-MaxBitrateType ::= ENUMERATED{ + unspecified, + value-range, + discrete-values, + ... +} + +Alt-RAB-Parameter-MaxBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF + Alt-RAB-Parameter-MaxBitrateList + + +Alt-RAB-Parameter-MaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF MaxBitrate + + +Alt-RAB-Parameter-SupportedMaxBitrateInf ::= SEQUENCE { + altSupportedMaxBitrateType Alt-RAB-Parameter-MaxBitrateType, + altSupportedMaxBitrates Alt-RAB-Parameter-SupportedMaxBitrates OPTIONAL + -- This IE shall be present if the Type of Supported Alternative Maximun Bit Rates Information IE is set to "Value range" or "Discrete values" --, + iE-Extensions ProtocolExtensionContainer { { Alt-RAB-Parameter-SupportedMaxBitrateInf-ExtIEs} } OPTIONAL, +... +} + +Alt-RAB-Parameter-SupportedMaxBitrateInf-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +... +} + + +Alt-RAB-Parameter-SupportedMaxBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF + SupportedRAB-ParameterBitrateList + +AlternativeRABConfigurationRequest ::= ENUMERATED{ + alternative-RAB-configuration-Requested, + ... +} + +UE-Application-Layer-Measurement-Configuration ::= SEQUENCE { + applicationLayerContainerForMeasurementConfiguration OCTET STRING ( SIZE (1..1000)), + areaScopeForUEApplicationLayerMeasurementConfiguration AreaScopeForUEApplicationLayerMeasurementConfiguration, + ... +} + +UE-Application-Layer-Measurement-Configuration-For-Relocation ::= SEQUENCE { + areaScopeForUEApplicationLayerMeasurementConfiguration AreaScopeForUEApplicationLayerMeasurementConfiguration, + traceReference TraceReference, + tracePropagationParameters TracePropagationParameters OPTIONAL, + traceCollectionEntityIPAddress TransportLayerAddress OPTIONAL, + ... +} + + +APN ::= OCTET STRING (SIZE (1..255)) +-- Reference: 23.003 + +AreaScopeForUEApplicationLayerMeasurementConfiguration ::= CHOICE { + cellbased CellBased, + labased LABased, + rabased RABased, + plmn-area-based PLMNBased, + ... +} + +AreaIdentity ::= CHOICE { + sAI SAI, + geographicalArea GeographicalArea, + ... +} + +Ass-RAB-Parameters ::= SEQUENCE { + assMaxBitrateInf Ass-RAB-Parameter-MaxBitrateList OPTIONAL, + assGuaranteedBitRateInf Ass-RAB-Parameter-GuaranteedBitrateList OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {Ass-RAB-Parameters-ExtIEs} } OPTIONAL, + ... +} + +Ass-RAB-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 7 to indicate an extended assigned Guaranteed Bitrate -- + { ID id-Ass-RAB-Parameter-ExtendedGuaranteedBitrateList CRITICALITY reject EXTENSION Ass-RAB-Parameter-ExtendedGuaranteedBitrateList PRESENCE optional }| +-- Extension for Release 7 to indicate an extended assigned Maximum Bitrate -- + { ID id-Ass-RAB-Parameter-ExtendedMaxBitrateList CRITICALITY reject EXTENSION Ass-RAB-Parameter-ExtendedMaxBitrateList PRESENCE optional }| +-- Extension for Release 8 to indicate an supported assigned Maximum Bitrate -- + { ID id-Ass-RAB-Parameter-SupportedMaxBitrateList CRITICALITY ignore EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional }| +-- Extension for Release 8 to indicate an supported assigned Guaranteed Bitrate -- + { ID id-Ass-RAB-Parameter-SupportedGuaranteedBitrateList CRITICALITY ignore EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional }, + ... +} + +Ass-RAB-Parameter-ExtendedGuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedGuaranteedBitrate + +Ass-RAB-Parameter-ExtendedMaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedMaxBitrate + + +Ass-RAB-Parameter-GuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF GuaranteedBitrate + + +Ass-RAB-Parameter-MaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF MaxBitrate + +AuthorisedPLMNs ::= SEQUENCE (SIZE (1..maxNrOfPLMNsSN)) OF + SEQUENCE { + pLMNidentity PLMNidentity, + authorisedSNAsList AuthorisedSNAs OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {AuthorisedPLMNs-ExtIEs} } OPTIONAL, + ... + } + +AuthorisedPLMNs-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +AuthorisedSNAs ::= SEQUENCE (SIZE (1..maxNrOfSNAs)) OF SNAC + + +-- B + +BarometricPressure ::= INTEGER (30000..115000) + +BindingID ::= OCTET STRING (SIZE (4)) + +BroadcastAssistanceDataDecipheringKeys ::= SEQUENCE { + cipheringKeyFlag BIT STRING (SIZE (1)), + currentDecipheringKey BIT STRING (SIZE (56)), + nextDecipheringKey BIT STRING (SIZE (56)), + ... +} + +-- C + + +Cause ::= CHOICE { + radioNetwork CauseRadioNetwork, + transmissionNetwork CauseTransmissionNetwork, + nAS CauseNAS, + protocol CauseProtocol, + misc CauseMisc, + non-Standard CauseNon-Standard, + ..., + radioNetworkExtension CauseRadioNetworkExtension +} + +CauseMisc ::= INTEGER { + om-intervention (113), + no-resource-available (114), + unspecified-failure (115), + network-optimisation (116) +} (113..128) + +CauseNAS ::= INTEGER { + user-restriction-start-indication (81), + user-restriction-end-indication (82), + normal-release (83), + csg-subscription-expiry(84) +} (81..96) + +CauseProtocol ::= INTEGER { + transfer-syntax-error (97), + semantic-error (98), + message-not-compatible-with-receiver-state (99), + abstract-syntax-error-reject (100), + abstract-syntax-error-ignore-and-notify (101), + abstract-syntax-error-falsely-constructed-message (102) +} (97..112) + +CauseRadioNetwork ::= INTEGER { + rab-pre-empted (1), + trelocoverall-expiry (2), + trelocprep-expiry (3), + treloccomplete-expiry (4), + tqueing-expiry (5), + relocation-triggered (6), + trellocalloc-expiry(7), + unable-to-establish-during-relocation (8), + unknown-target-rnc (9), + relocation-cancelled (10), + successful-relocation (11), + requested-ciphering-and-or-integrity-protection-algorithms-not-supported (12), + conflict-with-already-existing-integrity-protection-and-or-ciphering-information (13), + failure-in-the-radio-interface-procedure (14), + release-due-to-utran-generated-reason (15), + user-inactivity (16), + time-critical-relocation (17), + requested-traffic-class-not-available (18), + invalid-rab-parameters-value (19), + requested-maximum-bit-rate-not-available (20), + requested-guaranteed-bit-rate-not-available (21), + requested-transfer-delay-not-achievable (22), + invalid-rab-parameters-combination (23), + condition-violation-for-sdu-parameters (24), + condition-violation-for-traffic-handling-priority (25), + condition-violation-for-guaranteed-bit-rate (26), + user-plane-versions-not-supported (27), + iu-up-failure (28), + relocation-failure-in-target-CN-RNC-or-target-system(29), + invalid-RAB-ID (30), + no-remaining-rab (31), + interaction-with-other-procedure (32), + requested-maximum-bit-rate-for-dl-not-available (33), + requested-maximum-bit-rate-for-ul-not-available (34), + requested-guaranteed-bit-rate-for-dl-not-available (35), + requested-guaranteed-bit-rate-for-ul-not-available (36), + repeated-integrity-checking-failure (37), + requested-request-type-not-supported (38), + request-superseded (39), + release-due-to-UE-generated-signalling-connection-release (40), + resource-optimisation-relocation (41), + requested-information-not-available (42), + relocation-desirable-for-radio-reasons (43), + relocation-not-supported-in-target-RNC-or-target-system (44), + directed-retry (45), + radio-connection-with-UE-Lost (46), + rNC-unable-to-establish-all-RFCs (47), + deciphering-keys-not-available(48), + dedicated-assistance-data-not-available(49), + relocation-target-not-allowed (50), + location-reporting-congestion (51), + reduce-load-in-serving-cell (52), + no-radio-resources-available-in-target-cell (53), + gERAN-Iumode-failure (54), + access-restricted-due-to-shared-networks (55), + incoming-relocation-not-supported-due-to-PUESBINE-feature (56), + traffic-load-in-the-target-cell-higher-than-in-the-source-cell (57), + mBMS-no-multicast-service-for-this-UE(58), + mBMS-unknown-UE-ID(59), + successful-MBMS-session-start-no-data-bearer-necessary(60), + mBMS-superseded-due-to-NNSF(61), + mBMS-UE-linking-already-done(62), + mBMS-UE-de-linking-failure-no-existing-UE-linking(63), + tMGI-unknown(64) +} (1..64) + +CauseRadioNetworkExtension ::= INTEGER { + iP-multicast-address-and-APN-not-valid(257), + mBMS-de-registration-rejected-due-to-implicit-registration(258), + mBMS-request-superseded(259), + mBMS-de-registration-during-session-not-allowed(260), + mBMS-no-data-bearer-necessary(261), + periodicLocationInformationNotAvailable(262), + gTP-Resources-Unavailable(263), + tMGI-inUse-overlapping-MBMS-service-area(264), + mBMS-no-cell-in-MBMS-service-area(265), + no-Iu-CS-UP-relocation(266), + successful-MBMS-Session-Start-IP-Multicast-Bearer-established(267), + cS-fallback-triggered(268), + invalid-CSG-Id(269) +} (257..512) + +CauseNon-Standard ::= INTEGER (129..256) +-- Cause value 256 shall not be used -- + +CauseTransmissionNetwork ::= INTEGER { + signalling-transport-resource-failure (65), + iu-transport-connection-failed-to-establish (66) +} (65..80) + +Cell-Access-Mode::= ENUMERATED { + hybrid, + ... +} + +CellBased::= SEQUENCE { + cellIdList CellIdList, + iE-Extensions ProtocolExtensionContainer { {CellBased-ExtIEs} } OPTIONAL, + ... +} + +CellBased-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +CellIdList ::= SEQUENCE (SIZE (1..maxNrOfCellIds)) OF + Cell-Id + +Cell-Id ::= INTEGER (0..268435455) + +Cell-Capacity-Class-Value ::= INTEGER (1..100,...) + +CellLoadInformation ::= SEQUENCE { + cell-Capacity-Class-Value Cell-Capacity-Class-Value, + loadValue LoadValue, + rTLoadValue RTLoadValue OPTIONAL, + nRTLoadInformationValue NRTLoadInformationValue OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { CellLoadInformation-ExtIEs } } OPTIONAL, + ... +} + +CellLoadInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +CellLoadInformationGroup ::= SEQUENCE { + sourceCellID SourceCellID, + uplinkCellLoadInformation CellLoadInformation OPTIONAL, + downlinkCellLoadInformation CellLoadInformation OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { CellLoadInformationGroup-ExtIEs } } OPTIONAL, + ... +} + +CellLoadInformationGroup-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +CellType ::= ENUMERATED{ + macro, + micro, + pico, + femto, + ... +} + +CivicAddress ::= OCTET STRING + +ClientType ::= ENUMERATED { + emergency-Services, + value-Added-Services, + pLMN-Operator-Services, + lawful-Intercept-Services, + pLMN-Operator-Broadcast-Services, + pLMN-Operator-O-et-M, + pLMN-Operator-Anonymous-Statistics, + pLMN-Operator-Target-MS-Service-Support, + ... +} + +CriticalityDiagnostics ::= SEQUENCE { + procedureCode ProcedureCode OPTIONAL, + triggeringMessage TriggeringMessage OPTIONAL, + procedureCriticality Criticality OPTIONAL, + iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL, + ... +} + +CriticalityDiagnostics-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF + SEQUENCE { + iECriticality Criticality, + iE-ID ProtocolIE-ID, + repetitionNumber RepetitionNumber0 OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL, + ... + } + +CriticalityDiagnostics-IE-List-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 99 to enable reporting the message structure down to the erroneous IE -- + { ID id-MessageStructure CRITICALITY ignore EXTENSION MessageStructure PRESENCE optional } | +-- Extension for Release 99 to enable reporting if a reported error is due to a not understood or a missing IE -- + { ID id-TypeOfError CRITICALITY ignore EXTENSION TypeOfError PRESENCE mandatory }, + ... +} + +MessageStructure ::= SEQUENCE (SIZE (1..maxNrOfLevels)) OF + SEQUENCE { + iE-ID ProtocolIE-ID, + repetitionNumber RepetitionNumber1 OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {MessageStructure-ExtIEs} } OPTIONAL, + ... + } + +MessageStructure-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +CGI ::= SEQUENCE { + pLMNidentity PLMNidentity, + lAC LAC, + cI CI, + iE-Extensions ProtocolExtensionContainer { {CGI-ExtIEs} } OPTIONAL +} + +CGI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 6 to enable Inter-RAT PS Handover between UTRAN and GERAN A/Gb -- + { ID id-RAC CRITICALITY ignore EXTENSION RAC PRESENCE optional }, + ... +} + +ChosenEncryptionAlgorithm ::= EncryptionAlgorithm + +ChosenIntegrityProtectionAlgorithm ::= IntegrityProtectionAlgorithm + +CI ::= OCTET STRING (SIZE (2)) + +ClassmarkInformation2 ::= OCTET STRING + +ClassmarkInformation3 ::= OCTET STRING + +CN-DomainIndicator ::= ENUMERATED { + cs-domain, + ps-domain +} + +CN-ID ::= INTEGER (0..4095) + +Correlation-ID ::= OCTET STRING (SIZE (4)) + +CSFB-Information ::= ENUMERATED { + csfb, + csfb-high-priority, + ... +} + +CSG-Id ::= BIT STRING (SIZE (27)) + +CSG-Id-List ::= SEQUENCE (SIZE (1..maxNrOfCSGs)) OF + CSG-Id + +CSG-Membership-Status ::= ENUMERATED { + member, + non-member, + ... +} + +-- D + +DataPDUType ::= ENUMERATED { + pDUtype0, + pDUtype1, + ... + } + +DataVolumeReference ::= INTEGER (0..255) + +DataVolumeReportingIndication ::= ENUMERATED { + do-report, + do-not-report +} + +DCH-ID ::= INTEGER (0..255) + +DCN-ID ::= INTEGER (0..65535) + + +DeliveryOfErroneousSDU ::= ENUMERATED { + yes, + no, + no-error-detection-consideration +} + +DeliveryOrder::= ENUMERATED { + delivery-order-requested, + delivery-order-not-requested +} + +DeltaRAListofIdleModeUEs ::= SEQUENCE { + newRAListofIdleModeUEs NewRAListofIdleModeUEs OPTIONAL, + rAListwithNoIdleModeUEsAnyMore RAListwithNoIdleModeUEsAnyMore OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {DeltaRAListofIdleModeUEs-ExtIEs} } OPTIONAL +} + +NewRAListofIdleModeUEs ::= SEQUENCE (SIZE (1..maxMBMSRA)) OF + RAC + +RAListwithNoIdleModeUEsAnyMore ::= SEQUENCE (SIZE (1..maxMBMSRA)) OF + RAC + +DeltaRAListofIdleModeUEs-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +{ ID id-newLAListofIdleModeUEs CRITICALITY reject EXTENSION LAListofIdleModeUEs PRESENCE conditional }| + -- This IE shall be present if the New RA List of Idle Mode UEs IE is included. -- +{ ID id-LAListwithNoIdleModeUEsAnyMore CRITICALITY reject EXTENSION LAListofIdleModeUEs PRESENCE conditional }, + -- This IE shall be presentif the RA List with No Idle Mode UEs Any More IE is included. -- + ... +} + +ForwardingIndication::=ENUMERATED{ + forwarding-admitted, + ... +} + +DL-GTP-PDU-SequenceNumber ::= INTEGER (0..65535) + +DL-N-PDU-SequenceNumber ::= INTEGER (0..65535) + +D-RNTI ::= INTEGER (0..1048575) + +DRX-CycleLengthCoefficient ::= INTEGER (6..9) + +DSCH-ID ::= INTEGER (0..255) + + +-- E + +EARFCN-Extended ::= INTEGER (65536..262143, ...) + +E-DCH-MAC-d-Flow-ID ::= INTEGER (0.. maxNrOfEDCHMACdFlows-1) + +ENB-ID ::= CHOICE { + macroENB-ID BIT STRING (SIZE(20)), + homeENB-ID BIT STRING (SIZE(28)), + ..., + short-macroENB-ID BIT STRING (SIZE(18)), + long-macroENB-ID BIT STRING (SIZE(21)) + +} + +EncryptionAlgorithm ::= INTEGER { no-encryption (0), standard-UMTS-encryption-algorith-UEA1 (1), standard-UMTS-encryption-algorithm-UEA2 (2) } (0..15) + +EncryptionInformation ::= SEQUENCE { + permittedAlgorithms PermittedEncryptionAlgorithms, + key EncryptionKey, + iE-Extensions ProtocolExtensionContainer { {EncryptionInformation-ExtIEs} } OPTIONAL +} + +EncryptionInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +EncryptionKey ::= BIT STRING (SIZE (128)) +-- Reference: 33.102 + +End-Of-CSFB ::= ENUMERATED{ + end-of-CSFB, + ... +} + +EquipmentsToBeTraced ::= CHOICE { + iMEIlist IMEIList, + iMEISVlist IMEISVList, + iMEIgroup IMEIGroup, + iMEISVgroup IMEISVGroup, + ... +} + +E-UTRAN-Service-Handover ::= ENUMERATED { + handover-to-E-UTRAN-shall-not-be-performed, + ... +} + +Event ::= ENUMERATED { + stop-change-of-service-area, + direct, + change-of-servicearea, + ..., + stop-direct, + periodic, + stop-periodic +} + +Event1F-Parameters ::= SEQUENCE { + measurementQuantity MeasurementQuantity, + threshold INTEGER(-120..165), + ... +} + +Event1I-Parameters ::= SEQUENCE { + threshold INTEGER(-120..-25), + ... +} + +ExtendedGuaranteedBitrate ::= INTEGER (16000001..256000000) +-- Unit is bits per sec + +ExtendedMaxBitrate ::= INTEGER (16000001..256000000) +-- Unit is bits per sec + +ExtendedRNC-ID ::= INTEGER (4096..65535) + +-- F + +FrameSequenceNumber ::= INTEGER(0..15) + +FrequenceLayerConvergenceFlag ::= ENUMERATED { + no-FLC-flag, + ... +} + +-- G + +GANSS-PositioningDataSet ::= SEQUENCE(SIZE(1..maxGANSSSet)) OF GANSS-PositioningMethodAndUsage + +GANSS-PositioningMethodAndUsage ::= OCTET STRING (SIZE(1)) + +GeographicalArea ::= CHOICE { + point GA-Point, + pointWithUnCertainty GA-PointWithUnCertainty, + polygon GA-Polygon, + ..., + pointWithUncertaintyEllipse GA-PointWithUnCertaintyEllipse, + pointWithAltitude GA-PointWithAltitude, + pointWithAltitudeAndUncertaintyEllipsoid GA-PointWithAltitudeAndUncertaintyEllipsoid, + ellipsoidArc GA-EllipsoidArc +} + +GeographicalCoordinates ::= SEQUENCE { + latitudeSign ENUMERATED { north, south }, + latitude INTEGER (0..8388607), + longitude INTEGER (-8388608..8388607), + iE-Extensions ProtocolExtensionContainer { {GeographicalCoordinates-ExtIEs} } OPTIONAL, + ... +} + +GeographicalCoordinates-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +GA-AltitudeAndDirection ::= SEQUENCE { + directionOfAltitude ENUMERATED {height, depth}, + altitude INTEGER (0..32767), + ... +} + +GA-EllipsoidArc ::= SEQUENCE { + geographicalCoordinates GeographicalCoordinates, + innerRadius INTEGER (0..65535), + uncertaintyRadius INTEGER (0..127), + offsetAngle INTEGER (0..179), + includedAngle INTEGER (0..179), + confidence INTEGER (0..127), + iE-Extensions ProtocolExtensionContainer { { GA-EllipsoidArc-ExtIEs} } OPTIONAL, + ... +} + +GA-EllipsoidArc-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +GA-Point ::= SEQUENCE { + geographicalCoordinates GeographicalCoordinates, + iE-Extensions ProtocolExtensionContainer { {GA-Point-ExtIEs} } OPTIONAL, + ... +} + +GA-Point-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +GA-PointWithAltitude ::= SEQUENCE { + geographicalCoordinates GeographicalCoordinates, + altitudeAndDirection GA-AltitudeAndDirection, + iE-Extensions ProtocolExtensionContainer { { GA-PointWithAltitude-ExtIEs} } OPTIONAL, + ... +} + +GA-PointWithAltitude-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +GA-PointWithAltitudeAndUncertaintyEllipsoid ::= SEQUENCE { + geographicalCoordinates GeographicalCoordinates, + altitudeAndDirection GA-AltitudeAndDirection, + uncertaintyEllipse GA-UncertaintyEllipse, + uncertaintyAltitude INTEGER (0..127), + confidence INTEGER (0..127), + iE-Extensions ProtocolExtensionContainer { { GA-PointWithAltitudeAndUncertaintyEllipsoid-ExtIEs} } OPTIONAL, + ... +} + +GA-PointWithAltitudeAndUncertaintyEllipsoid-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +GA-PointWithUnCertainty ::=SEQUENCE { + geographicalCoordinates GeographicalCoordinates, + iE-Extensions ProtocolExtensionContainer { {GA-PointWithUnCertainty-ExtIEs} } OPTIONAL, + uncertaintyCode INTEGER (0..127) +} + +GA-PointWithUnCertainty-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +GA-PointWithUnCertaintyEllipse ::= SEQUENCE { + geographicalCoordinates GeographicalCoordinates, + uncertaintyEllipse GA-UncertaintyEllipse, + confidence INTEGER (0..127), + iE-Extensions ProtocolExtensionContainer { { GA-PointWithUnCertaintyEllipse-ExtIEs} } OPTIONAL, + ... +} + +GA-PointWithUnCertaintyEllipse-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +GA-Polygon ::= SEQUENCE (SIZE (1..maxNrOfPoints)) OF + SEQUENCE { + geographicalCoordinates GeographicalCoordinates, + iE-Extensions ProtocolExtensionContainer { {GA-Polygon-ExtIEs} } OPTIONAL, + ... + } + +GA-Polygon-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +GA-UncertaintyEllipse ::= SEQUENCE { + uncertaintySemi-major INTEGER (0..127), + uncertaintySemi-minor INTEGER (0..127), + orientationOfMajorAxis INTEGER (0..179), -- The values 90..179 shall not be used. + ... +} + +GERAN-BSC-Container ::= OCTET STRING + -- GERAN BSC Container as defined in TS 48.008 [11] -- + + +GERAN-Cell-ID ::= SEQUENCE { + lAI LAI, + rAC RAC, + cI CI, + iE-Extensions ProtocolExtensionContainer { {GERAN-Cell-ID-ExtIEs} } OPTIONAL +} + +GERAN-Cell-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +GERAN-Classmark ::= OCTET STRING + -- GERAN Classmark as defined in TS 48.008 [11] -- + +GlobalCN-ID ::= SEQUENCE { + pLMNidentity PLMNidentity, + cN-ID CN-ID +} + + +GlobalRNC-ID ::= SEQUENCE { + pLMNidentity PLMNidentity, + rNC-ID RNC-ID +} + +GTP-TEI ::= OCTET STRING (SIZE (4)) + +GuaranteedBitrate ::= INTEGER (0..16000000) +-- Unit is bits per sec + +-- H + +HigherBitratesThan16MbpsFlag ::= ENUMERATED{ + allowed, + not-allowed, + ... +} + +HS-DSCH-MAC-d-Flow-ID ::= INTEGER (0.. maxNrOfHSDSCHMACdFlows-1) + +-- I + + +IMEI ::= OCTET STRING (SIZE (8)) +-- Reference: 23.003 + +IMEIGroup ::= SEQUENCE { + iMEI IMEI, + iMEIMask BIT STRING (SIZE (7)), + iE-Extensions ProtocolExtensionContainer { { IMEIGroup-ExtIEs} } OPTIONAL +} + +IMEIGroup-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +IMEIList ::= SEQUENCE (SIZE (1..maxNrOfUEsToBeTraced)) OF IMEI + +IMEISV ::= OCTET STRING (SIZE (8)) +-- Reference: 23.003 + +IMEISVGroup ::= SEQUENCE { + iMEISV IMEISV, + iMEISVMask BIT STRING (SIZE (7)), + iE-Extensions ProtocolExtensionContainer { { IMEISVGroup-ExtIEs} } OPTIONAL +} + +IMEISVGroup-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +IMEISVList ::= SEQUENCE (SIZE (1..maxNrOfUEsToBeTraced)) OF IMEISV + +ImmediateMDT ::= SEQUENCE { + measurementsToActivate MeasurementsToActivate, + m1report M1Report OPTIONAL, + -- Included in case of event-triggered reporting for measurement M1 + m2report M2Report OPTIONAL, + -- Included in case of event-triggered reporting for measurement M2 + ..., + iE-Extensions ProtocolExtensionContainer { { ImmediateMDT-ExtIEs} } OPTIONAL +} + +ImmediateMDT-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + {ID id-M4Report CRITICALITY ignore EXTENSION M4Report PRESENCE optional}| + -- Included in case that measurement M4 is activated + {ID id-M5Report CRITICALITY ignore EXTENSION M5Report PRESENCE optional}| + -- Included in case that measurement M5 is activated + {ID id-M6Report CRITICALITY ignore EXTENSION M6Report PRESENCE optional}| + -- Included in case that measurement M6 is activated + {ID id-M7Report CRITICALITY ignore EXTENSION M7Report PRESENCE optional}, + -- Included in case that measurement M7 is activated + ... +} + +IMSI ::= TBCD-STRING (SIZE (3..8)) +-- Reference: 23.003 + +IncludeVelocity ::= ENUMERATED { + requested +} + +InformationExchangeID ::= INTEGER (0.. 1048575) + +InformationExchangeType ::= ENUMERATED { + transfer, + request, + ... +} + +InformationRequested ::= CHOICE { + requestedMBMSIPMulticastAddressandAPNRequest RequestedMBMSIPMulticastAddressandAPNRequest, + requestedMulticastServiceList RequestedMulticastServiceList, + ... +} + + +InformationRequestType ::= CHOICE { + mBMSIPMulticastAddressandAPNRequest MBMSIPMulticastAddressandAPNRequest, + permanentNAS-UE-ID PermanentNAS-UE-ID, + ... +} + +InformationTransferID ::= INTEGER (0.. 1048575) + +InformationTransferType ::= CHOICE { + rNCTraceInformation RNCTraceInformation, + ... +} + +IntegrityProtectionAlgorithm ::= INTEGER { + standard-UMTS-integrity-algorithm-UIA1 (0), standard-UMTS-integrity-algorithm-UIA2 (1), + no-value (15) +} (0..15) + +IntegrityProtectionInformation ::= SEQUENCE { + permittedAlgorithms PermittedIntegrityProtectionAlgorithms, + key IntegrityProtectionKey, + iE-Extensions ProtocolExtensionContainer { {IntegrityProtectionInformation-ExtIEs} } OPTIONAL +} + +IntegrityProtectionInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +IntegrityProtectionKey ::= BIT STRING (SIZE (128)) + +InterSystemInformationTransferType ::= CHOICE { + rIM-Transfer RIM-Transfer, + ... +} + +InterSystemInformation-TransparentContainer ::= SEQUENCE { + downlinkCellLoadInformation CellLoadInformation OPTIONAL, + uplinkCellLoadInformation CellLoadInformation OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { InterSystemInformation-TransparentContainer-ExtIEs} } OPTIONAL, + ... +} + +InterSystemInformation-TransparentContainer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +... +} + +IPMulticastAddress ::= OCTET STRING (SIZE (4..16)) +-- Reference: 23.003 + +IuSignallingConnectionIdentifier ::= BIT STRING (SIZE (24)) + +IuTransportAssociation ::= CHOICE { + gTP-TEI GTP-TEI, + bindingID BindingID, + ... +} + +-- J +-- K + +KeyStatus ::= ENUMERATED { + old, + new, + ... +} +-- L + +LA-LIST ::= SEQUENCE (SIZE (1..maxNrOfLAs)) OF + SEQUENCE { + lAC LAC, + listOF-SNAs ListOF-SNAs, + iE-Extensions ProtocolExtensionContainer { { LA-LIST-ExtIEs} } OPTIONAL, + ... + } + +LA-LIST-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +LAC ::= OCTET STRING (SIZE (2)) + +LAI ::= SEQUENCE { + pLMNidentity PLMNidentity, + lAC LAC, + iE-Extensions ProtocolExtensionContainer { {LAI-ExtIEs} } OPTIONAL +} + +LAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +LastKnownServiceArea ::= SEQUENCE { + sAI SAI, + ageOfSAI INTEGER (0..32767), + iE-Extensions ProtocolExtensionContainer { {LastKnownServiceArea-ExtIEs} } OPTIONAL, + ... +} + +LastKnownServiceArea-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +LastVisitedUTRANCell-Item ::= SEQUENCE { + uTRAN-CellID UTRAN-CellID, + cellType CellType, + time-UE-StayedInCell Time-UE-StayedInCell, + iE-Extensions ProtocolExtensionContainer { {LastVisitedUTRANCell-Item-ExtIEs} } OPTIONAL, + ... +} + +LastVisitedUTRANCell-Item-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Rel-11 to support enhanced granularity for time UE stayed in cell -- + { ID id-Time-UE-StayedInCell-EnhancedGranularity CRITICALITY ignore EXTENSION Time-UE-StayedInCell-EnhancedGranularity PRESENCE optional }| + { ID id-HO-Cause CRITICALITY ignore EXTENSION Cause PRESENCE optional }, + ... +} + +LHN-ID ::= OCTET STRING (SIZE (32..256)) + +Links-to-log ::= ENUMERATED {uplink, downlink, both-uplink-and-downlink, ...} + +ListOF-SNAs ::= SEQUENCE (SIZE (1..maxNrOfSNAs)) OF SNAC + +ListOfInterfacesToTrace ::= SEQUENCE (SIZE (1..maxNrOfInterfaces)) OF InterfacesToTraceItem + +InterfacesToTraceItem ::= SEQUENCE { + interface ENUMERATED {iu-cs, iu-ps, iur, iub, uu, ...}, + iE-Extensions ProtocolExtensionContainer { {InterfacesToTraceItem-ExtIEs} } OPTIONAL, + ... +} + +InterfacesToTraceItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +LoadValue ::= INTEGER (0..100) + +LocationRelatedDataRequestType ::= SEQUENCE { + requestedLocationRelatedDataType RequestedLocationRelatedDataType, + requestedGPSAssistanceData RequestedGPSAssistanceData OPTIONAL, + -- This IE shall be present if the Requested Location Related Data Type IE is set to ‘Dedicated Assistance Data for Assisted GPS’ or + -- `Dedicated Assistance Data for Assisted GPS and GANSS’ + ... +} + +LocationRelatedDataRequestTypeSpecificToGERANIuMode ::= ENUMERATED { + decipheringKeysEOTD, + dedicatedMobileAssistedEOTDAssistanceData, + dedicatedMobileBasedEOTDAssistanceData, + ... +} + +LocationReportingTransferInformation ::= SEQUENCE { + reportChangeOfSAI ReportChangeOfSAI OPTIONAL, + periodicReportingIndicator PeriodicReportingIndicator OPTIONAL, + directReportingIndicator DirectReportingIndicator OPTIONAL, + verticalAccuracyCode VerticalAccuracyCode OPTIONAL, + positioningPriorityChangeSAI PositioningPriority OPTIONAL, + positioningPriorityDirect PositioningPriority OPTIONAL, + clientTypePeriodic ClientType OPTIONAL, + clientTypeDirect ClientType OPTIONAL, + responseTime ResponseTime OPTIONAL, + includeVelocity IncludeVelocity OPTIONAL, + periodicLocationInfo PeriodicLocationInfo OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { LocationReportingTransferInformation-ExtIEs } } OPTIONAL, + ... +} + +LocationReportingTransferInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +ReportChangeOfSAI ::= ENUMERATED { + requested, + ... + } + +PeriodicReportingIndicator::= ENUMERATED { + periodicSAI, + periodicGeo, + ... + } + +DirectReportingIndicator::= ENUMERATED { + directSAI, + directGeo, + ... + } + +L3-Information ::= OCTET STRING + +-- M + +M1Report ::= CHOICE { + periodic MDT-Report-Parameters, + event1F Event1F-Parameters, + ... +} + +M2Report ::= CHOICE { + periodic MDT-Report-Parameters, + event1I Event1I-Parameters, + ... +} + +M4Report ::= CHOICE { + all NULL, + m4-collection-parameters M4-Collection-Parameters, + ... +} + +M4-Collection-Parameters ::= SEQUENCE { + m4-period M4-Period, + m4-threshold M4-Threshold OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { M4-Collection-Parameters-ExtIEs} } OPTIONAL, + ... +} + +M4-Collection-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +M4-Period ::= ENUMERATED {ms100, ms250, ms500, ms1000, ms2000, ms3000, ms4000, ms6000, ...} + + +M4-Threshold ::= INTEGER (0..31) + + +M5Report ::= CHOICE { + when-available NULL, + m5-period M5-Period, + ... +} +M5-Period ::= ENUMERATED {ms100, ms250, ms500, ms1000, ms2000, ms3000, ms4000, ms6000, ...} + + + +M6Report ::= SEQUENCE { + m6-period M6-Period, + m6-links-to-log Links-to-log, + iE-Extensions ProtocolExtensionContainer { { M6Report-ExtIEs} } OPTIONAL, + ... +} + +M6Report-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +M6-Period ::= ENUMERATED {ms1000, ms2000, ms3000, ms4000, ms6000, ms8000, ms12000, ms16000, ms20000, ms24000, ms28000, ms32000, ms64000, ...} + +M7Report ::= SEQUENCE { + m7-period M7-Period, + m7-links-to-log Links-to-log, + iE-Extensions ProtocolExtensionContainer { { M7Report-ExtIEs} } OPTIONAL, + ... +} + +M7Report-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +M7-Period ::= ENUMERATED {ms1000, ms2000, ms3000, ms4000, ms6000, ms8000, ms12000, ms16000, ms20000, ms24000, ms28000, ms32000, ms64000, ...} + +Management-Based-MDT-Allowed ::= ENUMERATED { + allowed, ... } + +MaxBitrate ::= INTEGER (1..16000000) +-- Unit is bits per sec + +MaxSDU-Size ::= INTEGER (0..32768) +-- MaxSDU-Size +-- Unit is bit + +MBMS-PTP-RAB-ID ::= BIT STRING (SIZE (8)) + +MBMSBearerServiceType ::= ENUMERATED { + multicast, + broadcast, + ... +} + +MBMSCNDe-Registration ::= ENUMERATED { + normalsessionstop, + deregister, + ... +} + + +MBMSCountingInformation ::= ENUMERATED { + counting, + notcounting, + ... +} + +MBMSHCIndicator ::= ENUMERATED { + uncompressed-header, + compressed-header, + ... +} + +MBMSIPMulticastAddressandAPNRequest ::= SEQUENCE (SIZE (1..maxnoofMulticastServicesPerRNC)) OF + TMGI + +MBMSLinkingInformation ::= ENUMERATED { + uE-has-joined-multicast-services, + ... +} + +MBMSRegistrationRequestType ::= ENUMERATED { + register, + deregister, + ... +} + +MBMSServiceArea ::= OCTET STRING + +MBMSSessionDuration ::= OCTET STRING (SIZE (3)) + + + +MBMSSessionIdentity ::= OCTET STRING (SIZE (1)) + +MBMSSessionRepetitionNumber ::= OCTET STRING (SIZE (1)) + +MDT-Activation ::= ENUMERATED { immediateMDTonly, + loggedMDTonly, + immediateMDTandTrace, + ... } + +MDTAreaScope ::= CHOICE { + cellbased CellBased, + labased LABased, + rabased RABased, + plmn-area-based NULL, + ... +} + +MDT-Configuration ::= SEQUENCE { + mdtActivation MDT-Activation, + mdtAreaScope MDTAreaScope, + mdtMode MDTMode, + iE-Extensions ProtocolExtensionContainer { { MDT-Configuration-ExtIEs} } OPTIONAL, + ... +} + +MDT-Configuration-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + { ID id-SignallingBasedMDTPLMNList CRITICALITY ignore EXTENSION MDT-PLMN-List PRESENCE optional }, +... +} + +MDTMode ::= CHOICE { + immediateMDT ImmediateMDT, + loggedMDT LoggedMDT, + ... +} + +MDT-PLMN-List ::= SEQUENCE (SIZE (1..maxnoofMDTPLMNs)) OF + PLMNidentity + +MDT-Report-Parameters ::= SEQUENCE { + reportInterval ReportInterval, + reportAmount ReportAmount, + ... +} + +MeasurementQuantity ::= ENUMERATED { + cpichEcNo, + cpichRSCP, + pathloss, + ... +} + +MeasurementsToActivate::= BIT STRING (SIZE (8)) + +MSISDN ::= OCTET STRING (SIZE (1..9)) + +-- N + + +NAS-PDU ::= OCTET STRING + +NAS-SequenceNumber ::= BIT STRING (SIZE (2)) +-- Reference: 24.008 + +NAS-SynchronisationIndicator ::= BIT STRING (SIZE (4)) + +NewBSS-To-OldBSS-Information ::= OCTET STRING + +NonSearchingIndication ::= ENUMERATED { + non-searching, + searching +} + +NRTLoadInformationValue ::= INTEGER (0..3) + +Null-NRI ::= BIT STRING (SIZE (10)) + +NumberOfIuInstances ::= INTEGER (1..2) + +NumberOfSteps ::= INTEGER (1..16) + +-- O + +Offload-RAB-Parameters ::= SEQUENCE { + accessPointName Offload-RAB-Parameters-APN, + chargingCharacteristics Offload-RAB-Parameters-ChargingCharacteristics, + iE-Extensions ProtocolExtensionContainer { { Offload-RAB-Parameters-ExtIEs} } OPTIONAL, + ... +} + +Offload-RAB-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +Offload-RAB-Parameters-APN ::= OCTET STRING (SIZE (1..255)) + +Offload-RAB-Parameters-ChargingCharacteristics ::= OCTET STRING (SIZE (2)) + +OldBSS-ToNewBSS-Information ::= OCTET STRING + +OMC-ID ::= OCTET STRING (SIZE (3..22)) +-- Reference: GSM TS 12.20 [25] + +Out-Of-UTRAN ::= ENUMERATED{ + cell-reselection-to-EUTRAN, + ... +} + +-- P + +PagingAreaID ::= CHOICE { + lAI LAI, + rAI RAI, + ... +} + +PagingCause ::= ENUMERATED { + terminating-conversational-call, + terminating-streaming-call, + terminating-interactive-call, + terminating-background-call, + terminating-low-priority-signalling, + ..., + terminating-high-priority-signalling +} + +PDP-TypeInformation ::= SEQUENCE (SIZE (1..maxNrOfPDPDirections)) OF + PDP-Type + +PDP-Type ::= ENUMERATED { + empty, + ppp, + osp-ihoss -- this value shall not be used -- , + ipv4, + ipv6, + ... +} +PDP-TypeInformation-extension ::= SEQUENCE (SIZE (1..maxNrOfPDPDirections)) OF + PDP-Type-extension + +PDP-Type-extension ::= ENUMERATED { + ipv4-and-ipv6, + ... +} + +PDUType14FrameSequenceNumber ::= INTEGER(0..3) + +PeriodicLocationInfo ::= SEQUENCE { + reportingAmount INTEGER (1..8639999, ...), + reportingInterval INTEGER (1..8639999, ...), + iE-Extensions ProtocolExtensionContainer { { PeriodicLocationInfo-ExtIEs } } OPTIONAL, + ... +} + +PeriodicLocationInfo-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + + +PermanentNAS-UE-ID ::= CHOICE { + iMSI IMSI, + ... +} + +PermittedEncryptionAlgorithms ::= SEQUENCE (SIZE (1..16)) OF + EncryptionAlgorithm + +PermittedIntegrityProtectionAlgorithms ::= SEQUENCE (SIZE (1..16)) OF + IntegrityProtectionAlgorithm + +LABased ::= SEQUENCE { + laiList LAI-List, + iE-Extensions ProtocolExtensionContainer { {LABased-ExtIEs} } OPTIONAL, + ... +} + +LABased-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + + +LAI-List ::= SEQUENCE (SIZE (1..maxNrOfLAIs)) OF + LAI + + + +LoggedMDT ::= SEQUENCE { + loggingInterval LoggingInterval, + loggingDuration LoggingDuration, + iE-Extensions ProtocolExtensionContainer { {LoggedMDT-ExtIEs} } OPTIONAL, + ... +} + +LoggedMDT-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +LoggingInterval ::= ENUMERATED { + s1d28, + s2d56, + s5d12, + s10d24, + s20d48, + s30d72, + s40d96, + s61d44, + ... + } + +LoggingDuration ::= ENUMERATED { + min10, + min20, + min40, + min60, + min90, + min120, +...} + + + +PLMNBased::= SEQUENCE { + plmnList PLMNList, + iE-Extensions ProtocolExtensionContainer { {PLMNBased-ExtIEs} } OPTIONAL, + ... +} + +PLMNBased-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +PLMNList ::= SEQUENCE (SIZE (1.. maxnoofPLMNs)) OF + PLMNidentity + + + +PLMNidentity ::= TBCD-STRING (SIZE (3)) + +PLMNs-in-shared-network ::= SEQUENCE (SIZE (1..maxNrOfPLMNsSN)) OF + SEQUENCE { + pLMNidentity PLMNidentity, + lA-LIST LA-LIST, + iE-Extensions ProtocolExtensionContainer { { PLMNs-in-shared-network-ExtIEs} } OPTIONAL, + ... + } + +PLMNs-in-shared-network-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +Port-Number ::= OCTET STRING (SIZE (2)) + +PositioningDataDiscriminator ::= BIT STRING (SIZE(4)) + +PositioningDataSet ::= SEQUENCE(SIZE(1..maxSet)) OF PositioningMethodAndUsage + +PositioningMethodAndUsage ::= OCTET STRING (SIZE(1)) + +PositioningPriority ::= ENUMERATED { + high-Priority, + normal-Priority, +... +} + +PositionData ::= SEQUENCE { + positioningDataDiscriminator PositioningDataDiscriminator, + positioningDataSet PositioningDataSet OPTIONAL, +-- This IE shall be present if the PositioningDataDiscriminator IE is set to the value "0000" -- + iE-Extensions ProtocolExtensionContainer { {PositionData-ExtIEs} } OPTIONAL, + ... +} + +PositionData-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + { ID id-GANSS-PositioningDataSet CRITICALITY ignore EXTENSION GANSS-PositioningDataSet PRESENCE optional}| + { ID id-Additional-PositioningDataSet CRITICALITY ignore EXTENSION Additional-PositioningDataSet PRESENCE optional}, + ... +} + +PositionDataSpecificToGERANIuMode ::= OCTET STRING + +Pre-emptionCapability ::= ENUMERATED { + shall-not-trigger-pre-emption, + may-trigger-pre-emption +} + +Pre-emptionVulnerability ::= ENUMERATED { + not-pre-emptable, + pre-emptable +} + +PriorityLevel ::= INTEGER { spare (0), highest (1), lowest (14), no-priority (15) } (0..15) + +Priority-Class-Indicator ::= BIT STRING (SIZE(8)) + +ProvidedData ::= CHOICE { + shared-network-information Shared-Network-Information, + ... +} + +PowerSavingIndicator ::= ENUMERATED { + psmConfigured, + eDRXConfigured, + ... +} + +P-TMSI ::= OCTET STRING (SIZE (4)) + +-- Q + +QueuingAllowed ::= ENUMERATED { + queueing-not-allowed, + queueing-allowed +} + +-- R +RAB-AsymmetryIndicator::= ENUMERATED { + symmetric-bidirectional, + asymmetric-unidirectional-downlink, + asymmetric-unidirectional-uplink, + asymmetric-bidirectional, + ... +} + +RABased ::= SEQUENCE { + raiList RAI-List, + iE-Extensions ProtocolExtensionContainer { {RABased-ExtIEs} } OPTIONAL, + ... +} + +RABased-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + + +RAI-List ::= SEQUENCE (SIZE (1..maxNrOfRAIs)) OF + RAI + +RABDataVolumeReport ::= SEQUENCE (SIZE (1..maxNrOfVol)) OF + SEQUENCE { + dl-UnsuccessfullyTransmittedDataVolume UnsuccessfullyTransmittedDataVolume, + dataVolumeReference DataVolumeReference OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {RABDataVolumeReport-ExtIEs} } OPTIONAL, + ... + } + +RABDataVolumeReport-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RAB-ID ::= BIT STRING (SIZE (8)) + +RAB-Parameter-ExtendedGuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedGuaranteedBitrate + +RAB-Parameter-ExtendedMaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedMaxBitrate + + +RAB-Parameter-GuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF GuaranteedBitrate +--This IE shall be ignored if Supported Guaranteed Bit rate is present-- + +RAB-Parameter-MaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF MaxBitrate +--This IE shall be ignored if Supported Maximum Bit rate is present-- + +RAB-Parameters ::= SEQUENCE { + trafficClass TrafficClass, + rAB-AsymmetryIndicator RAB-AsymmetryIndicator, + maxBitrate RAB-Parameter-MaxBitrateList, + guaranteedBitRate RAB-Parameter-GuaranteedBitrateList OPTIONAL + -- This IE shall be present the traffic class IE is set to "Conversational" or "Streaming" --, + deliveryOrder DeliveryOrder, + maxSDU-Size MaxSDU-Size, + sDU-Parameters SDU-Parameters, + transferDelay TransferDelay OPTIONAL + -- This IE shall be present the traffic class IE is set to "Conversational" or "Streaming" --, + trafficHandlingPriority TrafficHandlingPriority OPTIONAL + -- This IE shall be present the traffic class IE is set to "Interactive" --, + allocationOrRetentionPriority AllocationOrRetentionPriority OPTIONAL, + sourceStatisticsDescriptor SourceStatisticsDescriptor OPTIONAL + -- This IE shall be present the traffic class IE is set to "Conversational" or "Streaming" --, + relocationRequirement RelocationRequirement OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {RAB-Parameters-ExtIEs} } OPTIONAL, + ... +} + +RAB-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 5 to enable indication that Interactive User Plane data is of a signalling nature -- + { ID id-SignallingIndication CRITICALITY ignore EXTENSION SignallingIndication PRESENCE optional }| +-- Extension for Release 7 to indicate an Extended Guaranteed Bitrate -- +{ ID id-RAB-Parameter-ExtendedGuaranteedBitrateList CRITICALITY reject EXTENSION RAB-Parameter-ExtendedGuaranteedBitrateList PRESENCE optional }| +-- Extension for Release 7 to indicate an Extended Maximum Bitrate -- +{ ID id-RAB-Parameter-ExtendedMaxBitrateList CRITICALITY reject EXTENSION RAB-Parameter-ExtendedMaxBitrateList PRESENCE optional }| +-- Extension for Release 8 to indicate an Supported Maximum Bitrate -- +{ ID id-RAB-Parameter-SupportedMaxBitrateList CRITICALITY reject EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional }| +-- Extension for Release 8 to indicate an Supported Guaranteed Bitrate -- +{ ID id-RAB-Parameter-SupportedGuaranteedBitrateList CRITICALITY reject EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional }, + ... +} + +RABParametersList ::= SEQUENCE (SIZE (1.. maxNrOfRABs)) OF SEQUENCE { + rab-Id RAB-ID, + cn-domain CN-DomainIndicator, + rabDataVolumeReport RABDataVolumeReport OPTIONAL, + upInformation UPInformation OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { RABParametersList-ExtIEs } } OPTIONAL, + ... +} + +RABParametersList-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RAB-SubflowCombinationBitRate ::= INTEGER (0..16000000) + +RAB-TrCH-Mapping ::= SEQUENCE ( SIZE (1..maxNrOfRABs)) OF + RAB-TrCH-MappingItem + +RAB-TrCH-MappingItem ::= SEQUENCE { + rAB-ID RAB-ID, + trCH-ID-List TrCH-ID-List, + iE-Extensions ProtocolExtensionContainer { { RAB-TrCH-MappingItem-ExtIEs} } OPTIONAL, + ... +} + +RAB-TrCH-MappingItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 99 to enable transfer of RAB Subflow mapping onto Iur transport channel Ids for a given indicated domain -- + { ID id-CN-DomainIndicator CRITICALITY ignore EXTENSION CN-DomainIndicator PRESENCE optional }, + ... +} + +RAC ::= OCTET STRING (SIZE (1)) + +RAI ::= SEQUENCE { + lAI LAI, + rAC RAC, + iE-Extensions ProtocolExtensionContainer { {RAI-ExtIEs} } OPTIONAL, + ... +} + +RAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RAListofIdleModeUEs ::= CHOICE { + notEmptyRAListofIdleModeUEs NotEmptyRAListofIdleModeUEs, + emptyFullRAListofIdleModeUEs ENUMERATED {emptylist,fulllist,...}, + ... +} + +NotEmptyRAListofIdleModeUEs ::= SEQUENCE { + rAofIdleModeUEs RAofIdleModeUEs, + iE-Extensions ProtocolExtensionContainer { {NotEmptyRAListofIdleModeUEs-ExtIEs} } OPTIONAL +} + +RAofIdleModeUEs ::= SEQUENCE (SIZE (1..maxMBMSRA)) OF + RAC + +NotEmptyRAListofIdleModeUEs-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +{ ID id-LAofIdleModeUEs CRITICALITY reject EXTENSION LAListofIdleModeUEs PRESENCE conditional }, + -- This IE shall be present if the RA of Idle Mode UEs IE is included. -- + ... +} + +LAListofIdleModeUEs ::= SEQUENCE (SIZE (1..maxMBMSRA)) OF + LAI + +RAT-Type ::= ENUMERATED { + utran, + geran, + ... +} + +RateControlAllowed ::= ENUMERATED { + not-allowed, + allowed +} + +RedirectAttemptFlag ::= NULL + +RedirectionCompleted ::= ENUMERATED { + redirection-completed, + ... +} + +RejectCauseValue ::= ENUMERATED { + pLMN-Not-Allowed, + location-Area-Not-Allowed, + roaming-Not-Allowed-In-This-Location-Area, + no-Suitable-Cell-In-Location-Area, + gPRS-Services-Not-Allowed-In-This-PLMN, + cS-PS-coordination-required, + ..., + network-failure, + not-authorized-for-this-CSG +} + + +RelocationRequirement ::= ENUMERATED { + lossless, + none, + ..., + realtime +} + +RelocationType ::= ENUMERATED { + ue-not-involved, + ue-involved, + ... +} + +RepetitionNumber0 ::= INTEGER (0..255) + +RepetitionNumber1 ::= INTEGER (1..256) + + +ReportArea ::= ENUMERATED { + service-area, + geographical-area, + ... +} + +ReportInterval ::= ENUMERATED { + ms250, + ms500, + ms1000, + ms2000, + ms3000, + ms4000, + ms6000, + ms12000, + ms16000, + ms20000, + ms24000, + ms32000, + ms64000, + ..., + ms8000, + ms28000 +} + +ReportAmount ::= ENUMERATED { n1, n2, n4, n8, n16, n32, n64, infinity, ... } + +RequestedGPSAssistanceData ::= OCTET STRING (SIZE (1 .. 38 )) + -- gpsAssistanceData as defined in 24.080 -- + +RequestedGANSSAssistanceData ::= OCTET STRING (SIZE (1 .. 201 )) + -- ganssAssistanceData as defined in 24.080 -- + +RequestedLocationRelatedDataType ::= ENUMERATED { + decipheringKeysUEBasedOTDOA, + decipheringKeysAssistedGPS, + dedicatedAssistanceDataUEBasedOTDOA, + dedicatedAssistanceDataAssistedGPS, + ..., +-- Release 7 extension elements -- + decipheringKeysAssistedGANSS, + dedicatedAssistanceDataAssistedGANSS, + decipheringKeysAssistedGPSandGANSS, + dedicatedAssistanceDataAssistedGPSandGANSS +} + +RequestedMBMSIPMulticastAddressandAPNRequest ::= SEQUENCE (SIZE (1..maxnoofMulticastServicesPerRNC)) OF + MBMSIPMulticastAddressandAPNlist + +MBMSIPMulticastAddressandAPNlist ::= SEQUENCE { + tMGI TMGI, + iPMulticastAddress IPMulticastAddress, + aPN APN, + iE-Extensions ProtocolExtensionContainer { {MBMSIPMulticastAddressandAPNlist-ExtIEs} } OPTIONAL, + ... +} + +MBMSIPMulticastAddressandAPNlist-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RequestedMulticastServiceList ::= SEQUENCE (SIZE (1.. maxnoofMulticastServicesPerUE)) OF + TMGI + +Requested-RAB-Parameter-Values ::= SEQUENCE { + requestedMaxBitrates Requested-RAB-Parameter-MaxBitrateList OPTIONAL, + requestedGuaranteedBitrates Requested-RAB-Parameter-GuaranteedBitrateList OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { Requested-RAB-Parameter-Values-ExtIEs} } OPTIONAL, + ... +} + +Requested-RAB-Parameter-Values-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 6 to enable RNC to request the execution of an alternative RAB configuration -- + { ID id-AlternativeRABConfigurationRequest CRITICALITY ignore EXTENSION AlternativeRABConfigurationRequest PRESENCE optional }| +-- Extension for Release 7 to request an Extended Maximum Bitrate -- + { ID id-Requested-RAB-Parameter-ExtendedMaxBitrateList CRITICALITY reject EXTENSION Requested-RAB-Parameter-ExtendedMaxBitrateList PRESENCE optional }| +-- Extension for Release 7 to request an Extended Guaranteed Bitrate -- + { ID id-Requested-RAB-Parameter-ExtendedGuaranteedBitrateList CRITICALITY reject EXTENSION Requested-RAB-Parameter-ExtendedGuaranteedBitrateList PRESENCE optional }| +-- Extension for Release 8 to request an Supported Maximum Bitrate -- + { ID id-Requested-RAB-Parameter-SupportedMaxBitrateList CRITICALITY reject EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional }| +-- Extension for Release 8 to request an Supported Guaranteed Bitrate -- + { ID id-Requested-RAB-Parameter-SupportedGuaranteedBitrateList CRITICALITY reject EXTENSION SupportedRAB-ParameterBitrateList PRESENCE optional }, + ... +} + +Requested-RAB-Parameter-ExtendedMaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedMaxBitrate + +Requested-RAB-Parameter-ExtendedGuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedGuaranteedBitrate + +Requested-RAB-Parameter-MaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF MaxBitrate + +Requested-RAB-Parameter-GuaranteedBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF GuaranteedBitrate + + +RequestType ::= SEQUENCE { + event Event, + reportArea ReportArea, + accuracyCode INTEGER (0..127) OPTIONAL, + ... +} + +ResidualBitErrorRatio ::= SEQUENCE { + mantissa INTEGER (1..9), + exponent INTEGER (1..8), + iE-Extensions ProtocolExtensionContainer { {ResidualBitErrorRatio-ExtIEs} } OPTIONAL +} +-- ResidualBitErrorRatio = mantissa * 10^-exponent + +ResidualBitErrorRatio-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +ResponseTime ::= ENUMERATED { + lowdelay, + delaytolerant, +... +} + +RIMInformation ::= OCTET STRING + +RIM-Transfer ::= SEQUENCE { + rIMInformation RIMInformation, + rIMRoutingAddress RIMRoutingAddress OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {RIM-Transfer-ExtIEs} } OPTIONAL +} + +RIM-Transfer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RIMRoutingAddress ::= CHOICE { + targetRNC-ID TargetRNC-ID, + gERAN-Cell-ID GERAN-Cell-ID, + ... , + targeteNB-ID TargetENB-ID +} + + +RNC-ID ::= INTEGER (0..4095) +-- RNC-ID ::= BIT STRING (SIZE (12)) +-- Harmonized with RNSAP and NBAP definitions + + +RNCTraceInformation::= SEQUENCE { + traceReference TraceReference, + traceActivationIndicator ENUMERATED {activated,deactivated}, + equipmentsToBeTraced EquipmentsToBeTraced OPTIONAL, + -- This IE shall be present if the Trace Activation Indicator IE is set to "Activated". + iE-Extensions ProtocolExtensionContainer { { RNCTraceInformation-ExtIEs} } OPTIONAL +} + +RNCTraceInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 11 to enable anonymization MDT for area based MDT -- + {ID id-TraceRecordingSessionReference CRITICALITY ignore EXTENSION TraceRecordingSessionReference PRESENCE optional}| + {ID id-IMSI CRITICALITY ignore EXTENSION IMSI PRESENCE optional}| + {ID id-Trace-Collection-Entity-IP-Addess CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional}| + {ID id-Serving-Cell-Identifier CRITICALITY ignore EXTENSION UTRAN-CellID PRESENCE optional}, + ... +} + +RNSAPRelocationParameters ::= SEQUENCE { + rabParmetersList RABParametersList OPTIONAL, + locationReporting LocationReportingTransferInformation OPTIONAL, + traceInformation TraceInformation OPTIONAL, + sourceSAI SAI OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { RNSAPRelocationParameters-ExtIEs } } OPTIONAL, + ... +} + +RNSAPRelocationParameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RRC-Container ::= OCTET STRING + +RTLoadValue ::= INTEGER (0..100) + +RSRVCC-HO-Indication ::= ENUMERATED { + ps-only, + ... +} + +RSRVCC-Information ::= SEQUENCE { + nonce BIT STRING (SIZE (128)), + iMSInformation OCTET STRING(SIZE(1.. maxSizeOfIMSInfo)), + iE-Extensions ProtocolExtensionContainer { { RSRVCC-Information-ExtIEs} } OPTIONAL, + ... + +} + +RSRVCC-Information-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RSRVCC-Operation-Possible ::= ENUMERATED { + rsrvcc-possible, + ... +} + +-- S + +SAC ::= OCTET STRING (SIZE (2)) +SAI ::= SEQUENCE { + pLMNidentity PLMNidentity, + lAC LAC, + sAC SAC, + iE-Extensions ProtocolExtensionContainer { {SAI-ExtIEs} } OPTIONAL +} + +SAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +SAPI ::= ENUMERATED { + sapi-0, + sapi-3, + ... +} + +SessionUpdateID ::= INTEGER (0.. 1048575) +Shared-Network-Information ::= SEQUENCE { + pLMNs-in-shared-network PLMNs-in-shared-network, + iE-Extensions ProtocolExtensionContainer { {Shared-Network-Information-ExtIEs} } OPTIONAL, + ... + } + +Session-Re-establishment-Indicator ::= ENUMERATED {true, ...} + +Shared-Network-Information-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +SignallingIndication ::= ENUMERATED { + signalling, + ... +} + +SDU-ErrorRatio ::= SEQUENCE { + mantissa INTEGER (1..9), + exponent INTEGER (1..6), + iE-Extensions ProtocolExtensionContainer { {SDU-ErrorRatio-ExtIEs} } OPTIONAL +} +-- SDU-ErrorRatio = mantissa * 10^-exponent + +SDU-ErrorRatio-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} +SDU-FormatInformationParameters ::= SEQUENCE (SIZE (1..maxRAB-SubflowCombination)) OF + SEQUENCE { + subflowSDU-Size SubflowSDU-Size OPTIONAL, + rAB-SubflowCombinationBitRate RAB-SubflowCombinationBitRate OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {SDU-FormatInformationParameters-ExtIEs} } OPTIONAL, + ... + } + +SDU-FormatInformationParameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +SDU-Parameters ::= SEQUENCE (SIZE (1..maxRAB-Subflows)) OF + SEQUENCE { + sDU-ErrorRatio SDU-ErrorRatio OPTIONAL + -- This IE shall be present if the Delivery Of Erroneous SDU IE is set to "Yes" or "No" --, + residualBitErrorRatio ResidualBitErrorRatio, + deliveryOfErroneousSDU DeliveryOfErroneousSDU, + sDU-FormatInformationParameters SDU-FormatInformationParameters OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {SDU-Parameters-ExtIEs} } OPTIONAL, + ... + } + +SDU-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +SGSN-Group-Identity ::= CHOICE { + null-NRI Null-NRI, + sGSN-Group-ID SGSN-Group-ID +} + +SGSN-Group-ID ::= OCTET STRING (SIZE (2)) + +SNA-Access-Information ::= SEQUENCE { + authorisedPLMNs AuthorisedPLMNs, + iE-Extensions ProtocolExtensionContainer { {SNA-Access-Information-ExtIEs} } OPTIONAL, + ... + } + +SNA-Access-Information-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +SNAC ::= INTEGER (0..65535) + +Service-Handover ::= ENUMERATED { + handover-to-GSM-should-be-performed, + handover-to-GSM-should-not-be-performed, + handover-to-GSM-shall-not-be-performed, + ... +} + +Source-ToTarget-TransparentContainer ::= OCTET STRING +-- This IE is a transparent container, the IE shall be encoded not as an OCTET STRING but according to the type specifications of the target system. +-- Note: In the current version of this specification, this IE may either carry the Source RNC to +-- Target RNC Transparent Container or the Source eNB to Target eNB Transparent Container IE as +-- defined in TS 36.413 [49] + +SourceeNodeB-ToTargeteNodeB-TransparentContainer ::= OCTET STRING + + +SourceCellID ::= CHOICE { + sourceUTRANCellID SourceUTRANCellID, + sourceGERANCellID CGI, + ... +} + +SourceBSS-ToTargetBSS-TransparentContainer ::= OCTET STRING + +SourceID ::= CHOICE { + sourceRNC-ID SourceRNC-ID, + sAI SAI, + ... +} + + +SourceRNC-ID ::= SEQUENCE { + pLMNidentity PLMNidentity, + rNC-ID RNC-ID, + iE-Extensions ProtocolExtensionContainer { {SourceRNC-ID-ExtIEs} } OPTIONAL +} + +SourceRNC-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 7 to indicate extended RNC-ID -- + { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional }, + ... +} + +SourceRNC-ToTargetRNC-TransparentContainer ::= SEQUENCE { + rRC-Container RRC-Container, + numberOfIuInstances NumberOfIuInstances, + relocationType RelocationType, + chosenIntegrityProtectionAlgorithm ChosenIntegrityProtectionAlgorithm OPTIONAL, + integrityProtectionKey IntegrityProtectionKey OPTIONAL, + chosenEncryptionAlgorithForSignalling ChosenEncryptionAlgorithm OPTIONAL, + cipheringKey EncryptionKey OPTIONAL, + chosenEncryptionAlgorithForCS ChosenEncryptionAlgorithm OPTIONAL, + chosenEncryptionAlgorithForPS ChosenEncryptionAlgorithm OPTIONAL, + d-RNTI D-RNTI OPTIONAL + -- This IE shall be present if the Relocation type IE is set to "UE not involved in relocation of SRNS" --, + targetCellId TargetCellId OPTIONAL + -- This IE shall be present if the Relocation type IE is set to "UE involved in relocation of SRNS" --, + rAB-TrCH-Mapping RAB-TrCH-Mapping OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {SourceRNC-ToTargetRNC-TransparentContainer-ExtIEs} } OPTIONAL, + ... +} + +SourceRNC-ToTargetRNC-TransparentContainer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 99 to enable transfer of SRB mapping onto Iur transport channel Ids -- + {ID id-SRB-TrCH-Mapping CRITICALITY reject EXTENSION SRB-TrCH-Mapping PRESENCE optional}| +-- Extension for Release 5 to enable Inter RAN Load Information Exchange over Iu -- + {ID id-CellLoadInformationGroup CRITICALITY ignore EXTENSION CellLoadInformationGroup PRESENCE optional}| +-- Extension for Release 6 to provide Trace Recording Session Information to the Target RNC -- + {ID id-TraceRecordingSessionInformation CRITICALITY ignore EXTENSION TraceRecordingSessionInformation PRESENCE optional}| +-- Extension for Release 6 to indicate to the Target RNC that the UE has activated Multicast Service -- + {ID id-MBMSLinkingInformation CRITICALITY ignore EXTENSION MBMSLinkingInformation PRESENCE optional}| + {ID id-d-RNTI-for-NoIuCSUP CRITICALITY reject EXTENSION D-RNTI PRESENCE optional}| + {ID id-UE-History-Information CRITICALITY ignore EXTENSION UE-History-Information PRESENCE optional}| + {ID id-SubscriberProfileIDforRFP CRITICALITY ignore EXTENSION SubscriberProfileIDforRFP PRESENCE optional}| +-- Extension for Release 8 to transfer to the Target RNC parameters required for SRVCC operation -- + {ID id-SRVCC-Information CRITICALITY reject EXTENSION SRVCC-Information PRESENCE optional}| + {ID id-PSRABtobeReplaced CRITICALITY reject EXTENSION RAB-ID PRESENCE optional}| +-- Extension for Release 9 to transfer to the Target RNC parameters required for CSFB operation -- + {ID id-CSFB-Information CRITICALITY ignore EXTENSION CSFB-Information PRESENCE optional}| +-- Extension for Release 10 to indicate to the Target RNC the need of continued IRAT measurement -- + {ID id-IRAT-Measurement-Configuration CRITICALITY ignore EXTENSION IRAT-Measurement-Configuration PRESENCE optional}| +-- Extension for Release 10 to indicate Management Based MDT Allowed -- + {ID id-Management-Based-MDT-Allowed CRITICALITY ignore EXTENSION Management-Based-MDT-Allowed PRESENCE optional}| +-- Extension for Release 11 to indicate Management Based MDT PLMN List -- + {ID id-Management-Based-MDT-PLMN-List CRITICALITY ignore EXTENSION MDT-PLMN-List PRESENCE optional}| +-- Extension for Release 11 to indicate the last E-UTRAN PLMN Identity -- + {ID id-LastE-UTRANPLMNIdentity CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional}, + ... +} + +IRAT-Measurement-Configuration ::= SEQUENCE { + rSRP INTEGER (0..97) OPTIONAL, + rSRQ INTEGER (0..34) OPTIONAL, + iRATmeasurementParameters IRATmeasurementParameters, + iE-Extensions ProtocolExtensionContainer { {IRAT-Measurement-Configuration-ExtIEs} } OPTIONAL} + +IRAT-Measurement-Configuration-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + {ID id-RSRQ-Type CRITICALITY ignore EXTENSION RSRQ-Type PRESENCE optional}| + {ID id-RSRQ-Extension CRITICALITY ignore EXTENSION RSRQ-Extension PRESENCE optional}, + ... +} + +IRATmeasurementParameters::= SEQUENCE { + measurementDuration INTEGER (1..100), + eUTRANFrequencies EUTRANFrequencies OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { IRATmeasurementParameters-ExtIEs} } OPTIONAL} + +IRATmeasurementParameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RSRQ-Type ::= SEQUENCE { + allSymbols BOOLEAN, + wideBand BOOLEAN +} + +RSRQ-Extension ::= INTEGER (-30..46, ...) + +EUTRANFrequencies ::= SEQUENCE (SIZE (1..maxNrOfEUTRAFreqs)) OF SEQUENCE { + earfcn INTEGER (0..65535), + measBand MeasBand OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {EUTRANFrequencies-ExtIEs} } OPTIONAL} + +MeasBand ::= ENUMERATED { + v6, + v15, + v25, + v50, + v75, + v100 +} + +EUTRANFrequencies-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + { ID id-EARFCN-Extended CRITICALITY reject EXTENSION EARFCN-Extended PRESENCE optional}, + ... +} + +SubscriberProfileIDforRFP ::= INTEGER (1..256) + +SourceStatisticsDescriptor ::= ENUMERATED { + speech, + unknown, + ... +} + +SupportedRAB-ParameterBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF SupportedBitrate + +SupportedBitrate ::= INTEGER (1..1000000000, ...) +-- Unit is bits per sec + +SourceUTRANCellID ::= SEQUENCE { + pLMNidentity PLMNidentity, + uTRANcellID TargetCellId, + iE-Extensions ProtocolExtensionContainer { {SourceUTRANCellID-ExtIEs} } OPTIONAL +} + +SourceUTRANCellID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +SRB-ID ::= INTEGER (1..32) + +SRB-TrCH-Mapping ::= SEQUENCE ( SIZE (1..maxNrOfSRBs)) OF + SRB-TrCH-MappingItem + +SRB-TrCH-MappingItem ::= SEQUENCE { + sRB-ID SRB-ID, + trCH-ID TrCH-ID, + iE-Extensions ProtocolExtensionContainer { { SRB-TrCH-MappingItem-ExtIEs} } OPTIONAL, + ... +} + + +SRB-TrCH-MappingItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +SRVCC-HO-Indication ::= ENUMERATED { + ps-and-cs, + cs-only, + ... +} + +SRVCC-Information ::= SEQUENCE { + nonce BIT STRING (SIZE (128)), + iE-Extensions ProtocolExtensionContainer { { SRVCC-Information-ExtIEs} } OPTIONAL, + ... +} + +SRVCC-Information-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +SRVCC-Operation-Possible ::= ENUMERATED { + srvcc-possible, + ... +} + +SubflowSDU-Size ::= INTEGER (0..4095) +-- Unit is bit + + +-- T +TAC ::= OCTET STRING (SIZE (2)) + +TAI ::= SEQUENCE { + pLMNidentity PLMNidentity, + tAC TAC, + iE-Extensions ProtocolExtensionContainer { {TAI-ExtIEs} } OPTIONAL +} + +TAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + + +Target-ToSource-TransparentContainer ::= OCTET STRING +-- This IE is a transparent container, the IE shall be encoded not as an OCTET STRING but according to the type specifications of the target system. +-- Note: In the current version of this specification, this IE may either carry the Target RNC to +-- Source RNC Transparent Container or the Target eNB to Source eNB Transparent Container IE as +-- defined in TS 36.413 [49] + +TargeteNodeB-ToSourceeNodeB-TransparentContainer ::= OCTET STRING + +TargetBSS-ToSourceBSS-TransparentContainer ::= OCTET STRING + +TargetCellId ::= INTEGER (0..268435455) + +TargetID ::= CHOICE { + targetRNC-ID TargetRNC-ID, + cGI CGI, + + ..., + targeteNB-ID TargetENB-ID +} + +TargetENB-ID ::= SEQUENCE { + pLMNidentity PLMNidentity, + eNB-ID ENB-ID, + iE-Extensions ProtocolExtensionContainer { {TargetENB-ID-ExtIEs} } OPTIONAL, + selectedTAI TAI, + ... +} + +TargetENB-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + + +TargetRNC-ID ::= SEQUENCE { + lAI LAI, + rAC RAC OPTIONAL, + rNC-ID RNC-ID, + iE-Extensions ProtocolExtensionContainer { {TargetRNC-ID-ExtIEs} } OPTIONAL +} + +TargetRNC-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 7 to indicate extended RNC-ID -- + { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional }, + ... +} + +TargetRNC-ToSourceRNC-TransparentContainer ::= SEQUENCE { + rRC-Container RRC-Container, + d-RNTI D-RNTI OPTIONAL + -- May be included to allow the triggering of the Relocation Detect procedure from the Iur Interface --, + iE-Extensions ProtocolExtensionContainer { {TargetRNC-ToSourceRNC-TransparentContainer-ExtIEs} } OPTIONAL, + ... +} + +TargetRNC-ToSourceRNC-TransparentContainer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +TBCD-STRING ::= OCTET STRING + +TemporaryUE-ID ::= CHOICE { + tMSI TMSI, + p-TMSI P-TMSI, + ... +} + +Time-UE-StayedInCell ::= INTEGER (0..4095) + +Time-UE-StayedInCell-EnhancedGranularity ::= INTEGER (0..40950) + +TimeToMBMSDataTransfer ::= OCTET STRING(SIZE(1)) + +TimingDifferenceULDL ::= OCTET STRING (SIZE(1)) + +TMGI ::= SEQUENCE { + pLMNidentity PLMNidentity, + serviceID OCTET STRING (SIZE (3)), + iE-Extensions ProtocolExtensionContainer { {TMGI-ExtIEs} } OPTIONAL +} + +TMGI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +TMSI ::= OCTET STRING (SIZE (4)) + +TraceDepth ::= ENUMERATED { + minimum, + medium, + maximum, + ... +} + +TraceInformation ::= SEQUENCE { + traceReference TraceReference, + ue-identity UE-ID, + tracePropagationParameters TracePropagationParameters OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { TraceInformation-ExtIEs } } OPTIONAL, + ... +} + +TraceInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +... +} + +TracePropagationParameters ::= SEQUENCE { + traceRecordingSessionReference TraceRecordingSessionReference, + traceDepth TraceDepth, + listOfInterfacesToTrace ListOfInterfacesToTrace OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { TracePropagationParameters-ExtIEs} } OPTIONAL, + ... +} + +TracePropagationParameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +TraceRecordingSessionInformation ::= SEQUENCE { + traceReference TraceReference, + traceRecordingSessionReference TraceRecordingSessionReference, + iE-Extensions ProtocolExtensionContainer { { TraceRecordingSessionInformation-ExtIEs} } OPTIONAL, + ... +} + +TraceRecordingSessionInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +TraceRecordingSessionReference ::= INTEGER (0..65535) + +TraceReference ::= OCTET STRING (SIZE (2..3)) + +TraceType ::= OCTET STRING (SIZE (1)) +-- Reference: GSM TS 12.08 + +TrafficClass ::= ENUMERATED { + conversational, + streaming, + interactive, + background, + ... +} + +TrafficHandlingPriority ::= INTEGER { spare (0), highest (1), lowest (14), no-priority-used (15) } (0..15) + +TransferDelay ::= INTEGER (0..65535) +-- Unit is millisecond + +UnsuccessfullyTransmittedDataVolume ::= INTEGER (0..4294967295) + +TransportLayerAddress ::= BIT STRING (SIZE (1..160, ...)) + +TrCH-ID ::= SEQUENCE { + dCH-ID DCH-ID OPTIONAL, + dSCH-ID DSCH-ID OPTIONAL, + uSCH-ID USCH-ID OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { TrCH-ID-ExtIEs} } OPTIONAL, + ... +} + +TrCH-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 5 to enable transfer of HS-DSCH-MAC-d-Flow-ID onto Iur transport channel ID -- + {ID id-hS-DSCH-MAC-d-Flow-ID CRITICALITY ignore EXTENSION HS-DSCH-MAC-d-Flow-ID PRESENCE optional}| +-- Extension for Release 6 to enable transfer of E-DCH-MAC-d-Flow-ID onto Iur transport channel ID -- + {ID id-E-DCH-MAC-d-Flow-ID CRITICALITY ignore EXTENSION E-DCH-MAC-d-Flow-ID PRESENCE optional}, + ... +} + +TrCH-ID-List ::= SEQUENCE (SIZE (1..maxRAB-Subflows)) OF + TrCH-ID + +TriggerID ::= OCTET STRING (SIZE (3..22)) + +TunnelInformation ::= SEQUENCE { + transportLayerAddress TransportLayerAddress, + uDP-Port-Number Port-Number OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {Tunnel-Information-ExtIEs} } OPTIONAL, + ... +} + +Tunnel-Information-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + + +TypeOfError ::= ENUMERATED { + not-understood, + missing, + ... +} + + +-- U + +UE-AggregateMaximumBitRate ::= SEQUENCE { + uE-AggregateMaximumBitRateDownlink UE-AggregateMaximumBitRateDownlink OPTIONAL, + uE-AggregateMaximumBitRateUplink UE-AggregateMaximumBitRateUplink OPTIONAL, + ... +} + +UE-AggregateMaximumBitRateDownlink ::= INTEGER (1..1000000000) +-- Unit is bits per sec + +UE-AggregateMaximumBitRateUplink ::= INTEGER (1..1000000000) +-- Unit is bits per sec + + +UE-History-Information ::= OCTET STRING + +UE-ID ::= CHOICE { + imsi IMSI, + imei IMEI, + ..., + imeisv IMEISV + +} + +UE-IsNotServed::= SEQUENCE { + permanentNAS-UE-ID PermanentNAS-UE-ID, + iE-Extensions ProtocolExtensionContainer { { UE-IsNotServed-ExtIEs } } OPTIONAL, + ... +} + +UE-IsNotServed-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + + +UE-IsServed::= SEQUENCE { + permanentNAS-UE-ID PermanentNAS-UE-ID, + pLMNidentity PLMNidentity, + iE-Extensions ProtocolExtensionContainer { { UE-IsServed-ExtIEs } } OPTIONAL, + ... +} + +UE-IsServed-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +UE-Usage-Type ::= INTEGER (0..255) + +UERegistrationQueryResult ::= CHOICE { + uE-IsServed UE-IsServed, + uE-IsNotServed UE-IsNotServed +} + +UESBI-Iu ::= SEQUENCE { + uESBI-IuA UESBI-IuA OPTIONAL, + uESBI-IuB UESBI-IuB OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {UESBI-Iu-ExtIEs} } OPTIONAL, + ... +} + +UESBI-Iu-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +UESBI-IuA ::= BIT STRING (SIZE(1..128)) +-- Reference: TR25.994 -- +UESBI-IuB ::= BIT STRING (SIZE(1..128)) +-- Reference: TR25.995 -- + +UL-GTP-PDU-SequenceNumber ::= INTEGER (0..65535) + +UL-N-PDU-SequenceNumber ::= INTEGER (0..65535) + +UPInformation ::= SEQUENCE { + frameSeqNoUL FrameSequenceNumber, + frameSeqNoDL FrameSequenceNumber, + pdu14FrameSeqNoUL PDUType14FrameSequenceNumber, + pdu14FrameSeqNoDL PDUType14FrameSequenceNumber, + dataPDUType DataPDUType, + upinitialisationFrame UPInitialisationFrame, + iE-Extensions ProtocolExtensionContainer { { UPInformation-ExtIEs } } OPTIONAL, + ... +} + +UPInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + {ID id-TimingDifferenceULDL CRITICALITY ignore EXTENSION TimingDifferenceULDL PRESENCE optional}, + + ... +} + +UPInitialisationFrame ::= OCTET STRING + +UP-ModeVersions ::= BIT STRING (SIZE (16)) + +USCH-ID ::= INTEGER (0..255) + +UserPlaneMode ::= ENUMERATED { + transparent-mode, + support-mode-for-predefined-SDU-sizes, + ... +} + +UTRAN-CellID ::= SEQUENCE { + pLMNidentity PLMNidentity, + cellID TargetCellId, + iE-Extensions ProtocolExtensionContainer { { UTRAN-CellID-ExtIEs} } OPTIONAL +} + +UTRAN-CellID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + + +-- V + +VelocityEstimate ::= CHOICE { + horizontalVelocity HorizontalVelocity, + horizontalWithVerticalVelocity HorizontalWithVerticalVelocity, + horizontalVelocityWithUncertainty HorizontalVelocityWithUncertainty, + horizontalWithVeritcalVelocityAndUncertainty HorizontalWithVerticalVelocityAndUncertainty, + ... +} + +HorizontalVelocity ::= SEQUENCE { + horizontalSpeedAndBearing HorizontalSpeedAndBearing, + iE-Extensions ProtocolExtensionContainer { { HorizontalVelocity-ExtIEs} } OPTIONAL, + ... +} + +HorizontalVelocity-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +HorizontalWithVerticalVelocity ::= SEQUENCE { + horizontalSpeedAndBearing HorizontalSpeedAndBearing, + veritcalVelocity VerticalVelocity, + iE-Extensions ProtocolExtensionContainer { { HorizontalWithVerticalVelocity-ExtIEs} } OPTIONAL, + ... +} + +HorizontalWithVerticalVelocity-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + + +HorizontalVelocityWithUncertainty ::= SEQUENCE { + horizontalSpeedAndBearing HorizontalSpeedAndBearing, + uncertaintySpeed INTEGER (0..255), + iE-Extensions ProtocolExtensionContainer { { HorizontalVelocityWithUncertainty-ExtIEs} } OPTIONAL, + ... +} + +HorizontalVelocityWithUncertainty-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +HorizontalWithVerticalVelocityAndUncertainty ::= SEQUENCE { + horizontalSpeedAndBearing HorizontalSpeedAndBearing, + veritcalVelocity VerticalVelocity, + horizontalUncertaintySpeed INTEGER (0..255), + verticalUncertaintySpeed INTEGER (0..255), + iE-Extensions ProtocolExtensionContainer { { HorizontalWithVerticalVelocityAndUncertainty-ExtIEs} } OPTIONAL, + ... +} + +HorizontalWithVerticalVelocityAndUncertainty-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +HorizontalSpeedAndBearing ::= SEQUENCE { + bearing INTEGER (0..359), + horizontalSpeed INTEGER (0..2047) +} + +VerticalVelocity ::= SEQUENCE { + veritcalSpeed INTEGER (0..255), + veritcalSpeedDirection VerticalSpeedDirection +} + +VerticalSpeedDirection ::= ENUMERATED { + upward, + downward +} + +VerticalAccuracyCode ::= INTEGER (0..127) + +VoiceSupportMatchIndicator ::= ENUMERATED { + supported, + not-supported, + ... +} + +END diff --git a/library/ranap/RANAP_PDU_Contents.asn b/library/ranap/RANAP_PDU_Contents.asn new file mode 100644 index 000000000..840fd6953 --- /dev/null +++ b/library/ranap/RANAP_PDU_Contents.asn @@ -0,0 +1,3736 @@ +-- RANAP-PDU-Contents.asn +-- +-- 3GPP TS 25.413 V14.0.0 (2017-03) +-- http://www.3gpp.org/ftp/Specs/html-info/25413.htm +-- +-- 9.3.3 PDU Definitions +-- + +-- ************************************************************** +-- +-- PDU definitions for RANAP. +-- +-- ************************************************************** + +RANAP-PDU-Contents { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) ranap (0) version1 (1) ranap-PDU-Contents (1) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** + +IMPORTS + AccuracyFulfilmentIndicator, + UE-Application-Layer-Measurement-Configuration, + UE-Application-Layer-Measurement-Configuration-For-Relocation, + APN, + BroadcastAssistanceDataDecipheringKeys, + LocationRelatedDataRequestType, + LocationRelatedDataRequestTypeSpecificToGERANIuMode, + DataVolumeReference, + CellLoadInformation, + AreaIdentity, + CN-DomainIndicator, + Cause, + Cell-Access-Mode, + ClientType, + CriticalityDiagnostics, + ChosenEncryptionAlgorithm, + ChosenIntegrityProtectionAlgorithm, + ClassmarkInformation2, + ClassmarkInformation3, + CSG-Id, + CSG-Id-List, + CSG-Membership-Status, + DL-GTP-PDU-SequenceNumber, + DL-N-PDU-SequenceNumber, + DataVolumeReportingIndication, + DeltaRAListofIdleModeUEs, + DRX-CycleLengthCoefficient, + EncryptionInformation, + EncryptionKey, + E-UTRAN-Service-Handover, + ExtendedRNC-ID, + FrequenceLayerConvergenceFlag, + GERAN-BSC-Container, + GERAN-Classmark, + GlobalCN-ID, + GlobalRNC-ID, + GTP-TEI, + IncludeVelocity, + InformationExchangeID, + InformationExchangeType, + InformationRequested, + InformationRequestType, + InformationTransferID, + InformationTransferType, + InterSystemInformationTransferType, + IntegrityProtectionInformation, + IntegrityProtectionKey, + InterSystemInformation-TransparentContainer, + IPMulticastAddress, + IuSignallingConnectionIdentifier, + IuTransportAssociation, + KeyStatus, + L3-Information, + LAI, + LastKnownServiceArea, + Correlation-ID, + MBMS-PTP-RAB-ID, + MBMSBearerServiceType, + MBMSCountingInformation, + MBMSCNDe-Registration, + MBMSHCIndicator, + MBMSRegistrationRequestType, + MBMSServiceArea, + MBMSSessionDuration, + MBMSSessionIdentity, + MBMSSessionRepetitionNumber, + MSISDN, + NAS-PDU, + NAS-SequenceNumber, + NAS-SynchronisationIndicator, + NewBSS-To-OldBSS-Information, + NonSearchingIndication, + NumberOfSteps, + Offload-RAB-Parameters, + Offload-RAB-Parameters-APN, + Offload-RAB-Parameters-ChargingCharacteristics, + OMC-ID, + OldBSS-ToNewBSS-Information, + PagingAreaID, + PagingCause, + PDP-TypeInformation, + PDP-TypeInformation-extension, + PermanentNAS-UE-ID, + PLMNidentity, + PositionData, + PositionDataSpecificToGERANIuMode, + PositioningPriority, + ProvidedData, + PowerSavingIndicator, + RAB-ID, + RAB-Parameters, + RAC, + RAListofIdleModeUEs, + RAT-Type, + RedirectAttemptFlag, + RedirectionCompleted, + RejectCauseValue, + RelocationType, + RequestedGANSSAssistanceData, + RequestType, + Requested-RAB-Parameter-Values, + ResponseTime, + RRC-Container, + RSRVCC-Operation-Possible, + RSRQ-Type, + RSRQ-Extension, + SAI, + SAPI, + Service-Handover, + SessionUpdateID, + SNA-Access-Information, + SourceBSS-ToTargetBSS-TransparentContainer, + SourceID, + Source-ToTarget-TransparentContainer, + SourceRNC-ToTargetRNC-TransparentContainer, + SRVCC-HO-Indication, + SRVCC-Information, + SRVCC-Operation-Possible, + TargetBSS-ToSourceBSS-TransparentContainer, + TargetID, + Target-ToSource-TransparentContainer, + TargetRNC-ToSourceRNC-TransparentContainer, + TemporaryUE-ID, + TimeToMBMSDataTransfer, + TMGI, + TracePropagationParameters, + TraceReference, + TraceType, + UnsuccessfullyTransmittedDataVolume, + TransportLayerAddress, + TriggerID, + UE-AggregateMaximumBitRate, + UE-ID, + UESBI-Iu, + UL-GTP-PDU-SequenceNumber, + UL-N-PDU-SequenceNumber, + UP-ModeVersions, + UserPlaneMode, + VelocityEstimate, + VerticalAccuracyCode, + VoiceSupportMatchIndicator, + Alt-RAB-Parameters, + Ass-RAB-Parameters, + PeriodicLocationInfo, + SubscriberProfileIDforRFP, + RNSAPRelocationParameters, + RABParametersList, + MDT-Configuration, + Priority-Class-Indicator, + Management-Based-MDT-Allowed, + HigherBitratesThan16MbpsFlag, + End-Of-CSFB, + Out-Of-UTRAN, + RSRVCC-HO-Indication, + RSRVCC-Information, + MDT-PLMN-List, + TunnelInformation, + LHN-ID, + Session-Re-establishment-Indicator, + Additional-CSPS-coordination-information, + UERegistrationQueryResult, + SGSN-Group-Identity, + P-TMSI, + BarometricPressure, + CivicAddress, + UE-Usage-Type, + DCN-ID + +FROM RANAP-IEs + + PrivateIE-Container{}, + ProtocolExtensionContainer{}, + ProtocolIE-ContainerList{}, + ProtocolIE-ContainerPair{}, + ProtocolIE-ContainerPairList{}, + ProtocolIE-Container{}, + RANAP-PRIVATE-IES, + RANAP-PROTOCOL-EXTENSION, + RANAP-PROTOCOL-IES, + RANAP-PROTOCOL-IES-PAIR +FROM RANAP-Containers + + maxNrOfDTs, + maxNrOfErrors, + maxNrOfIuSigConIds, + maxNrOfRABs, + maxNrOfVol, + maxnoofMulticastServicesPerUE, + + id-AccuracyFulfilmentIndicator, + id-UE-Application-Layer-Measurement-Configuration, + id-UE-Application-Layer-Measurement-Configuration-For-Relocation, + id-APN, + id-AreaIdentity, + id-Alt-RAB-Parameters, + id-Ass-RAB-Parameters, + id-BroadcastAssistanceDataDecipheringKeys, + id-LocationRelatedDataRequestType, + id-CN-DomainIndicator, + id-Cause, + id-Cell-Access-Mode, + id-ChosenEncryptionAlgorithm, + id-ChosenIntegrityProtectionAlgorithm, + id-ClassmarkInformation2, + id-ClassmarkInformation3, + id-ClientType, + id-CNMBMSLinkingInformation, + id-CriticalityDiagnostics, + id-CSG-Id, + id-CSG-Id-List, + id-CSG-Membership-Status, + id-DeltaRAListofIdleModeUEs, + id-DRX-CycleLengthCoefficient, + id-DirectTransferInformationItem-RANAP-RelocInf, + id-DirectTransferInformationList-RANAP-RelocInf, + id-DL-GTP-PDU-SequenceNumber, + id-EncryptionInformation, + id-EncryptionKey, + id-ExtendedRNC-ID, + id-FrequenceLayerConvergenceFlag, + id-GERAN-BSC-Container, + id-GERAN-Classmark, + id-GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item, + id-GERAN-Iumode-RAB-FailedList-RABAssgntResponse, + id-GlobalCN-ID, + id-GlobalCN-IDCS, + id-GlobalCN-IDPS, + id-GlobalRNC-ID, + id-IncludeVelocity, + id-InformationExchangeID, + id-InformationExchangeType, + id-InformationRequested, + id-InformationRequestType, + id-InformationTransferID, + id-InformationTransferType, + id-IntegrityProtectionInformation, + id-IntegrityProtectionKey, + id-InterSystemInformationTransferType, + id-InterSystemInformation-TransparentContainer, + id-IPMulticastAddress, + id-IuSigConId, + id-OldIuSigConId, + id-OldIuSigConIdCS, + id-OldIuSigConIdPS, + id-IuSigConIdItem, + id-IuSigConIdList, + id-IuTransportAssociation, + id-JoinedMBMSBearerServicesList, + id-KeyStatus, + id-L3-Information, + id-LAI, + id-LastKnownServiceArea, + id-LeftMBMSBearerServicesList, + id-LocationRelatedDataRequestTypeSpecificToGERANIuMode, + id-MBMSBearerServiceType, + id-MBMSCountingInformation, + id-MBMSCNDe-Registration, + id-MBMSRegistrationRequestType, + id-MBMSSynchronisationInformation, + id-MBMSServiceArea, + id-MBMSSessionDuration, + id-MBMSSessionIdentity, + id-MBMSSessionRepetitionNumber, + id-MSISDN, + id-NAS-PDU, + id-NAS-SequenceNumber, + id-NewBSS-To-OldBSS-Information, + id-NonSearchingIndication, + id-NumberOfSteps, + id-Offload-RAB-Parameters, + id-OMC-ID, + id-OldBSS-ToNewBSS-Information, + id-PagingAreaID, + id-PagingCause, + id-PDP-TypeInformation, + id-PDP-TypeInformation-extension, + id-PermanentNAS-UE-ID, + id-PositionData, + id-PositionDataSpecificToGERANIuMode, + id-PositioningPriority, + id-ProvidedData, + id-RAB-ContextItem, + id-RAB-ContextList, + id-RAB-ContextFailedtoTransferItem, + id-RAB-ContextFailedtoTransferList, + id-RAB-ContextItem-RANAP-RelocInf, + id-RAB-ContextList-RANAP-RelocInf, + id-RAB-DataForwardingItem, + id-RAB-DataForwardingItem-SRNS-CtxReq, + id-RAB-DataForwardingList, + id-RAB-DataForwardingList-SRNS-CtxReq, + id-RAB-DataVolumeReportItem, + id-RAB-DataVolumeReportList, + id-RAB-DataVolumeReportRequestItem, + id-RAB-DataVolumeReportRequestList, + id-RAB-FailedItem, + id-RAB-FailedList, + id-RAB-FailedList-EnhRelocInfoRes, + id-RAB-FailedItem-EnhRelocInfoRes, + id-RAB-FailedtoReportItem, + id-RAB-FailedtoReportList, + id-RAB-ID, + id-RAB-ModifyList, + id-RAB-ModifyItem, + id-RAB-Parameters, + id-RAB-QueuedItem, + id-RAB-QueuedList, + id-RAB-ReleaseFailedList, + id-RAB-ReleaseItem, + id-RAB-ReleasedItem-IuRelComp, + id-RAB-ReleaseList, + id-RAB-ReleasedItem, + id-RAB-ReleasedList, + id-RAB-ReleasedList-IuRelComp, + id-RAB-RelocationReleaseItem, + id-RAB-RelocationReleaseList, + id-RAB-SetupItem-RelocReq, + id-RAB-SetupItem-RelocReqAck, + id-RAB-SetupList-RelocReq, + id-RAB-SetupList-RelocReqAck, + id-RAB-SetupList-EnhRelocInfoReq, + id-RAB-SetupItem-EnhRelocInfoReq, + id-RAB-SetupList-EnhRelocInfoRes, + id-RAB-SetupItem-EnhRelocInfoRes, + id-RAB-SetupList-EnhancedRelocCompleteReq, + id-RAB-SetupItem-EnhancedRelocCompleteReq, + id-RAB-SetupList-EnhancedRelocCompleteRes, + id-RAB-SetupItem-EnhancedRelocCompleteRes, + id-RAB-SetupOrModifiedItem, + id-RAB-SetupOrModifiedList, + id-RAB-SetupOrModifyItem, + id-RAB-SetupOrModifyList, + id-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes, + id-RAB-ToBeReleasedList-EnhancedRelocCompleteRes, + id-RAC, + id-RAListofIdleModeUEs, + id-RAT-Type, + id-RedirectAttemptFlag, + id-RedirectionCompleted, + id-RedirectionIndication, + id-RejectCauseValue, + id-RelocationType, + id-Relocation-SourceRNC-ID, + id-Relocation-SourceExtendedRNC-ID, + id-Relocation-TargetRNC-ID, + id-Relocation-TargetExtendedRNC-ID, + id-RequestedGANSSAssistanceData, + id-RequestType, + id-ResponseTime, + id-RSRVCC-Operation-Possible, + id-SAI, + id-SAPI, + id-SelectedPLMN-ID, + id-SessionUpdateID, + id-SNA-Access-Information, + id-SourceBSS-ToTargetBSS-TransparentContainer, + id-SourceRNC-ID, + id-SourceExtendedRNC-ID, + id-SourceID, + id-Source-ToTarget-TransparentContainer, + id-SourceRNC-PDCP-context-info, + id-SRVCC-HO-Indication, + id-SRVCC-Information, + id-SRVCC-Operation-Possible, + id-TargetBSS-ToSourceBSS-TransparentContainer, + id-TargetID, + id-Target-ToSource-TransparentContainer, + id-TemporaryUE-ID, + id-TimeToMBMSDataTransfer, + id-TMGI, + id-TracePropagationParameters, + id-TraceReference, + id-TraceType, + id-TransportLayerAddress, + id-TransportLayerInformation, + id-TriggerID, + id-UE-AggregateMaximumBitRate, + id-UE-ID, + id-UESBI-Iu, + id-UL-GTP-PDU-SequenceNumber, + id-UnsuccessfulLinkingList, + id-VelocityEstimate, + id-VerticalAccuracyCode, + id-VoiceSupportMatchIndicator, + id-PeriodicLocationInfo, + id-BroadcastGANSSAssistanceDataDecipheringKeys, + id-SubscriberProfileIDforRFP, + id-E-UTRAN-Service-Handover, + id-IP-Source-Address, + id-LGW-TransportLayerAddress, + id-Correlation-ID, + id-MDT-Configuration, + id-RNSAPRelocationParameters, + id-RABParametersList, + id-Priority-Class-Indicator, + id-Management-Based-MDT-Allowed, + id-HigherBitratesThan16MbpsFlag, + id-Trace-Collection-Entity-IP-Addess, + id-End-Of-CSFB, + id-Out-Of-UTRAN, + id-RSRVCC-HO-Indication, + id-RSRVCC-Information, + id-AnchorPLMN-ID, + id-Management-Based-MDT-PLMN-List, + id-Tunnel-Information-for-BBF, + id-SIPTO-Correlation-ID, + id-SIPTO-LGW-TransportLayerAddress, + id-LHN-ID, + id-LastE-UTRANPLMNIdentity, + id-Session-Re-establishment-Indicator, + id-Additional-CSPS-coordination-information, + id-UERegistrationQueryResult, + id-IuSigConIdRangeEnd, + id-SGSN-Group-Identity, + id-P-TMSI, + id-RANAP-Message, + id-PowerSavingIndicator, + id-BarometricPressure, + id-CivicAddress, + id-UE-Usage-Type, + id-DCN-ID + +FROM RANAP-Constants; + +-- ************************************************************** +-- +-- Common Container Lists +-- +-- ************************************************************** + +RAB-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfRABs, {IEsSetParam} } +RAB-IE-ContainerPairList { RANAP-PROTOCOL-IES-PAIR : IEsSetParam } ::= ProtocolIE-ContainerPairList { 1, maxNrOfRABs, {IEsSetParam} } +ProtocolError-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfRABs, {IEsSetParam} } +IuSigConId-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfIuSigConIds, {IEsSetParam} } +DirectTransfer-IE-ContainerList { RANAP-PROTOCOL-IES : IEsSetParam } ::= ProtocolIE-ContainerList { 1, maxNrOfDTs, {IEsSetParam} } + +-- ************************************************************** +-- +-- Iu RELEASE ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Iu Release Command +-- +-- ************************************************************** + +Iu-ReleaseCommand ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {Iu-ReleaseCommandIEs} }, + protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseCommandExtensions} } OPTIONAL, + ... +} + +Iu-ReleaseCommandIEs RANAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }, + ... +} + +Iu-ReleaseCommandExtensions RANAP-PROTOCOL-EXTENSION ::= { + { ID id-End-Of-CSFB CRITICALITY ignore EXTENSION End-Of-CSFB PRESENCE optional }| + { ID id-Out-Of-UTRAN CRITICALITY ignore EXTENSION Out-Of-UTRAN PRESENCE optional }| + { ID id-LastE-UTRANPLMNIdentity CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- Iu Release Complete +-- +-- ************************************************************** + +Iu-ReleaseComplete ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {Iu-ReleaseCompleteIEs} }, + protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseCompleteExtensions} } OPTIONAL, + ... +} + +Iu-ReleaseCompleteIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-DataVolumeReportList CRITICALITY ignore TYPE RAB-DataVolumeReportList PRESENCE optional } | + { ID id-RAB-ReleasedList-IuRelComp CRITICALITY ignore TYPE RAB-ReleasedList-IuRelComp PRESENCE optional } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +RAB-DataVolumeReportList ::= RAB-IE-ContainerList { {RAB-DataVolumeReportItemIEs} } + +RAB-DataVolumeReportItemIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-DataVolumeReportItem CRITICALITY ignore TYPE RAB-DataVolumeReportItem PRESENCE mandatory }, + ... +} + +RAB-DataVolumeReportItem ::= SEQUENCE { + rAB-ID RAB-ID, + dl-UnsuccessfullyTransmittedDataVolume DataVolumeList OPTIONAL + -- This IE shall always be present although its presence is optional --, + iE-Extensions ProtocolExtensionContainer { {RAB-DataVolumeReportItem-ExtIEs} } OPTIONAL, + ... +} + +RAB-DataVolumeReportItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RAB-ReleasedList-IuRelComp ::= RAB-IE-ContainerList { {RAB-ReleasedItem-IuRelComp-IEs} } + +RAB-ReleasedItem-IuRelComp-IEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-ReleasedItem-IuRelComp CRITICALITY ignore TYPE RAB-ReleasedItem-IuRelComp PRESENCE mandatory }, + ... +} + +RAB-ReleasedItem-IuRelComp ::= SEQUENCE { + rAB-ID RAB-ID, + dL-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL, + uL-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {RAB-ReleasedItem-IuRelComp-ExtIEs} } OPTIONAL, + ... +} + +RAB-ReleasedItem-IuRelComp-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + + +Iu-ReleaseCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- RELOCATION PREPARATION ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Relocation Required +-- +-- ************************************************************** + +RelocationRequired ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RelocationRequiredIEs} }, + protocolExtensions ProtocolExtensionContainer { {RelocationRequiredExtensions} } OPTIONAL, +... +} + +RelocationRequiredIEs RANAP-PROTOCOL-IES ::= { + { ID id-RelocationType CRITICALITY reject TYPE RelocationType PRESENCE mandatory } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-SourceID CRITICALITY ignore TYPE SourceID PRESENCE mandatory } | + { ID id-TargetID CRITICALITY reject TYPE TargetID PRESENCE mandatory } | + { ID id-ClassmarkInformation2 CRITICALITY reject TYPE ClassmarkInformation2 PRESENCE conditional + -- This IE shall be present if the Target ID IE contains a CGI IE and Source BSS To Target BSS Transparent Container is not included -- } | + { ID id-ClassmarkInformation3 CRITICALITY ignore TYPE ClassmarkInformation3 PRESENCE conditional + -- This IE shall be present if the Target ID IE contains a CGI IE and Source BSS To Target BSS Transparent Container is not included -- } | + { ID id-Source-ToTarget-TransparentContainer + CRITICALITY reject TYPE Source-ToTarget-TransparentContainer PRESENCE conditional + -- This IE shall be present if the Target ID IE contains a RNC-ID IE or eNB-ID -- } | + { ID id-OldBSS-ToNewBSS-Information CRITICALITY ignore TYPE OldBSS-ToNewBSS-Information PRESENCE optional } , + ... +} + +RelocationRequiredExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 5 to enable GERAN support over Iu-cs -- + { ID id-GERAN-Classmark CRITICALITY ignore EXTENSION GERAN-Classmark PRESENCE optional} | +-- Extension for Release 6 to enable Inter-RAT PS Handover between UTRAN and GERAN A/Gb -- + { ID id-SourceBSS-ToTargetBSS-TransparentContainer CRITICALITY ignore EXTENSION SourceBSS-ToTargetBSS-TransparentContainer PRESENCE optional} | +-- Extension for Release 8 for SRVCC operation -- + { ID id-SRVCC-HO-Indication CRITICALITY reject EXTENSION SRVCC-HO-Indication PRESENCE optional} | +-- Extension for Release 9 to communicate to the CN the CSG id of the target cell -- + { ID id-CSG-Id CRITICALITY reject EXTENSION CSG-Id PRESENCE optional} | +-- Extension for Release 9 to communicate to the CN the hybrid access status of the target cell -- + { ID id-Cell-Access-Mode CRITICALITY reject EXTENSION Cell-Access-Mode PRESENCE optional} | +-- Extension for Release 11 for rSRVCC operation -- + { ID id-RSRVCC-HO-Indication CRITICALITY reject EXTENSION RSRVCC-HO-Indication PRESENCE optional}| +-- Extension for Release 14 to support QoE function -- + {ID id-UE-Application-Layer-Measurement-Configuration-For-Relocation CRITICALITY ignore EXTENSION UE-Application-Layer-Measurement-Configuration-For-Relocation PRESENCE optional}, + + ... +} + +-- ************************************************************** +-- +-- Relocation Command +-- +-- ************************************************************** + +RelocationCommand ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RelocationCommandIEs} }, + protocolExtensions ProtocolExtensionContainer { {RelocationCommandExtensions} } OPTIONAL, + ... +} + +RelocationCommandIEs RANAP-PROTOCOL-IES ::= { + { ID id-Target-ToSource-TransparentContainer + CRITICALITY reject TYPE Target-ToSource-TransparentContainer PRESENCE optional } | + { ID id-L3-Information CRITICALITY ignore TYPE L3-Information PRESENCE optional } | + { ID id-RAB-RelocationReleaseList CRITICALITY ignore TYPE RAB-RelocationReleaseList PRESENCE optional } | + { ID id-RAB-DataForwardingList CRITICALITY ignore TYPE RAB-DataForwardingList PRESENCE optional } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +RAB-RelocationReleaseList ::= RAB-IE-ContainerList { {RAB-RelocationReleaseItemIEs} } + +RAB-RelocationReleaseItemIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-RelocationReleaseItem CRITICALITY ignore TYPE RAB-RelocationReleaseItem PRESENCE mandatory }, + ... +} + +RAB-RelocationReleaseItem ::= SEQUENCE { + rAB-ID RAB-ID, + iE-Extensions ProtocolExtensionContainer { {RAB-RelocationReleaseItem-ExtIEs} } OPTIONAL, + ... +} + +RAB-RelocationReleaseItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RAB-DataForwardingList ::= RAB-IE-ContainerList { {RAB-DataForwardingItemIEs} } + +RAB-DataForwardingItemIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-DataForwardingItem CRITICALITY ignore TYPE RAB-DataForwardingItem PRESENCE mandatory }, + ... +} + +RAB-DataForwardingItem ::= SEQUENCE { + rAB-ID RAB-ID, + transportLayerAddress TransportLayerAddress, + iuTransportAssociation IuTransportAssociation, + iE-Extensions ProtocolExtensionContainer { {RAB-DataForwardingItem-ExtIEs} } OPTIONAL, + ... +} + +RAB-DataForwardingItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 5 to allow transfer of a second pair of TLA and association -- + {ID id-TransportLayerAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional} | + {ID id-IuTransportAssociation CRITICALITY ignore EXTENSION IuTransportAssociation PRESENCE optional}, + ... +} + +RelocationCommandExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 5 to enable Inter RAN Load Information Exchange over Iu -- + { ID id-InterSystemInformation-TransparentContainer CRITICALITY ignore EXTENSION InterSystemInformation-TransparentContainer PRESENCE optional} | +-- Extension for Release 6 to enable Inter-RAT PS Handover between UTRAN and GERAN A/Gb -- + { ID id-TargetBSS-ToSourceBSS-TransparentContainer CRITICALITY ignore EXTENSION TargetBSS-ToSourceBSS-TransparentContainer PRESENCE optional} | +-- Extension for Release 8 for SRVCC operation -- + { ID id-SRVCC-Information CRITICALITY reject EXTENSION SRVCC-Information PRESENCE optional} | +-- Extension for Release 11 for rSRVCC operation -- + { ID id-RSRVCC-Information CRITICALITY reject EXTENSION RSRVCC-Information PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- Relocation Preparation Failure +-- +-- ************************************************************** + +RelocationPreparationFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RelocationPreparationFailureIEs} }, + protocolExtensions ProtocolExtensionContainer { {RelocationPreparationFailureExtensions} } OPTIONAL, +... +} + +RelocationPreparationFailureIEs RANAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +RelocationPreparationFailureExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 5 to enable Inter RAN Load Information Exchange over Iu -- + { ID id-InterSystemInformation-TransparentContainer CRITICALITY ignore EXTENSION InterSystemInformation-TransparentContainer PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- RELOCATION RESOURCE ALLOCATION ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Relocation Request +-- +-- ************************************************************** + +RelocationRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RelocationRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {RelocationRequestExtensions} } OPTIONAL, + ... +} + +RelocationRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE optional } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-Source-ToTarget-TransparentContainer + CRITICALITY reject TYPE SourceRNC-ToTargetRNC-TransparentContainer PRESENCE mandatory } | + { ID id-RAB-SetupList-RelocReq CRITICALITY reject TYPE RAB-SetupList-RelocReq PRESENCE optional } | + { ID id-IntegrityProtectionInformation CRITICALITY ignore TYPE IntegrityProtectionInformation PRESENCE optional } | + { ID id-EncryptionInformation CRITICALITY ignore TYPE EncryptionInformation PRESENCE optional } | + { ID id-IuSigConId CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE mandatory }, + ... +} + +RAB-SetupList-RelocReq ::= RAB-IE-ContainerList { {RAB-SetupItem-RelocReq-IEs} } + +RAB-SetupItem-RelocReq-IEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-SetupItem-RelocReq CRITICALITY reject TYPE RAB-SetupItem-RelocReq PRESENCE mandatory }, + ... +} + +RAB-SetupItem-RelocReq ::= SEQUENCE { + rAB-ID RAB-ID, + nAS-SynchronisationIndicator NAS-SynchronisationIndicator OPTIONAL, + rAB-Parameters RAB-Parameters, + dataVolumeReportingIndication DataVolumeReportingIndication OPTIONAL + -- This IE shall be present if the CN domain indicator IE is set to "PS domain" --, + pDP-TypeInformation PDP-TypeInformation OPTIONAL + -- This IE shall be present if the CN domain indicator IE is set to "PS domain" --, + userPlaneInformation UserPlaneInformation, + transportLayerAddress TransportLayerAddress, + iuTransportAssociation IuTransportAssociation, + service-Handover Service-Handover OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {RAB-SetupItem-RelocReq-ExtIEs} } OPTIONAL, + ... +} + +RAB-SetupItem-RelocReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 4 to enable RAB Quality of Service negotiation over Iu -- + { ID id-Alt-RAB-Parameters CRITICALITY ignore EXTENSION Alt-RAB-Parameters PRESENCE optional}| +-- Extension for Release 5 to enable GERAN support over Iu-cs -- + { ID id-GERAN-BSC-Container CRITICALITY ignore EXTENSION GERAN-BSC-Container PRESENCE optional}| +-- Extension for Release 8 to enable handover restriction to E-UTRAN -- + { ID id-E-UTRAN-Service-Handover CRITICALITY ignore EXTENSION E-UTRAN-Service-Handover PRESENCE optional}| +-- Extension for Release 9 to enable a new value -- + { ID id-PDP-TypeInformation-extension CRITICALITY ignore EXTENSION PDP-TypeInformation-extension PRESENCE optional}| +-- Extension for Release 10 to enable offload at Iu-PS for UTRAN -- + { ID id-Offload-RAB-Parameters CRITICALITY ignore EXTENSION Offload-RAB-Parameters PRESENCE optional}, + ... +} + +UserPlaneInformation ::= SEQUENCE { + userPlaneMode UserPlaneMode, + uP-ModeVersions UP-ModeVersions, + iE-Extensions ProtocolExtensionContainer { {UserPlaneInformation-ExtIEs} } OPTIONAL, + ... +} + +UserPlaneInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RelocationRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 4 -- + { ID id-GlobalCN-ID CRITICALITY reject EXTENSION GlobalCN-ID PRESENCE optional}| +-- Extension for Release 5 to enable shared networks in connected mode -- + { ID id-SNA-Access-Information CRITICALITY ignore EXTENSION SNA-Access-Information PRESENCE optional}| +-- Extension for Release 5 to enable specific behaviour by the RNC in relation with early UE handling -- + { ID id-UESBI-Iu CRITICALITY ignore EXTENSION UESBI-Iu PRESENCE optional}| +-- Extension for Release 6 to convey the selected PLMN id in network sharing mobility scenarios -- + { ID id-SelectedPLMN-ID CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional}| +-- Extension for Release 6 to enable MBMS UE linking at relocation -- + { ID id-CNMBMSLinkingInformation CRITICALITY ignore EXTENSION CNMBMSLinkingInformation PRESENCE optional}| + { ID id-UE-AggregateMaximumBitRate CRITICALITY ignore EXTENSION UE-AggregateMaximumBitRate PRESENCE optional}| +-- Extension for Release 9 to communicate to the target cell the CSG id reported by the source -- + { ID id-CSG-Id CRITICALITY reject EXTENSION CSG-Id PRESENCE optional}| +-- Extension for Release 9 for enabling UE prioritisation during access to hybrid cells -- + { ID id-CSG-Membership-Status CRITICALITY ignore EXTENSION CSG-Membership-Status PRESENCE optional}| +-- Extension for Release 10 to enable offload at Iu-PS for UTRAN -- + { ID id-MSISDN CRITICALITY ignore EXTENSION MSISDN PRESENCE optional}| +-- Extension for Release 11 to support rSRVCC in case of network sharing – + { ID id-AnchorPLMN-ID CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional}| + { ID id-PowerSavingIndicator CRITICALITY ignore EXTENSION PowerSavingIndicator PRESENCE optional}| +-- Extension for Release 14 to support QoE function -- + {ID id-UE-Application-Layer-Measurement-Configuration-For-Relocation CRITICALITY ignore EXTENSION UE-Application-Layer-Measurement-Configuration-For-Relocation PRESENCE optional}, + + ... +} + +CNMBMSLinkingInformation ::= SEQUENCE { + joinedMBMSBearerService-IEs JoinedMBMSBearerService-IEs, + iE-Extensions ProtocolExtensionContainer { {CNMBMSLinkingInformation-ExtIEs} } OPTIONAL, + ... +} + +CNMBMSLinkingInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +JoinedMBMSBearerService-IEs ::= SEQUENCE (SIZE (1.. maxnoofMulticastServicesPerUE)) OF + SEQUENCE { + tMGI TMGI, + mBMS-PTP-RAB-ID MBMS-PTP-RAB-ID, + iE-Extensions ProtocolExtensionContainer { {JoinedMBMSBearerService-ExtIEs} } OPTIONAL, + ... + } + +JoinedMBMSBearerService-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Relocation Request Acknowledge +-- +-- ************************************************************** + +RelocationRequestAcknowledge ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RelocationRequestAcknowledgeIEs} }, + protocolExtensions ProtocolExtensionContainer { {RelocationRequestAcknowledgeExtensions} } OPTIONAL, + ... +} + +RelocationRequestAcknowledgeIEs RANAP-PROTOCOL-IES ::= { + { ID id-Target-ToSource-TransparentContainer + CRITICALITY ignore TYPE TargetRNC-ToSourceRNC-TransparentContainer PRESENCE optional } | + { ID id-RAB-SetupList-RelocReqAck CRITICALITY ignore TYPE RAB-SetupList-RelocReqAck PRESENCE optional} | + { ID id-RAB-FailedList CRITICALITY ignore TYPE RAB-FailedList PRESENCE optional }| + { ID id-ChosenIntegrityProtectionAlgorithm CRITICALITY ignore TYPE ChosenIntegrityProtectionAlgorithm PRESENCE optional } | + { ID id-ChosenEncryptionAlgorithm CRITICALITY ignore TYPE ChosenEncryptionAlgorithm PRESENCE optional } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +RAB-SetupList-RelocReqAck ::= RAB-IE-ContainerList { {RAB-SetupItem-RelocReqAck-IEs} } + +RAB-SetupItem-RelocReqAck-IEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-SetupItem-RelocReqAck CRITICALITY reject TYPE RAB-SetupItem-RelocReqAck PRESENCE mandatory }, + ... +} + +RAB-SetupItem-RelocReqAck ::= SEQUENCE { + rAB-ID RAB-ID, + transportLayerAddress TransportLayerAddress OPTIONAL, + iuTransportAssociation IuTransportAssociation OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {RAB-SetupItem-RelocReqAck-ExtIEs} } OPTIONAL, + ... +} + +RAB-SetupItem-RelocReqAck-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 4 to enable RAB Quality of Service negotiation over Iu -- + {ID id-Ass-RAB-Parameters CRITICALITY ignore EXTENSION Ass-RAB-Parameters PRESENCE optional } | +-- Extension for Release 5 to allow transfer of a second pair of TLA and association -- + {ID id-TransportLayerAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional} | + {ID id-IuTransportAssociation CRITICALITY ignore EXTENSION IuTransportAssociation PRESENCE optional}, + ... +} + +RAB-FailedList ::= RAB-IE-ContainerList { {RAB-FailedItemIEs} } + +RAB-FailedItemIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-FailedItem CRITICALITY ignore TYPE RAB-FailedItem PRESENCE mandatory }, + ... +} + +RAB-FailedItem ::= SEQUENCE { + rAB-ID RAB-ID, + cause Cause, + iE-Extensions ProtocolExtensionContainer { {RAB-FailedItem-ExtIEs} } OPTIONAL, + ... +} + +RAB-FailedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RelocationRequestAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 5 to enable Inter RAN Load Information Exchange over Iu -- + {ID id-NewBSS-To-OldBSS-Information CRITICALITY ignore EXTENSION NewBSS-To-OldBSS-Information PRESENCE optional }| + {ID id-CSG-Id CRITICALITY ignore EXTENSION CSG-Id PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- Relocation Failure +-- +-- ************************************************************** + +RelocationFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RelocationFailureIEs} }, + protocolExtensions ProtocolExtensionContainer { {RelocationFailureExtensions} } OPTIONAL, + ... +} + +RelocationFailureIEs RANAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +RelocationFailureExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 5 to enable Inter RAN Load Information Exchange over Iu -- + { ID id-NewBSS-To-OldBSS-Information CRITICALITY ignore EXTENSION NewBSS-To-OldBSS-Information PRESENCE optional } | +-- Extension for Release 5 to enable GERAN support over Iu-cs -- + { ID id-GERAN-Classmark CRITICALITY ignore EXTENSION GERAN-Classmark PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- RELOCATION CANCEL ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Relocation Cancel +-- +-- ************************************************************** + +RelocationCancel ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RelocationCancelIEs} }, + protocolExtensions ProtocolExtensionContainer { {RelocationCancelExtensions} } OPTIONAL, + ... +} + +RelocationCancelIEs RANAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }, + ... +} + +RelocationCancelExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Relocation Cancel Acknowledge +-- +-- ************************************************************** + +RelocationCancelAcknowledge ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RelocationCancelAcknowledgeIEs} }, + protocolExtensions ProtocolExtensionContainer { {RelocationCancelAcknowledgeExtensions} } OPTIONAL, + ... +} + +RelocationCancelAcknowledgeIEs RANAP-PROTOCOL-IES ::= { + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +RelocationCancelAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- SRNS CONTEXT TRANSFER OPEARATION +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- SRNS Context Request +-- +-- ************************************************************** + +SRNS-ContextRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {SRNS-ContextRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {SRNS-ContextRequestExtensions} } OPTIONAL, + ... +} + +SRNS-ContextRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-DataForwardingList-SRNS-CtxReq CRITICALITY ignore TYPE RAB-DataForwardingList-SRNS-CtxReq PRESENCE mandatory }, + ... +} + +RAB-DataForwardingList-SRNS-CtxReq ::= RAB-IE-ContainerList { {RAB-DataForwardingItem-SRNS-CtxReq-IEs} } + +RAB-DataForwardingItem-SRNS-CtxReq-IEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-DataForwardingItem-SRNS-CtxReq CRITICALITY reject TYPE RAB-DataForwardingItem-SRNS-CtxReq PRESENCE mandatory }, + ... +} + +RAB-DataForwardingItem-SRNS-CtxReq ::= SEQUENCE { + rAB-ID RAB-ID, + iE-Extensions ProtocolExtensionContainer { {RAB-DataForwardingItem-SRNS-CtxReq-ExtIEs} } OPTIONAL, + ... +} + +RAB-DataForwardingItem-SRNS-CtxReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +SRNS-ContextRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- The SGSN may include the IE, when available to indicate the RAT from which the context request originates, to correct measurement points in SRNC. -- + {ID id-RAT-Type CRITICALITY ignore EXTENSION RAT-Type PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- SRNS Context Response +-- +-- ************************************************************** + +SRNS-ContextResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {SRNS-ContextResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { {SRNS-ContextResponseExtensions} } OPTIONAL, + ... +} + +SRNS-ContextResponseIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-ContextList CRITICALITY ignore TYPE RAB-ContextList PRESENCE optional } | + { ID id-RAB-ContextFailedtoTransferList CRITICALITY ignore TYPE RAB-ContextFailedtoTransferList PRESENCE optional }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +RAB-ContextList ::= RAB-IE-ContainerList { {RAB-ContextItemIEs} } + +RAB-ContextItemIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-ContextItem CRITICALITY ignore TYPE RAB-ContextItem PRESENCE mandatory }, + ... +} + +RAB-ContextItem ::= SEQUENCE { + rAB-ID RAB-ID, + dl-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL, + ul-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL, + dl-N-PDU-SequenceNumber DL-N-PDU-SequenceNumber OPTIONAL, + ul-N-PDU-SequenceNumber UL-N-PDU-SequenceNumber OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {RAB-ContextItem-ExtIEs} } OPTIONAL, + ... +} + +RAB-ContextItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RAB-ContextFailedtoTransferList ::= RAB-IE-ContainerList { {RABs-ContextFailedtoTransferItemIEs} } + +RABs-ContextFailedtoTransferItemIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-ContextFailedtoTransferItem CRITICALITY ignore TYPE RABs-ContextFailedtoTransferItem PRESENCE mandatory }, + ... +} + +RABs-ContextFailedtoTransferItem::= SEQUENCE { + rAB-ID RAB-ID, + cause Cause, + iE-Extensions ProtocolExtensionContainer { { RABs-ContextFailedtoTransferItem-ExtIEs} } OPTIONAL, + ... +} + + +RABs-ContextFailedtoTransferItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +SRNS-ContextResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- SECURITY MODE CONTROL ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Security Mode Command +-- +-- ************************************************************** + +SecurityModeCommand ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {SecurityModeCommandIEs} }, + protocolExtensions ProtocolExtensionContainer { {SecurityModeCommandExtensions} } OPTIONAL, + ... +} + +SecurityModeCommandIEs RANAP-PROTOCOL-IES ::= { + { ID id-IntegrityProtectionInformation CRITICALITY reject TYPE IntegrityProtectionInformation PRESENCE mandatory } | + { ID id-EncryptionInformation CRITICALITY ignore TYPE EncryptionInformation PRESENCE optional } | + { ID id-KeyStatus CRITICALITY reject TYPE KeyStatus PRESENCE mandatory}, + ... +} + +SecurityModeCommandExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Security Mode Complete +-- +-- ************************************************************** + +SecurityModeComplete ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {SecurityModeCompleteIEs} }, + protocolExtensions ProtocolExtensionContainer { {SecurityModeCompleteExtensions} } OPTIONAL, + ... +} + +SecurityModeCompleteIEs RANAP-PROTOCOL-IES ::= { + { ID id-ChosenIntegrityProtectionAlgorithm CRITICALITY reject TYPE ChosenIntegrityProtectionAlgorithm PRESENCE mandatory } | + { ID id-ChosenEncryptionAlgorithm CRITICALITY ignore TYPE ChosenEncryptionAlgorithm PRESENCE optional } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +SecurityModeCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Security Mode Reject +-- +-- ************************************************************** + +SecurityModeReject ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {SecurityModeRejectIEs} }, + protocolExtensions ProtocolExtensionContainer { {SecurityModeRejectExtensions} } OPTIONAL, + ... +} + +SecurityModeRejectIEs RANAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +SecurityModeRejectExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- DATA VOLUME REPORT ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Data Volume Report Request +-- +-- ************************************************************** + +DataVolumeReportRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {DataVolumeReportRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {DataVolumeReportRequestExtensions} } OPTIONAL, + ... +} + +DataVolumeReportRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-DataVolumeReportRequestList CRITICALITY ignore TYPE RAB-DataVolumeReportRequestList PRESENCE mandatory }, + ... +} + +RAB-DataVolumeReportRequestList ::= RAB-IE-ContainerList { {RAB-DataVolumeReportRequestItemIEs} } + +RAB-DataVolumeReportRequestItemIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-DataVolumeReportRequestItem CRITICALITY reject TYPE RAB-DataVolumeReportRequestItem PRESENCE mandatory }, + ... +} + +RAB-DataVolumeReportRequestItem ::= SEQUENCE { + rAB-ID RAB-ID, + iE-Extensions ProtocolExtensionContainer { {RAB-DataVolumeReportRequestItem-ExtIEs} } OPTIONAL, + ... +} + +RAB-DataVolumeReportRequestItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +DataVolumeReportRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Data Volume Report +-- +-- ************************************************************** + +DataVolumeReport ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {DataVolumeReportIEs} }, + protocolExtensions ProtocolExtensionContainer { {DataVolumeReportExtensions} } OPTIONAL, + ... +} + +DataVolumeReportIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-DataVolumeReportList CRITICALITY ignore TYPE RAB-DataVolumeReportList PRESENCE optional } | + { ID id-RAB-FailedtoReportList CRITICALITY ignore TYPE RAB-FailedtoReportList PRESENCE optional } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +DataVolumeReportExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RAB-FailedtoReportList ::= RAB-IE-ContainerList { {RABs-failed-to-reportItemIEs} } + +RABs-failed-to-reportItemIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-FailedtoReportItem CRITICALITY ignore TYPE RABs-failed-to-reportItem PRESENCE mandatory }, + ... +} + +RABs-failed-to-reportItem::= SEQUENCE { + rAB-ID RAB-ID, + cause Cause, + iE-Extensions ProtocolExtensionContainer { { RABs-failed-to-reportItem-ExtIEs} } OPTIONAL, + ... +} + + +RABs-failed-to-reportItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + + +-- ************************************************************** +-- +-- RESET ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Reset +-- +-- ************************************************************** + +Reset ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {ResetIEs} }, + protocolExtensions ProtocolExtensionContainer { {ResetExtensions} } OPTIONAL, + ... +} + +ResetIEs RANAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional }, + ... +} + +ResetExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 4 -- + { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional}| +-- Extension for Release 7 to indicate extended RNC-ID -- + { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- Reset Acknowledge +-- +-- ************************************************************** + +ResetAcknowledge ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {ResetAcknowledgeIEs} }, + protocolExtensions ProtocolExtensionContainer { {ResetAcknowledgeExtensions} } OPTIONAL, + ... +} + +ResetAcknowledgeIEs RANAP-PROTOCOL-IES ::= { + { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } | + { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional }, + ... +} + +ResetAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 4 -- + { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional}| +-- Extension for Release 7 to indicate extended RNC-ID -- + { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional }, + ... +} +-- ************************************************************** +-- +-- RESET RESOURCE ELEMENTARY PROCEDURE +-- +-- ************************************************************** + + +-- ************************************************************** +-- +-- Reset Resource +-- +-- ************************************************************** + +ResetResource ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {ResetResourceIEs} }, + protocolExtensions ProtocolExtensionContainer { {ResetResourceExtensions} } OPTIONAL, + ... +} + +ResetResourceIEs RANAP-PROTOCOL-IES ::= { + { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-IuSigConIdList CRITICALITY ignore TYPE ResetResourceList PRESENCE mandatory } | + { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional }, + ... +} + +ResetResourceList ::= IuSigConId-IE-ContainerList{ {ResetResourceItemIEs} } + +ResetResourceItemIEs RANAP-PROTOCOL-IES ::= { + { ID id-IuSigConIdItem CRITICALITY reject TYPE ResetResourceItem PRESENCE mandatory }, + ... +} + +ResetResourceItem ::= SEQUENCE { + iuSigConId IuSignallingConnectionIdentifier, + iE-Extensions ProtocolExtensionContainer { { ResetResourceItem-ExtIEs} } OPTIONAL, + ... +} + +ResetResourceItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + { ID id-IuSigConIdRangeEnd CRITICALITY reject EXTENSION IuSignallingConnectionIdentifier PRESENCE optional}, + ... +} + +ResetResourceExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 4 -- + { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional}| +-- Extension for Release 7 to indicate extended RNC-ID -- + { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- Reset Resource Acknowledge +-- +-- ************************************************************** + +ResetResourceAcknowledge ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {ResetResourceAcknowledgeIEs} }, + protocolExtensions ProtocolExtensionContainer { {ResetResourceAcknowledgeExtensions} } OPTIONAL, + ... +} + +ResetResourceAcknowledgeIEs RANAP-PROTOCOL-IES ::= { + { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-IuSigConIdList CRITICALITY ignore TYPE ResetResourceAckList PRESENCE mandatory } | + { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} +ResetResourceAckList ::= IuSigConId-IE-ContainerList{ {ResetResourceAckItemIEs} } + +ResetResourceAckItemIEs RANAP-PROTOCOL-IES ::= { + { ID id-IuSigConIdItem CRITICALITY reject TYPE ResetResourceAckItem PRESENCE mandatory }, + ... +} + +ResetResourceAckItem ::= SEQUENCE { + iuSigConId IuSignallingConnectionIdentifier, + iE-Extensions ProtocolExtensionContainer { { ResetResourceAckItem-ExtIEs} } OPTIONAL, + ... +} + +ResetResourceAckItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + { ID id-IuSigConIdRangeEnd CRITICALITY ignore EXTENSION IuSignallingConnectionIdentifier PRESENCE optional}, + ... +} + +ResetResourceAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 4 -- + { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional}| +-- Extension for Release 7 to indicate extended RNC-ID -- + { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- RAB RELEASE REQUEST ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- RAB Release Request +-- +-- ************************************************************** + +RAB-ReleaseRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RAB-ReleaseRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {RAB-ReleaseRequestExtensions} } OPTIONAL, + ... +} + +RAB-ReleaseRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-ReleaseList CRITICALITY ignore TYPE RAB-ReleaseList PRESENCE mandatory }, + ... +} + +RAB-ReleaseList ::= RAB-IE-ContainerList { {RAB-ReleaseItemIEs} } + +RAB-ReleaseItemIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-ReleaseItem CRITICALITY ignore TYPE RAB-ReleaseItem PRESENCE mandatory }, + ... +} + +RAB-ReleaseItem ::= SEQUENCE { + rAB-ID RAB-ID, + cause Cause, + iE-Extensions ProtocolExtensionContainer { {RAB-ReleaseItem-ExtIEs} } OPTIONAL, + ... +} + +RAB-ReleaseItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RAB-ReleaseRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Iu RELEASE REQUEST ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Iu Release Request +-- +-- ************************************************************** + +Iu-ReleaseRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {Iu-ReleaseRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {Iu-ReleaseRequestExtensions} } OPTIONAL, + ... +} + +Iu-ReleaseRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }, + ... +} + +Iu-ReleaseRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- RELOCATION DETECT ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Relocation Detect +-- +-- ************************************************************** + +RelocationDetect ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RelocationDetectIEs} }, + protocolExtensions ProtocolExtensionContainer { {RelocationDetectExtensions} } OPTIONAL, + ... +} + +RelocationDetectIEs RANAP-PROTOCOL-IES ::= { + ... +} + +RelocationDetectExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- RELOCATION COMPLETE ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Relocation Complete +-- +-- ************************************************************** + +RelocationComplete ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RelocationCompleteIEs} }, + protocolExtensions ProtocolExtensionContainer { {RelocationCompleteExtensions} } OPTIONAL, + ... +} + +RelocationCompleteIEs RANAP-PROTOCOL-IES ::= { + ... +} + +RelocationCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 9 to enable the CN to handle potential UE NAS QoS issues related to higher bitrates -- + { ID id-HigherBitratesThan16MbpsFlag CRITICALITY ignore EXTENSION HigherBitratesThan16MbpsFlag PRESENCE optional}| +-- Extension for Release 11 to support BBAI -- + { ID id-Tunnel-Information-for-BBF CRITICALITY ignore EXTENSION TunnelInformation PRESENCE optional}| +-- Extension for Release 12 to support SIPTO@LN Stand-Alone -- + { ID id-LHN-ID CRITICALITY ignore EXTENSION LHN-ID PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- ENHANCED RELOCATION COMPLETE ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Enhanced Relocation Complete Request +-- +-- ************************************************************** + +EnhancedRelocationCompleteRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {EnhancedRelocationCompleteRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {EnhancedRelocationCompleteRequestExtensions} } OPTIONAL, + ... +} + +EnhancedRelocationCompleteRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-OldIuSigConId CRITICALITY reject TYPE IuSignallingConnectionIdentifier PRESENCE mandatory } | + { ID id-IuSigConId CRITICALITY reject TYPE IuSignallingConnectionIdentifier PRESENCE mandatory } | + { ID id-Relocation-SourceRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory } | + { ID id-Relocation-SourceExtendedRNC-ID CRITICALITY ignore TYPE ExtendedRNC-ID PRESENCE optional } | + { ID id-Relocation-TargetRNC-ID CRITICALITY reject TYPE GlobalRNC-ID PRESENCE mandatory } | + { ID id-Relocation-TargetExtendedRNC-ID CRITICALITY reject TYPE ExtendedRNC-ID PRESENCE optional } | + { ID id-RAB-SetupList-EnhancedRelocCompleteReq CRITICALITY reject TYPE RAB-SetupList-EnhancedRelocCompleteReq PRESENCE optional }, + ... +} + +RAB-SetupList-EnhancedRelocCompleteReq ::= RAB-IE-ContainerList { { RAB-SetupItem-EnhancedRelocCompleteReq-IEs} } + +RAB-SetupItem-EnhancedRelocCompleteReq-IEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-SetupItem-EnhancedRelocCompleteReq CRITICALITY reject TYPE RAB-SetupItem-EnhancedRelocCompleteReq PRESENCE mandatory }, + ... +} + +RAB-SetupItem-EnhancedRelocCompleteReq ::= SEQUENCE { + rAB-ID RAB-ID, + transportLayerAddressReq1 TransportLayerAddress OPTIONAL, + iuTransportAssociationReq1 IuTransportAssociation OPTIONAL, + ass-RAB-Parameters Ass-RAB-Parameters OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { RAB-SetupItem-EnhancedRelocCompleteReq-ExtIEs} } OPTIONAL, + ... +} + +RAB-SetupItem-EnhancedRelocCompleteReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +EnhancedRelocationCompleteRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { + { ID id-ChosenIntegrityProtectionAlgorithm CRITICALITY ignore EXTENSION ChosenIntegrityProtectionAlgorithm PRESENCE optional}| + { ID id-ChosenEncryptionAlgorithm CRITICALITY ignore EXTENSION ChosenEncryptionAlgorithm PRESENCE optional}| +-- Extension for Release 9 to enable the CN to handle potential UE NAS QoS issues related to higher bitrates -- + { ID id-HigherBitratesThan16MbpsFlag CRITICALITY ignore EXTENSION HigherBitratesThan16MbpsFlag PRESENCE optional}| +-- Extensions for Release 11 to enable enhanced relocation from RNC to hybrid cell – + { ID id-CSG-Id CRITICALITY reject EXTENSION CSG-Id PRESENCE optional}| + { ID id-Cell-Access-Mode CRITICALITY reject EXTENSION Cell-Access-Mode PRESENCE optional}| +-- Extension for Release 11 to support BBAI -- + { ID id-Tunnel-Information-for-BBF CRITICALITY ignore EXTENSION TunnelInformation PRESENCE optional}| +-- Extension for Release 12 to support SIPTO@LN Stand-Alone -- + { ID id-LHN-ID CRITICALITY ignore EXTENSION LHN-ID PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- Enhanced Relocation Complete Response +-- +-- ************************************************************** + +EnhancedRelocationCompleteResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {EnhancedRelocationCompleteResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { {EnhancedRelocationCompleteResponseExtensions} } OPTIONAL, + ... +} + +EnhancedRelocationCompleteResponseIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-SetupList-EnhancedRelocCompleteRes CRITICALITY ignore TYPE RAB-SetupList-EnhancedRelocCompleteRes PRESENCE optional} | + { ID id-RAB-ToBeReleasedList-EnhancedRelocCompleteRes CRITICALITY ignore TYPE RAB-ToBeReleasedList-EnhancedRelocCompleteRes PRESENCE optional} | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +RAB-SetupList-EnhancedRelocCompleteRes ::= RAB-IE-ContainerList { {RAB-SetupItem-EnhancedRelocCompleteRes-IEs} } + +RAB-SetupItem-EnhancedRelocCompleteRes-IEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-SetupItem-EnhancedRelocCompleteRes CRITICALITY reject TYPE RAB-SetupItem-EnhancedRelocCompleteRes PRESENCE mandatory }, + ... +} + +RAB-SetupItem-EnhancedRelocCompleteRes ::= SEQUENCE { + rAB-ID RAB-ID, + rAB-Parameters RAB-Parameters OPTIONAL, + userPlaneInformation UserPlaneInformation, + transportLayerAddressRes1 TransportLayerAddress OPTIONAL, + iuTransportAssociationRes1 IuTransportAssociation OPTIONAL, + rab2beReleasedList RAB-ToBeReleasedList-EnhancedRelocCompleteRes OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { RAB-SetupItem-EnhancedRelocCompleteRes-ExtIEs} } OPTIONAL, + ... +} + +RAB-SetupItem-EnhancedRelocCompleteRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + -- Extension for Release 10 to enable Offload at Iu-ps for UTRAN -- + { ID id-Offload-RAB-Parameters CRITICALITY ignore EXTENSION Offload-RAB-Parameters PRESENCE optional}, + ... +} + +RAB-ToBeReleasedList-EnhancedRelocCompleteRes ::= RAB-IE-ContainerList { {RAB-ToBeReleasedItem-EnhancedRelocCompleteRes-IEs} } + +RAB-ToBeReleasedItem-EnhancedRelocCompleteRes-IEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes CRITICALITY ignore TYPE RAB-ToBeReleasedItem-EnhancedRelocCompleteRes PRESENCE mandatory }, + ... +} + +RAB-ToBeReleasedItem-EnhancedRelocCompleteRes ::= SEQUENCE { + rAB-ID RAB-ID, + cause Cause, + iE-Extensions ProtocolExtensionContainer { { RAB-ToBeReleasedItem-EnhancedRelocCompleteRes-ExtIEs} } OPTIONAL, + ... +} + +RAB-ToBeReleasedItem-EnhancedRelocCompleteRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +EnhancedRelocationCompleteResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { + { ID id-UE-AggregateMaximumBitRate CRITICALITY ignore EXTENSION UE-AggregateMaximumBitRate PRESENCE optional}| +-- Extension for Release 10 to enable Offload at Iu-ps for UTRAN -- + { ID id-MSISDN CRITICALITY ignore EXTENSION MSISDN PRESENCE optional}| +-- Extension for Release 11 to enable ehnahced relocation from RNC to hybrid cell – + { ID id-CSG-Membership-Status CRITICALITY ignore EXTENSION CSG-Membership-Status PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- Enhanced Relocation Complete Failure +-- +-- ************************************************************** + +EnhancedRelocationCompleteFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {EnhancedRelocationCompleteFailureIEs} }, + protocolExtensions ProtocolExtensionContainer { {EnhancedRelocationCompleteFailureExtensions} } OPTIONAL, + ... +} + +EnhancedRelocationCompleteFailureIEs RANAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +EnhancedRelocationCompleteFailureExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Enhanced Relocation Complete Confirm +-- +-- ************************************************************** + +EnhancedRelocationCompleteConfirm ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {EnhancedRelocationCompleteConfirmIEs} }, + protocolExtensions ProtocolExtensionContainer { {EnhancedRelocationCompleteConfirmExtensions} } OPTIONAL, + ... +} + +EnhancedRelocationCompleteConfirmIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-FailedList CRITICALITY ignore TYPE RAB-FailedList PRESENCE optional }, + ... +} + +EnhancedRelocationCompleteConfirmExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + + +-- ************************************************************** +-- +-- PAGING ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Paging +-- +-- ************************************************************** + +Paging ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {PagingIEs} }, + protocolExtensions ProtocolExtensionContainer { {PagingExtensions} } OPTIONAL, + ... +} + +PagingIEs RANAP-PROTOCOL-IES ::= { + { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE mandatory } | + { ID id-TemporaryUE-ID CRITICALITY ignore TYPE TemporaryUE-ID PRESENCE optional } | + { ID id-PagingAreaID CRITICALITY ignore TYPE PagingAreaID PRESENCE optional } | + { ID id-PagingCause CRITICALITY ignore TYPE PagingCause PRESENCE optional } | + { ID id-NonSearchingIndication CRITICALITY ignore TYPE NonSearchingIndication PRESENCE optional } | + { ID id-DRX-CycleLengthCoefficient CRITICALITY ignore TYPE DRX-CycleLengthCoefficient PRESENCE optional } , + ... +} + +PagingExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 5 to enable NNSF -- + { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional } | +-- Extension for Release 8 to support CSG -- + { ID id-CSG-Id-List CRITICALITY ignore EXTENSION CSG-Id-List PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- COMMON ID ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Common ID +-- +-- ************************************************************** + +CommonID ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {CommonID-IEs} }, + protocolExtensions ProtocolExtensionContainer { {CommonIDExtensions} } OPTIONAL, + ... +} + +CommonID-IEs RANAP-PROTOCOL-IES ::= { + { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE mandatory }, + ... +} + +CommonIDExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 5 to enable shared networks in connected mode -- + { ID id-SNA-Access-Information CRITICALITY ignore EXTENSION SNA-Access-Information PRESENCE optional }| +-- Extension for Release 5 to enable specific behaviour by the RNC in relation with early UE handling -- + { ID id-UESBI-Iu CRITICALITY ignore EXTENSION UESBI-Iu PRESENCE optional }| +-- Extension for Release 6 to indicate the selected plmn in GWCN configuration for network sharing non-supporting UEs -- + { ID id-SelectedPLMN-ID CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional }| +-- Extension for Release 8 to indicate the Subscriber Profile ID for RAT/Frequency Selection Priority -- + {ID id-SubscriberProfileIDforRFP CRITICALITY ignore EXTENSION SubscriberProfileIDforRFP PRESENCE optional }| +-- Extension for Release 8 for SRVCC operation -- + { ID id-SRVCC-Operation-Possible CRITICALITY ignore EXTENSION SRVCC-Operation-Possible PRESENCE optional }| +-- Extension for Release 9 to allow for UE prioritisation during access to hybrid cells -- + { ID id-CSG-Membership-Status CRITICALITY ignore EXTENSION CSG-Membership-Status PRESENCE optional }| +-- Extension for Release 10 to indicate Management Based MDT Allowed -- + { ID id-Management-Based-MDT-Allowed CRITICALITY ignore EXTENSION Management-Based-MDT-Allowed PRESENCE optional }| +-- Extension for Release 11 to indicate MDT PLMN List -- + { ID id-Management-Based-MDT-PLMN-List CRITICALITY ignore EXTENSION MDT-PLMN-List PRESENCE optional }| +-- Extension for Release 11 rSRVCC operation -- + { ID id-RSRVCC-Operation-Possible CRITICALITY ignore EXTENSION RSRVCC-Operation-Possible PRESENCE optional }| +-- Extension for Release 11 to inidcate the last E-UTRAN PLMN Identity -- + { ID id-LastE-UTRANPLMNIdentity CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional }| + { ID id-PowerSavingIndicator CRITICALITY ignore EXTENSION PowerSavingIndicator PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- CN INVOKE TRACE ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- CN Invoke Trace +-- +-- ************************************************************** + +CN-InvokeTrace ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {CN-InvokeTraceIEs} }, + protocolExtensions ProtocolExtensionContainer { {CN-InvokeTraceExtensions} } OPTIONAL, + ... +} + +CN-InvokeTraceIEs RANAP-PROTOCOL-IES ::= { + { ID id-TraceType CRITICALITY ignore TYPE TraceType PRESENCE optional } | + -- This information is mandatory for GERAN Iu Mode, not applicable to UTRAN -- + { ID id-TraceReference CRITICALITY ignore TYPE TraceReference PRESENCE mandatory } | + { ID id-TriggerID CRITICALITY ignore TYPE TriggerID PRESENCE optional } | + -- This information is mandatory for GERAN Iu Mode, not applicable to UTRAN -- + { ID id-UE-ID CRITICALITY ignore TYPE UE-ID PRESENCE optional } | + -- This information is mandatory for UTRAN, optional for GERAN Iu mode -- + { ID id-OMC-ID CRITICALITY ignore TYPE OMC-ID PRESENCE optional }, + -- This information is mandatory for GERAN Iu Mode, not applicable to UTRAN -- + ... +} + +CN-InvokeTraceExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 6 to enable signalling based activation for Subscriber and Equipment Trace over Iu interface -- + { ID id-TracePropagationParameters CRITICALITY ignore EXTENSION TracePropagationParameters PRESENCE optional}| +-- Extension for Release 10 to support MDT-- + { ID id-MDT-Configuration CRITICALITY ignore EXTENSION MDT-Configuration PRESENCE optional}| +-- Extension for Release 10 to support MDT-- + { ID id-Trace-Collection-Entity-IP-Addess CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional}| +-- Extension for Release 14 to support QoE function -- + {ID id-UE-Application-Layer-Measurement-Configuration CRITICALITY ignore EXTENSION UE-Application-Layer-Measurement-Configuration PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- CN DEACTIVATE TRACE ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- CN Deactivate Trace +-- +-- ************************************************************** + +CN-DeactivateTrace ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {CN-DeactivateTraceIEs} }, + protocolExtensions ProtocolExtensionContainer { {CN-DeactivateTraceExtensions} } OPTIONAL, + ... +} + +CN-DeactivateTraceIEs RANAP-PROTOCOL-IES ::= { + { ID id-TraceReference CRITICALITY ignore TYPE TraceReference PRESENCE mandatory } | + { ID id-TriggerID CRITICALITY ignore TYPE TriggerID PRESENCE optional }, + -- This information is optional for GERAN Iu Mode, not applicable to UTRAN -- + ... +} + +CN-DeactivateTraceExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- LOCATION REPORTING CONTROL ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Location Reporting Control +-- +-- ************************************************************** + +LocationReportingControl ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {LocationReportingControlIEs} }, + protocolExtensions ProtocolExtensionContainer { {LocationReportingControlExtensions} } OPTIONAL, + ... +} + +LocationReportingControlIEs RANAP-PROTOCOL-IES ::= { + { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE mandatory }, + ... +} + +LocationReportingControlExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 4 to enhance the location request over Iu -- + { ID id-VerticalAccuracyCode CRITICALITY ignore EXTENSION VerticalAccuracyCode PRESENCE optional } | +-- Extension for Release 4 to enhance the location request over Iu -- + { ID id-ResponseTime CRITICALITY ignore EXTENSION ResponseTime PRESENCE optional } | +-- Extension for Release 4 to enhance the location request over Iu -- + { ID id-PositioningPriority CRITICALITY ignore EXTENSION PositioningPriority PRESENCE optional } | +-- Extension for Release 4 to enhance the location request over Iu -- + { ID id-ClientType CRITICALITY ignore EXTENSION ClientType PRESENCE optional } | +-- Extension for Release 7 to allow the request of velocity over Iu -- + { ID id-IncludeVelocity CRITICALITY ignore EXTENSION IncludeVelocity PRESENCE optional } | +-- Extension for Release 7 to allow periodic reporting over Iu -- + { ID id-PeriodicLocationInfo CRITICALITY ignore EXTENSION PeriodicLocationInfo PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- LOCATION REPORT ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Location Report +-- +-- ************************************************************** + +LocationReport ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {LocationReportIEs} }, + protocolExtensions ProtocolExtensionContainer { {LocationReportExtensions} } OPTIONAL, + ... +} + +LocationReportIEs RANAP-PROTOCOL-IES ::= { + { ID id-AreaIdentity CRITICALITY ignore TYPE AreaIdentity PRESENCE optional } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } | + { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE optional } , + ... +} + +LocationReportExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 4 to enable report of Last Known Service Area with its Age over Iu -- + { ID id-LastKnownServiceArea CRITICALITY ignore EXTENSION LastKnownServiceArea PRESENCE optional} | +-- Extension for Release 5 to pass the positioning methods that have been used -- + { ID id-PositionData CRITICALITY ignore EXTENSION PositionData PRESENCE optional}| +-- Extension for Release 5 to pass the positioning methods that have been used for GERAN Iu mode -- + { ID id-PositionDataSpecificToGERANIuMode CRITICALITY ignore EXTENSION PositionDataSpecificToGERANIuMode PRESENCE optional}| + -- This extension is optional for GERAN Iu mode only, not applicable for UTRAN -- +-- Extension for Release 6 to indicate whether the returned position estimate satisfies the requested accuracy or not -- + { ID id-AccuracyFulfilmentIndicator CRITICALITY ignore EXTENSION AccuracyFulfilmentIndicator PRESENCE optional}| +-- Extension for Release 7 to provide a velocity estimate -- + { ID id-VelocityEstimate CRITICALITY ignore EXTENSION VelocityEstimate PRESENCE optional}| +-- Extension for Release 13 to provide a barometric pressure -- + { ID id-BarometricPressure CRITICALITY ignore EXTENSION BarometricPressure PRESENCE optional}| +-- Extension for Release 13 to provide a civic address -- + { ID id-CivicAddress CRITICALITY ignore EXTENSION CivicAddress PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- INITIAL UE MESSAGE ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Initial UE Message +-- +-- ************************************************************** + +InitialUE-Message ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {InitialUE-MessageIEs} }, + protocolExtensions ProtocolExtensionContainer { {InitialUE-MessageExtensions} } OPTIONAL, + ... +} + +InitialUE-MessageIEs RANAP-PROTOCOL-IES ::= { + { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-LAI CRITICALITY ignore TYPE LAI PRESENCE mandatory } | + { ID id-RAC CRITICALITY ignore TYPE RAC PRESENCE conditional + -- This IE shall be present if the CN Domain Indicator IE is set to "PS domain" -- } | + { ID id-SAI CRITICALITY ignore TYPE SAI PRESENCE mandatory } | + { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory } | + { ID id-IuSigConId CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE mandatory } | + { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory }, + ... +} + +InitialUE-MessageExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 5 to enable GERAN support over Iu-cs -- + { ID id-GERAN-Classmark CRITICALITY ignore EXTENSION GERAN-Classmark PRESENCE optional}| +-- Extension for Release 6 to convey the selected PLMN id in shared networks -- + { ID id-SelectedPLMN-ID CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional}| +-- Extension for Release 6 to enable rerouting in MOCN configuration for network sharing non-supporting UEs -- + { ID id-PermanentNAS-UE-ID CRITICALITY ignore EXTENSION PermanentNAS-UE-ID PRESENCE optional}| +-- Extension for Release 6 to enable rerouting in MOCN configuration for network sharing non-supporting UEs -- + { ID id-NAS-SequenceNumber CRITICALITY ignore EXTENSION NAS-SequenceNumber PRESENCE optional}| +-- Extension for Release 6 to indicate rerouting in MOCN configuration for network sharing non-supporting UEs -- + { ID id-RedirectAttemptFlag CRITICALITY ignore EXTENSION RedirectAttemptFlag PRESENCE optional}| +-- Extension for Release 7 to indicate extended RNC-ID -- + { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional}| +-- Extension for Release 8 to support CSG -- + { ID id-CSG-Id CRITICALITY reject EXTENSION CSG-Id PRESENCE optional}| +-- Extension for Release 9 to allow communication of the cell access mode -- + { ID id-Cell-Access-Mode CRITICALITY reject EXTENSION Cell-Access-Mode PRESENCE optional}| +-- Extension for Release 10 to support LIPA -- + { ID id-LGW-TransportLayerAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional}| +-- Extension for Release 9 to enable the CN to handle potential UE NAS QoS issues related to higher bitrates -- + { ID id-HigherBitratesThan16MbpsFlag CRITICALITY ignore EXTENSION HigherBitratesThan16MbpsFlag PRESENCE optional}| +-- Extension for Release 11 to support BBAI -- + { ID id-Tunnel-Information-for-BBF CRITICALITY ignore EXTENSION TunnelInformation PRESENCE optional}| +-- Extension for Release 12 to support SIPTO@LN with collocated L-GW-- + { ID id-SIPTO-LGW-TransportLayerAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional}| +-- Extension for Release 12 to support SIPTO@LN Stand-Alone -- + { ID id-LHN-ID CRITICALITY ignore EXTENSION LHN-ID PRESENCE optional}| +-- Extension for Release 13 to support DCN -- + { ID id-SGSN-Group-Identity CRITICALITY ignore EXTENSION SGSN-Group-Identity PRESENCE optional}| + { ID id-UE-Usage-Type CRITICALITY ignore EXTENSION UE-Usage-Type PRESENCE optional}| + { ID id-DCN-ID CRITICALITY ignore EXTENSION DCN-ID PRESENCE optional}, + + ... +} + +-- ************************************************************** +-- +-- DIRECT TRANSFER ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Direct Transfer +-- +-- ************************************************************** + +DirectTransfer ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {DirectTransferIEs} }, + protocolExtensions ProtocolExtensionContainer { {DirectTransferExtensions} } OPTIONAL, + ... +} + +DirectTransferIEs RANAP-PROTOCOL-IES ::= { + { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory}| + { ID id-LAI CRITICALITY ignore TYPE LAI PRESENCE optional}| + { ID id-RAC CRITICALITY ignore TYPE RAC PRESENCE optional}| + { ID id-SAI CRITICALITY ignore TYPE SAI PRESENCE optional}| + { ID id-SAPI CRITICALITY ignore TYPE SAPI PRESENCE optional}, + ... +} + +DirectTransferExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 6 to enable rerouting in MOCN configuration for network sharing non-supporting UEs -- + { ID id-RedirectionIndication CRITICALITY ignore EXTENSION RedirectionIndication PRESENCE optional}| +-- Extension for Release 6 to indicate the MOCN rerouting is completed -- + { ID id-RedirectionCompleted CRITICALITY ignore EXTENSION RedirectionCompleted PRESENCE optional}| +-- Extension for Release 8 to indicate the Subscriber Profile ID for RAT/Frequency Selection Priority -- + { ID id-SubscriberProfileIDforRFP CRITICALITY ignore EXTENSION SubscriberProfileIDforRFP PRESENCE optional}| +-- Extension for Release 10 to support LIPA -- + { ID id-LGW-TransportLayerAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional}| +-- Extension for Release 12 to support SIPTO@LN with collocated L-GW -- + { ID id-SIPTO-LGW-TransportLayerAddress CRITICALITY ignore EXTENSION TransportLayerAddress PRESENCE optional}| +-- Extension for Release 12 to support SIPTO@LN Stand-Alone -- + { ID id-LHN-ID CRITICALITY ignore EXTENSION LHN-ID PRESENCE optional}, + ... +} + +RedirectionIndication ::= ProtocolIE-Container { {RedirectionIndication-IEs} } + +RedirectionIndication-IEs RANAP-PROTOCOL-IES ::= { + { ID id-NAS-PDU CRITICALITY ignore TYPE NAS-PDU PRESENCE mandatory}| + { ID id-RejectCauseValue CRITICALITY ignore TYPE RejectCauseValue PRESENCE mandatory}| + { ID id-NAS-SequenceNumber CRITICALITY ignore TYPE NAS-SequenceNumber PRESENCE optional}| + { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE optional}| + { ID id-Additional-CSPS-coordination-information CRITICALITY reject TYPE Additional-CSPS-coordination-information PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- OVERLOAD CONTROL ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Overload +-- +-- ************************************************************** + +Overload ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {OverloadIEs} }, + protocolExtensions ProtocolExtensionContainer { {OverloadExtensions} } OPTIONAL, + ... +} + +OverloadIEs RANAP-PROTOCOL-IES ::= { + { ID id-NumberOfSteps CRITICALITY ignore TYPE NumberOfSteps PRESENCE optional } | + { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional }, + ... +} + +OverloadExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 99 to enable the indication to the RNC which CN domain is suffering the signalling traffic overload -- + { ID id-CN-DomainIndicator CRITICALITY ignore EXTENSION CN-DomainIndicator PRESENCE optional} | +-- Extension for Release 5 to enable NNSF -- + { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional} | +-- Extension for Release 7 to indicate extended RNC-ID -- + { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional} | +-- Extension for Release 10 to support Low Priority overload -- + { ID id-Priority-Class-Indicator CRITICALITY ignore EXTENSION Priority-Class-Indicator PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- ERROR INDICATION ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Error Indication +-- +-- ************************************************************** + +ErrorIndication ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {ErrorIndicationIEs} }, + protocolExtensions ProtocolExtensionContainer { {ErrorIndicationExtensions} } OPTIONAL, + ... +} + +ErrorIndicationIEs RANAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } | + { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE optional } | + { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional }, + ... +} + +ErrorIndicationExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 4 -- + { ID id-GlobalCN-ID CRITICALITY ignore EXTENSION GlobalCN-ID PRESENCE optional}| +-- Extension for Release 7 to indicate extended RNC-ID -- + { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- SRNS DATA FORWARD ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- SRNS Data Forward Command +-- +-- ************************************************************** + +SRNS-DataForwardCommand ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {SRNS-DataForwardCommandIEs} }, + protocolExtensions ProtocolExtensionContainer { {SRNS-DataForwardCommandExtensions} } OPTIONAL, + ... +} + +SRNS-DataForwardCommandIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-DataForwardingList CRITICALITY ignore TYPE RAB-DataForwardingList PRESENCE optional }, + ... +} + +SRNS-DataForwardCommandExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- FORWARD SRNS CONTEXT ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Forward SRNS Context +-- +-- ************************************************************** + +ForwardSRNS-Context ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {ForwardSRNS-ContextIEs} }, + protocolExtensions ProtocolExtensionContainer { {ForwardSRNS-ContextExtensions} } OPTIONAL, + ... +} + +ForwardSRNS-ContextIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-ContextList CRITICALITY ignore TYPE RAB-ContextList PRESENCE mandatory }, + ... +} + +ForwardSRNS-ContextExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 5 to enable relocation of Source RNC PDCP context info -- + { ID id-SourceRNC-PDCP-context-info CRITICALITY ignore EXTENSION RRC-Container PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- RAB ASSIGNMENT ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- RAB Assignment Request +-- +-- ************************************************************** + +RAB-AssignmentRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RAB-AssignmentRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {RAB-AssignmentRequestExtensions} } OPTIONAL, + ... +} + +RAB-AssignmentRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-SetupOrModifyList CRITICALITY ignore TYPE RAB-SetupOrModifyList PRESENCE optional } | + { ID id-RAB-ReleaseList CRITICALITY ignore TYPE RAB-ReleaseList PRESENCE optional }, + ... +} + +RAB-SetupOrModifyList ::= RAB-IE-ContainerPairList { {RAB-SetupOrModifyItem-IEs} } + +RAB-SetupOrModifyItem-IEs RANAP-PROTOCOL-IES-PAIR ::= { + { ID id-RAB-SetupOrModifyItem FIRST CRITICALITY reject FIRST TYPE RAB-SetupOrModifyItemFirst + SECOND CRITICALITY ignore SECOND TYPE RAB-SetupOrModifyItemSecond + PRESENCE mandatory }, + ... +} + +RAB-SetupOrModifyItemFirst ::= SEQUENCE { + rAB-ID RAB-ID, + nAS-SynchronisationIndicator NAS-SynchronisationIndicator OPTIONAL, + rAB-Parameters RAB-Parameters OPTIONAL, + userPlaneInformation UserPlaneInformation OPTIONAL, + transportLayerInformation TransportLayerInformation OPTIONAL, + service-Handover Service-Handover OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {RAB-SetupOrModifyItemFirst-ExtIEs} } OPTIONAL, + ... +} + +TransportLayerInformation ::= SEQUENCE { + transportLayerAddress TransportLayerAddress, + iuTransportAssociation IuTransportAssociation, + iE-Extensions ProtocolExtensionContainer { {TransportLayerInformation-ExtIEs} } OPTIONAL, + ... +} + +TransportLayerInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RAB-SetupOrModifyItemFirst-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 8 to enable handover restriction to E-UTRAN -- + { ID id-E-UTRAN-Service-Handover CRITICALITY ignore EXTENSION E-UTRAN-Service-Handover PRESENCE optional}| +-- Extension for Release 10 to support LIPA -- + { ID id-Correlation-ID CRITICALITY ignore EXTENSION Correlation-ID PRESENCE optional}| +-- Extension for Release 12 to support SIPTO@LN with collocated L-GW -- + { ID id-SIPTO-Correlation-ID CRITICALITY ignore EXTENSION Correlation-ID PRESENCE optional}, + ... +} + +RAB-SetupOrModifyItemSecond ::= SEQUENCE { + pDP-TypeInformation PDP-TypeInformation OPTIONAL, + dataVolumeReportingIndication DataVolumeReportingIndication OPTIONAL, + dl-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL, + ul-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL, + dl-N-PDU-SequenceNumber DL-N-PDU-SequenceNumber OPTIONAL, + ul-N-PDU-SequenceNumber UL-N-PDU-SequenceNumber OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {RAB-SetupOrModifyItemSecond-ExtIEs} } OPTIONAL, + ... +} + +RAB-SetupOrModifyItemSecond-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 4 to enable RAB Quality of Service negotiation over Iu -- + { ID id-Alt-RAB-Parameters CRITICALITY ignore EXTENSION Alt-RAB-Parameters PRESENCE optional}| +-- Extension for Release 5 to enable GERAN support over Iu-cs -- + { ID id-GERAN-BSC-Container CRITICALITY ignore EXTENSION GERAN-BSC-Container PRESENCE optional}| +-- Extension for Release Release 9 to enable a new value -- + { ID id-PDP-TypeInformation-extension CRITICALITY ignore EXTENSION PDP-TypeInformation-extension PRESENCE optional}| +-- Extension for Release 10 to enable Offload at Iu-ps for UTRAN -- + { ID id-Offload-RAB-Parameters CRITICALITY ignore EXTENSION Offload-RAB-Parameters PRESENCE optional}, + ... +} + +RAB-AssignmentRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { + { ID id-UE-AggregateMaximumBitRate CRITICALITY ignore EXTENSION UE-AggregateMaximumBitRate PRESENCE optional}| +-- Extension for Release 10 to enable Offload at Iu-ps for UTRAN -- + { ID id-MSISDN CRITICALITY ignore EXTENSION MSISDN PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- RAB Assignment Response +-- +-- ************************************************************** + +RAB-AssignmentResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RAB-AssignmentResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { {RAB-AssignmentResponseExtensions} } OPTIONAL, + ... +} + +RAB-AssignmentResponseIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-SetupOrModifiedList CRITICALITY ignore TYPE RAB-SetupOrModifiedList PRESENCE optional } | + { ID id-RAB-ReleasedList CRITICALITY ignore TYPE RAB-ReleasedList PRESENCE optional } | + + { ID id-RAB-QueuedList CRITICALITY ignore TYPE RAB-QueuedList PRESENCE optional } | + { ID id-RAB-FailedList CRITICALITY ignore TYPE RAB-FailedList PRESENCE optional } | + { ID id-RAB-ReleaseFailedList CRITICALITY ignore TYPE RAB-ReleaseFailedList PRESENCE optional } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +RAB-SetupOrModifiedList ::= RAB-IE-ContainerList { {RAB-SetupOrModifiedItemIEs} } + +RAB-SetupOrModifiedItemIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-SetupOrModifiedItem CRITICALITY ignore TYPE RAB-SetupOrModifiedItem PRESENCE mandatory }, + ... +} + +RAB-SetupOrModifiedItem ::= SEQUENCE { + rAB-ID RAB-ID, + transportLayerAddress TransportLayerAddress OPTIONAL, + iuTransportAssociation IuTransportAssociation OPTIONAL, + dl-dataVolumes DataVolumeList OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {RAB-SetupOrModifiedItem-ExtIEs} } OPTIONAL, + ... +} + +RAB-SetupOrModifiedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 4 to enable RAB Quality of Service negotiation over Iu -- + { ID id-Ass-RAB-Parameters CRITICALITY ignore EXTENSION Ass-RAB-Parameters PRESENCE optional }, + ... +} + +RAB-ReleasedList ::= RAB-IE-ContainerList { {RAB-ReleasedItemIEs} } + +RAB-ReleasedItemIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-ReleasedItem CRITICALITY ignore TYPE RAB-ReleasedItem PRESENCE mandatory }, + ... +} + +RAB-ReleasedItem ::= SEQUENCE { + rAB-ID RAB-ID, + dl-dataVolumes DataVolumeList OPTIONAL, + dL-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL, + uL-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {RAB-ReleasedItem-ExtIEs} } OPTIONAL, + ... +} + +RAB-ReleasedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +DataVolumeList ::= SEQUENCE (SIZE (1..maxNrOfVol)) OF + SEQUENCE { + dl-UnsuccessfullyTransmittedDataVolume UnsuccessfullyTransmittedDataVolume, + dataVolumeReference DataVolumeReference OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {DataVolumeList-ExtIEs} } OPTIONAL, + ... + } + +DataVolumeList-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RAB-QueuedList ::= RAB-IE-ContainerList { {RAB-QueuedItemIEs} } + +RAB-QueuedItemIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-QueuedItem CRITICALITY ignore TYPE RAB-QueuedItem PRESENCE mandatory }, + ... +} + +RAB-QueuedItem ::= SEQUENCE { + rAB-ID RAB-ID, + iE-Extensions ProtocolExtensionContainer { {RAB-QueuedItem-ExtIEs} } OPTIONAL, + ... +} + +RAB-QueuedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RAB-ReleaseFailedList ::= RAB-FailedList + +RAB-AssignmentResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 5 to enable GERAN support over Iu-cs -- + { ID id-GERAN-Iumode-RAB-FailedList-RABAssgntResponse CRITICALITY ignore EXTENSION GERAN-Iumode-RAB-FailedList-RABAssgntResponse PRESENCE optional} , + ... +} + +GERAN-Iumode-RAB-FailedList-RABAssgntResponse ::= RAB-IE-ContainerList { {GERAN-Iumode-RAB-Failed-RABAssgntResponse-ItemIEs} } + +GERAN-Iumode-RAB-Failed-RABAssgntResponse-ItemIEs RANAP-PROTOCOL-IES ::= { + { ID id-GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item CRITICALITY ignore TYPE GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item PRESENCE mandatory }, + ... +} + +GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item ::= SEQUENCE { + rAB-ID RAB-ID, + cause Cause, + gERAN-Classmark GERAN-Classmark OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item-ExtIEs} } OPTIONAL, + ... +} + +GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- PRIVATE MESSAGE +-- +-- ************************************************************** + +PrivateMessage ::= SEQUENCE { + privateIEs PrivateIE-Container { {PrivateMessage-IEs } }, + ... +} + +PrivateMessage-IEs RANAP-PRIVATE-IES ::= { + ... +} + +-- ************************************************************** +-- +-- RANAP RELOCATION INFORMATION ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +RANAP-RelocationInformation ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RANAP-RelocationInformationIEs} }, + protocolExtensions ProtocolExtensionContainer { {RANAP-RelocationInformationExtensions} } OPTIONAL, + ... +} + +RANAP-RelocationInformationIEs RANAP-PROTOCOL-IES ::= { + { ID id-DirectTransferInformationList-RANAP-RelocInf + CRITICALITY ignore TYPE DirectTransferInformationList-RANAP-RelocInf + PRESENCE optional } | + { ID id-RAB-ContextList-RANAP-RelocInf CRITICALITY ignore TYPE RAB-ContextList-RANAP-RelocInf PRESENCE optional }, + ... +} + +DirectTransferInformationList-RANAP-RelocInf ::= DirectTransfer-IE-ContainerList { {DirectTransferInformationItemIEs-RANAP-RelocInf} } + +DirectTransferInformationItemIEs-RANAP-RelocInf RANAP-PROTOCOL-IES ::= { + { ID id-DirectTransferInformationItem-RANAP-RelocInf + CRITICALITY ignore TYPE DirectTransferInformationItem-RANAP-RelocInf + PRESENCE mandatory }, + ... +} + +DirectTransferInformationItem-RANAP-RelocInf ::= SEQUENCE { + nAS-PDU NAS-PDU, + sAPI SAPI, + cN-DomainIndicator CN-DomainIndicator, + iE-Extensions ProtocolExtensionContainer { {RANAP-DirectTransferInformationItem-ExtIEs-RANAP-RelocInf} } OPTIONAL, + ... +} + +RANAP-DirectTransferInformationItem-ExtIEs-RANAP-RelocInf RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RAB-ContextList-RANAP-RelocInf ::= RAB-IE-ContainerList { {RAB-ContextItemIEs-RANAP-RelocInf} } + +RAB-ContextItemIEs-RANAP-RelocInf RANAP-PROTOCOL-IES ::= { + { ID id-RAB-ContextItem-RANAP-RelocInf CRITICALITY ignore TYPE RAB-ContextItem-RANAP-RelocInf PRESENCE mandatory }, + ... +} + +RAB-ContextItem-RANAP-RelocInf ::= SEQUENCE { + rAB-ID RAB-ID, + dl-GTP-PDU-SequenceNumber DL-GTP-PDU-SequenceNumber OPTIONAL, + ul-GTP-PDU-SequenceNumber UL-GTP-PDU-SequenceNumber OPTIONAL, + dl-N-PDU-SequenceNumber DL-N-PDU-SequenceNumber OPTIONAL, + ul-N-PDU-SequenceNumber UL-N-PDU-SequenceNumber OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {RAB-ContextItem-ExtIEs-RANAP-RelocInf} } OPTIONAL, + ... +} + +RAB-ContextItem-ExtIEs-RANAP-RelocInf RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RANAP-RelocationInformationExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 5 to enable relocation of Source RNC PDCP context info -- + { ID id-SourceRNC-PDCP-context-info CRITICALITY ignore EXTENSION RRC-Container PRESENCE optional} | +-- Extension for Release 10 to enable RNSAP Relocation -- + { ID id-RNSAPRelocationParameters CRITICALITY reject EXTENSION RNSAPRelocationParameters PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- RANAP ENHANCED RELOCATION INFORMATION ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- RANAP Enhanced Relocation Information Request +-- +-- ************************************************************** + +RANAP-EnhancedRelocationInformationRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RANAP-EnhancedRelocationInformationRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {RANAP-EnhancedRelocationInformationRequestExtensions} } OPTIONAL, + ... +} + +RANAP-EnhancedRelocationInformationRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-Source-ToTarget-TransparentContainer + CRITICALITY reject TYPE SourceRNC-ToTargetRNC-TransparentContainer PRESENCE mandatory } | + { ID id-OldIuSigConIdCS CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE optional } | + { ID id-GlobalCN-IDCS CRITICALITY reject TYPE GlobalCN-ID PRESENCE optional} | + { ID id-OldIuSigConIdPS CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE optional } | + { ID id-GlobalCN-IDPS CRITICALITY reject TYPE GlobalCN-ID PRESENCE optional} | + { ID id-RAB-SetupList-EnhRelocInfoReq CRITICALITY reject TYPE RAB-SetupList-EnhRelocInfoReq PRESENCE optional } | + { ID id-SNA-Access-Information CRITICALITY ignore TYPE SNA-Access-Information PRESENCE optional} | + { ID id-UESBI-Iu CRITICALITY ignore TYPE UESBI-Iu PRESENCE optional}| + { ID id-SelectedPLMN-ID CRITICALITY ignore TYPE PLMNidentity PRESENCE optional }| + { ID id-CNMBMSLinkingInformation CRITICALITY ignore TYPE CNMBMSLinkingInformation PRESENCE optional}, + ... +} + +RAB-SetupList-EnhRelocInfoReq ::= RAB-IE-ContainerList { { RAB-SetupItem-EnhRelocInfoReq-IEs} } + +RAB-SetupItem-EnhRelocInfoReq-IEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-SetupItem-EnhRelocInfoReq CRITICALITY reject TYPE RAB-SetupItem-EnhRelocInfoReq PRESENCE mandatory }, + ... +} + +RAB-SetupItem-EnhRelocInfoReq ::= SEQUENCE { + rAB-ID RAB-ID, + cN-DomainIndicator CN-DomainIndicator, + rAB-Parameters RAB-Parameters, + dataVolumeReportingIndication DataVolumeReportingIndication OPTIONAL + -- This IE shall be present if the CN domain indicator IE is set to "PS domain" --, + pDP-TypeInformation PDP-TypeInformation OPTIONAL + -- This IE shall be present if the CN domain indicator IE is set to "PS domain" --, + userPlaneInformation UserPlaneInformation, + dataForwardingInformation TNLInformationEnhRelInfoReq OPTIONAL, + sourceSideIuULTNLInfo TNLInformationEnhRelInfoReq OPTIONAL, + + service-Handover Service-Handover OPTIONAL, + alt-RAB-Parameters Alt-RAB-Parameters OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { RAB-SetupItem-EnhRelocInfoReq-ExtIEs} } OPTIONAL, + ... +} + +RAB-SetupItem-EnhRelocInfoReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 8 to enable handover restriction to E-UTRAN -- + { ID id-E-UTRAN-Service-Handover CRITICALITY ignore EXTENSION E-UTRAN-Service-Handover PRESENCE optional }| +-- Extension for Release Release 9 to enable a new value -- + { ID id-PDP-TypeInformation-extension CRITICALITY ignore EXTENSION PDP-TypeInformation-extension PRESENCE optional }, + ... +} + +TNLInformationEnhRelInfoReq ::=SEQUENCE{ + transportLayerAddress TransportLayerAddress, + iuTransportAssociation IuTransportAssociation, + iE-Extensions ProtocolExtensionContainer { { TNLInformationEnhRelInfoReq-ExtIEs} } OPTIONAL, + ... +} + +TNLInformationEnhRelInfoReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + + +RANAP-EnhancedRelocationInformationRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { + { ID id-IntegrityProtectionInformation CRITICALITY ignore EXTENSION IntegrityProtectionInformation PRESENCE optional} | + { ID id-EncryptionInformation CRITICALITY ignore EXTENSION EncryptionInformation PRESENCE optional} | + { ID id-UE-AggregateMaximumBitRate CRITICALITY ignore EXTENSION UE-AggregateMaximumBitRate PRESENCE optional} | +-- Extension for Release 10 to enable RNSAP Relocation -- + { ID id-RABParametersList CRITICALITY reject EXTENSION RABParametersList PRESENCE optional} | + { ID id-CSG-Id CRITICALITY reject EXTENSION CSG-Id PRESENCE optional} | + { ID id-CSG-Membership-Status CRITICALITY reject EXTENSION CSG-Membership-Status PRESENCE optional} | +-- Extension for Release 11 to support rSRVCC in case of network sharing – + { ID id-AnchorPLMN-ID CRITICALITY ignore EXTENSION PLMNidentity PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- RANAP Enhanced Relocation Information Response +-- +-- ************************************************************** + +RANAP-EnhancedRelocationInformationResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RANAP-EnhancedRelocationInformationResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { {RANAP-EnhancedRelocationInformationResponseExtensions} } OPTIONAL, + ... +} + +RANAP-EnhancedRelocationInformationResponseIEs RANAP-PROTOCOL-IES ::= { + { ID id-Target-ToSource-TransparentContainer + CRITICALITY ignore TYPE TargetRNC-ToSourceRNC-TransparentContainer PRESENCE optional } | + { ID id-RAB-SetupList-EnhRelocInfoRes CRITICALITY ignore TYPE RAB-SetupList-EnhRelocInfoRes PRESENCE optional} | + { ID id-RAB-FailedList-EnhRelocInfoRes CRITICALITY ignore TYPE RAB-FailedList-EnhRelocInfoRes PRESENCE optional }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +RAB-SetupList-EnhRelocInfoRes ::= RAB-IE-ContainerList { { RAB-SetupItem-EnhRelocInfoRes-IEs} } + +RAB-SetupItem-EnhRelocInfoRes-IEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-SetupItem-EnhRelocInfoRes CRITICALITY reject TYPE RAB-SetupItem-EnhRelocInfoRes PRESENCE mandatory }, + ... +} + +RAB-SetupItem-EnhRelocInfoRes ::= SEQUENCE { + cN-DomainIndicator CN-DomainIndicator, + rAB-ID RAB-ID, + dataForwardingInformation TNLInformationEnhRelInfoRes OPTIONAL, + ass-RAB-Parameters Ass-RAB-Parameters OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { RAB-SetupItem-EnhRelocInfoRes-ExtIEs} } OPTIONAL, + ... +} + +RAB-SetupItem-EnhRelocInfoRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RAB-FailedList-EnhRelocInfoRes ::= RAB-IE-ContainerList { { RAB-FailedItem-EnhRelocInfoRes-IEs} } + +RAB-FailedItem-EnhRelocInfoRes-IEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-FailedItem-EnhRelocInfoRes CRITICALITY reject TYPE RAB-FailedItem-EnhRelocInfoRes PRESENCE mandatory }, + ... +} + +RAB-FailedItem-EnhRelocInfoRes ::= SEQUENCE { + cN-DomainIndicator CN-DomainIndicator, + rAB-ID RAB-ID, + cause Cause, + iE-Extensions ProtocolExtensionContainer { { RAB-FailedItem-EnhRelocInfoRes-ExtIEs} } OPTIONAL, + ... +} + +RAB-FailedItem-EnhRelocInfoRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} +TNLInformationEnhRelInfoRes ::=SEQUENCE{ + dl-forwardingTransportLayerAddress TransportLayerAddress, + dl-forwardingTransportAssociation IuTransportAssociation, + iE-Extensions ProtocolExtensionContainer { { TNLInformationEnhRelInfoRes-ExtIEs} } OPTIONAL, + ... +} + +TNLInformationEnhRelInfoRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RANAP-EnhancedRelocationInformationResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} +-- ************************************************************** +-- +-- RAB MODIFICATION REQUEST ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- RAB Modify Request +-- +-- ************************************************************** + +RAB-ModifyRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RAB-ModifyRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {RAB-ModifyRequestExtensions} } OPTIONAL, + ... +} + +RAB-ModifyRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-ModifyList CRITICALITY ignore TYPE RAB-ModifyList PRESENCE mandatory}, + ... +} + +RAB-ModifyList ::= RAB-IE-ContainerList { {RAB-ModifyItemIEs} } + +RAB-ModifyItemIEs RANAP-PROTOCOL-IES ::= { + { ID id-RAB-ModifyItem CRITICALITY ignore TYPE RAB-ModifyItem PRESENCE mandatory }, + ... +} + +RAB-ModifyItem ::= SEQUENCE { + rAB-ID RAB-ID, + requested-RAB-Parameter-Values Requested-RAB-Parameter-Values, + iE-Extensions ProtocolExtensionContainer { {RAB-ModifyItem-ExtIEs} } OPTIONAL, + ... +} + +RAB-ModifyItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +RAB-ModifyRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- LOCATION RELATED DATA ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Location Related Data Request +-- +-- ************************************************************** + +LocationRelatedDataRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {LocationRelatedDataRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {LocationRelatedDataRequestExtensions} } OPTIONAL, + ... +} + +LocationRelatedDataRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-LocationRelatedDataRequestType CRITICALITY reject TYPE LocationRelatedDataRequestType PRESENCE optional }, + -- This IE is mandatory for UTRAN, optional for GERAN Iu Mode –- + ... +} + +LocationRelatedDataRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 5 to enable LCS support for GERAN Iu mode -- + { ID id-LocationRelatedDataRequestTypeSpecificToGERANIuMode CRITICALITY reject EXTENSION LocationRelatedDataRequestTypeSpecificToGERANIuMode PRESENCE optional }| + -- The previous extension is optional for GERAN Iu Mode only, not applicable for UTRAN -- + -- Extension for Release 7 to request GANSS Assistance Data. This IE shall be present if the Requested Location Related Data Type IE is set to + -- ‘Dedicated Assistance Data for Assisted GANSS’ or `Dedicated Assistance Data for Assisted GPS and GANSS’-- + { ID id-RequestedGANSSAssistanceData CRITICALITY reject EXTENSION RequestedGANSSAssistanceData PRESENCE conditional }, + ... +} + +-- ************************************************************** +-- +-- Location Related Data Response +-- +-- ************************************************************** + +LocationRelatedDataResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { LocationRelatedDataResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { { LocationRelatedDataResponseExtensions} } OPTIONAL, + ... +} + +LocationRelatedDataResponseIEs RANAP-PROTOCOL-IES ::= { + { ID id-BroadcastAssistanceDataDecipheringKeys CRITICALITY ignore TYPE BroadcastAssistanceDataDecipheringKeys PRESENCE optional }, + ... +} + +LocationRelatedDataResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for error handling + { ID id-CriticalityDiagnostics CRITICALITY ignore EXTENSION CriticalityDiagnostics PRESENCE optional }| + { ID id-BroadcastGANSSAssistanceDataDecipheringKeys CRITICALITY ignore EXTENSION BroadcastAssistanceDataDecipheringKeys PRESENCE optional}, + ... +} + +-- ************************************************************** +-- +-- Location Related Data Failure +-- +-- ************************************************************** + +LocationRelatedDataFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { LocationRelatedDataFailureIEs} }, + protocolExtensions ProtocolExtensionContainer { { LocationRelatedDataFailureExtensions} } OPTIONAL, + ... +} + +LocationRelatedDataFailureIEs RANAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }, + ... +} + +LocationRelatedDataFailureExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for error handling + { ID id-CriticalityDiagnostics CRITICALITY ignore EXTENSION CriticalityDiagnostics PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- INFORMATION TRANSFER ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Information Transfer Indication +-- +-- ************************************************************** + +InformationTransferIndication ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { InformationTransferIndicationIEs} }, + protocolExtensions ProtocolExtensionContainer { { InformationTransferIndicationExtensions} } OPTIONAL, + ... +} + +InformationTransferIndicationIEs RANAP-PROTOCOL-IES ::= { + { ID id-InformationTransferID CRITICALITY reject TYPE InformationTransferID PRESENCE mandatory } | + { ID id-ProvidedData CRITICALITY reject TYPE ProvidedData PRESENCE mandatory } | + { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-GlobalCN-ID CRITICALITY ignore TYPE GlobalCN-ID PRESENCE optional}, + ... +} + +InformationTransferIndicationExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Information Transfer Confirmation +-- +-- ************************************************************** + +InformationTransferConfirmation ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { InformationTransferConfirmationIEs} }, + protocolExtensions ProtocolExtensionContainer { { InformationTransferConfirmationExtensions} } OPTIONAL, + ... +} + +InformationTransferConfirmationIEs RANAP-PROTOCOL-IES ::= { + { ID id-InformationTransferID CRITICALITY ignore TYPE InformationTransferID PRESENCE mandatory } | + { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } | + { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory }, + ... +} + +InformationTransferConfirmationExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 7 to indicate extended RNC-ID -- + { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- Information Transfer Failure +-- +-- ************************************************************** + +InformationTransferFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { InformationTransferFailureIEs} }, + protocolExtensions ProtocolExtensionContainer { { InformationTransferFailureExtensions} } OPTIONAL, + ... +} + +InformationTransferFailureIEs RANAP-PROTOCOL-IES ::= { + { ID id-InformationTransferID CRITICALITY ignore TYPE InformationTransferID PRESENCE mandatory } | + { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } | + { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory }, + ... +} + +InformationTransferFailureExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 7 to indicate extended RNC-ID -- + { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- UE SPECIFIC INFORMATION ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- UE Specific Information Indication +-- +-- ************************************************************** + +UESpecificInformationIndication ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UESpecificInformationIndicationIEs} }, + protocolExtensions ProtocolExtensionContainer { {UESpecificInformationIndicationExtensions} } OPTIONAL, + ... +} + +UESpecificInformationIndicationIEs RANAP-PROTOCOL-IES ::= { + { ID id-UESBI-Iu CRITICALITY ignore TYPE UESBI-Iu PRESENCE optional }, + ... +} + +UESpecificInformationIndicationExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- DIRECT INFORMATION TRANSFER ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Direct Information Transfer +-- +-- ************************************************************** + +DirectInformationTransfer ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { DirectInformationTransferIEs} }, + protocolExtensions ProtocolExtensionContainer { { DirectInformationTransferExtensions} } OPTIONAL, + ... +} + +DirectInformationTransferIEs RANAP-PROTOCOL-IES ::= { + { ID id-InterSystemInformationTransferType CRITICALITY ignore TYPE InterSystemInformationTransferType PRESENCE optional } | + { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE optional } | + { ID id-GlobalCN-ID CRITICALITY ignore TYPE GlobalCN-ID PRESENCE optional }, + ... +} + +DirectInformationTransferExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 7 to indicate extended RNC-ID -- + { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- UPLINK INFORMATION EXCHANGE ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- Uplink Information Exchange Request +-- +-- ************************************************************** + +UplinkInformationExchangeRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { UplinkInformationExchangeRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { { UplinkInformationExchangeRequestExtensions} } OPTIONAL, + ... +} + +UplinkInformationExchangeRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-InformationExchangeID CRITICALITY reject TYPE InformationExchangeID PRESENCE mandatory } | + { ID id-InformationExchangeType CRITICALITY reject TYPE InformationExchangeType PRESENCE mandatory } | + { ID id-InformationTransferType CRITICALITY reject TYPE InformationTransferType PRESENCE conditional + -- This IE shall be present if the Information Exchange Type IE is set to "transfer" -- } | + { ID id-InformationRequestType CRITICALITY reject TYPE InformationRequestType PRESENCE conditional + -- This IE shall be present if the Information Exchange Type IE is set to "request" -- } | + { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-GlobalRNC-ID CRITICALITY reject TYPE GlobalRNC-ID PRESENCE mandatory }, + ... +} + +UplinkInformationExchangeRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 7 to indicate extended RNC-ID -- + { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- Uplink Information Exchange Response +-- +-- ************************************************************** + +UplinkInformationExchangeResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { UplinkInformationExchangeResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { { UplinkInformationExchangeResponseExtensions} } OPTIONAL, + ... +} + +UplinkInformationExchangeResponseIEs RANAP-PROTOCOL-IES ::= { + { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory } | + { ID id-InformationRequested CRITICALITY ignore TYPE InformationRequested PRESENCE optional } | + { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-GlobalCN-ID CRITICALITY ignore TYPE GlobalCN-ID PRESENCE optional } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } , + ... +} + +UplinkInformationExchangeResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Uplink Information Exchange Failure +-- +-- ************************************************************** + +UplinkInformationExchangeFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { UplinkInformationExchangeFailureIEs} }, + protocolExtensions ProtocolExtensionContainer { { UplinkInformationExchangeFailureExtensions} } OPTIONAL, + ... +} + +UplinkInformationExchangeFailureIEs RANAP-PROTOCOL-IES ::= { + { ID id-InformationExchangeID CRITICALITY ignore TYPE InformationExchangeID PRESENCE mandatory } | + { ID id-CN-DomainIndicator CRITICALITY ignore TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-GlobalCN-ID CRITICALITY ignore TYPE GlobalCN-ID PRESENCE optional } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } , + ... +} + +UplinkInformationExchangeFailureExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- MBMS SESSION START PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- MBMS Session Start +-- +-- ************************************************************** + +MBMSSessionStart ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { MBMSSessionStartIEs} }, + protocolExtensions ProtocolExtensionContainer { { MBMSSessionStartExtensions} } OPTIONAL, + ... +} + +MBMSSessionStartIEs RANAP-PROTOCOL-IES ::= { + { ID id-TMGI CRITICALITY reject TYPE TMGI PRESENCE mandatory } | + { ID id-MBMSSessionIdentity CRITICALITY ignore TYPE MBMSSessionIdentity PRESENCE optional } | + { ID id-MBMSBearerServiceType CRITICALITY reject TYPE MBMSBearerServiceType PRESENCE mandatory } | + { ID id-IuSigConId CRITICALITY reject TYPE IuSignallingConnectionIdentifier PRESENCE mandatory }| + { ID id-RAB-Parameters CRITICALITY reject TYPE RAB-Parameters PRESENCE mandatory } | + { ID id-PDP-TypeInformation CRITICALITY ignore TYPE PDP-TypeInformation PRESENCE optional } | + { ID id-MBMSSessionDuration CRITICALITY reject TYPE MBMSSessionDuration PRESENCE mandatory } | + { ID id-MBMSServiceArea CRITICALITY reject TYPE MBMSServiceArea PRESENCE mandatory } | + { ID id-FrequenceLayerConvergenceFlag CRITICALITY ignore TYPE FrequenceLayerConvergenceFlag PRESENCE optional } | + { ID id-RAListofIdleModeUEs CRITICALITY ignore TYPE RAListofIdleModeUEs PRESENCE optional } | + { ID id-GlobalCN-ID CRITICALITY reject TYPE GlobalCN-ID PRESENCE optional } | + { ID id-MBMSSessionRepetitionNumber CRITICALITY ignore TYPE MBMSSessionRepetitionNumber PRESENCE optional } | + { ID id-TimeToMBMSDataTransfer CRITICALITY reject TYPE TimeToMBMSDataTransfer PRESENCE mandatory }, + ... +} + +MBMSSessionStartExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 6 to enable MBMS counting in broadcast mode -- + { ID id-MBMSCountingInformation CRITICALITY ignore EXTENSION MBMSCountingInformation PRESENCE optional}| + { ID id-MBMSSynchronisationInformation CRITICALITY ignore EXTENSION MBMSSynchronisationInformation PRESENCE optional}| +-- Extension for Release Release 9 to enable a new value -- + { ID id-PDP-TypeInformation-extension CRITICALITY ignore EXTENSION PDP-TypeInformation-extension PRESENCE optional}| +-- Extension for Release 12 to support Session re-establishment -- + { ID id-Session-Re-establishment-Indicator CRITICALITY ignore EXTENSION Session-Re-establishment-Indicator PRESENCE optional}, + ... +} + +MBMSSynchronisationInformation ::= SEQUENCE { + mBMSHCIndicator MBMSHCIndicator, + iPMulticastAddress IPMulticastAddress, + gTPDLTEID GTP-TEI, + iE-Extensions ProtocolExtensionContainer { {MBMSSynchronisationInformation-ExtIEs} } OPTIONAL, + ... +} + +MBMSSynchronisationInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + { ID id-IP-Source-Address CRITICALITY reject EXTENSION IPMulticastAddress PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- MBMS Session Start Response +-- +-- ************************************************************** + +MBMSSessionStartResponse::= SEQUENCE { + protocolIEs ProtocolIE-Container { {MBMSSessionStartResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { {MBMSSessionStartResponseExtensions} } OPTIONAL, + ... +} + +MBMSSessionStartResponseIEs RANAP-PROTOCOL-IES ::= { + { ID id-TransportLayerInformation CRITICALITY ignore TYPE TransportLayerInformation PRESENCE optional } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } , + ... +} + +MBMSSessionStartResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- MBMS Session Start Failure +-- +-- ************************************************************** + +MBMSSessionStartFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { MBMSSessionStartFailureIEs} }, + protocolExtensions ProtocolExtensionContainer { { MBMSSessionStartFailureExtensions} } OPTIONAL, + ... +} + +MBMSSessionStartFailureIEs RANAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } , + ... +} + +MBMSSessionStartFailureExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- MBMS SESSION UPDATE PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- MBMS Session Update +-- +-- ************************************************************** + +MBMSSessionUpdate ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { MBMSSessionUpdateIEs} }, + protocolExtensions ProtocolExtensionContainer { { MBMSSessionUpdateExtensions} } OPTIONAL, + ... +} + +MBMSSessionUpdateIEs RANAP-PROTOCOL-IES ::= { + { ID id-SessionUpdateID CRITICALITY reject TYPE SessionUpdateID PRESENCE mandatory } | + { ID id-DeltaRAListofIdleModeUEs CRITICALITY reject TYPE DeltaRAListofIdleModeUEs PRESENCE mandatory }, + ... +} + +MBMSSessionUpdateExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- MBMS Session Update Response +-- +-- ************************************************************** + +MBMSSessionUpdateResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { MBMSSessionUpdateResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { { MBMSSessionUpdateResponseExtensions} } OPTIONAL, + ... +} + +MBMSSessionUpdateResponseIEs RANAP-PROTOCOL-IES ::= { + { ID id-SessionUpdateID CRITICALITY ignore TYPE SessionUpdateID PRESENCE mandatory } | + { ID id-TransportLayerInformation CRITICALITY ignore TYPE TransportLayerInformation PRESENCE optional } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } , + ... +} + +MBMSSessionUpdateResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- MBMS Session Update Failure +-- +-- ************************************************************** + +MBMSSessionUpdateFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { MBMSSessionUpdateFailureIEs} }, + protocolExtensions ProtocolExtensionContainer { { MBMSSessionUpdateFailureExtensions} } OPTIONAL, + ... +} + +MBMSSessionUpdateFailureIEs RANAP-PROTOCOL-IES ::= { + { ID id-SessionUpdateID CRITICALITY ignore TYPE SessionUpdateID PRESENCE mandatory } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } , + ... +} + +MBMSSessionUpdateFailureExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- MBMS SESSION STOP PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- MBMS Session Stop +-- +-- ************************************************************** + +MBMSSessionStop ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { MBMSSessionStopIEs} }, + protocolExtensions ProtocolExtensionContainer { { MBMSSessionStopExtensions} } OPTIONAL, + ... +} + +MBMSSessionStopIEs RANAP-PROTOCOL-IES ::= { + { ID id-MBMSCNDe-Registration CRITICALITY reject TYPE MBMSCNDe-Registration PRESENCE mandatory }, + ... +} + +MBMSSessionStopExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- MBMS Session Stop Response +-- +-- ************************************************************** + +MBMSSessionStopResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { MBMSSessionStopResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { { MBMSSessionStopResponseExtensions} } OPTIONAL, + ... +} + +MBMSSessionStopResponseIEs RANAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } , + ... +} + +MBMSSessionStopResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- MBMS UE LINKING PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- MBMS UE Linking Request +-- +-- ************************************************************** + +MBMSUELinkingRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { MBMSUELinkingRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { { MBMSUELinkingRequestExtensions} } OPTIONAL, + ... +} + +MBMSUELinkingRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-JoinedMBMSBearerServicesList CRITICALITY reject TYPE JoinedMBMSBearerService-IEs PRESENCE optional } | + { ID id-LeftMBMSBearerServicesList CRITICALITY reject TYPE LeftMBMSBearerService-IEs PRESENCE optional }, + ... +} + +LeftMBMSBearerService-IEs ::= SEQUENCE (SIZE (1.. maxnoofMulticastServicesPerUE)) OF + SEQUENCE { + tMGI TMGI, + iE-Extensions ProtocolExtensionContainer { {LeftMBMSBearerService-ExtIEs} } OPTIONAL, + ... + } + +LeftMBMSBearerService-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +MBMSUELinkingRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- MBMS UE Linking Response +-- +-- ************************************************************** + +MBMSUELinkingResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { MBMSUELinkingResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { { MBMSUELinkingResponseExtensions} } OPTIONAL, + ... +} + +MBMSUELinkingResponseIEs RANAP-PROTOCOL-IES ::= { + { ID id-UnsuccessfulLinkingList CRITICALITY ignore TYPE UnsuccessfulLinking-IEs PRESENCE optional } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } , + ... +} + +UnsuccessfulLinking-IEs ::= SEQUENCE (SIZE (1.. maxnoofMulticastServicesPerUE)) OF + SEQUENCE { + tMGI TMGI, + cause Cause, + iE-Extensions ProtocolExtensionContainer { {UnsuccessfulLinking-ExtIEs} } OPTIONAL, + ... + } + +UnsuccessfulLinking-ExtIEs RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +MBMSUELinkingResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- MBMS REGISTRATION PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- MBMS Registration Request +-- +-- ************************************************************** + +MBMSRegistrationRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { MBMSRegistrationRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { { MBMSRegistrationRequestExtensions} } OPTIONAL, + ... +} + +MBMSRegistrationRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-MBMSRegistrationRequestType CRITICALITY reject TYPE MBMSRegistrationRequestType PRESENCE mandatory } | + { ID id-TMGI CRITICALITY reject TYPE TMGI PRESENCE mandatory } | + { ID id-IPMulticastAddress CRITICALITY reject TYPE IPMulticastAddress PRESENCE conditional + -- This IE shall be present if the MBMS Registration Request Type IE is set to "register" -- } | + { ID id-APN CRITICALITY reject TYPE APN PRESENCE conditional + -- This IE shall be present if the MBMS Registration Request Type IE is set to "register" -- } | + { ID id-GlobalRNC-ID CRITICALITY reject TYPE GlobalRNC-ID PRESENCE optional }, + ... +} + +MBMSRegistrationRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 7 to indicate extended RNC-ID -- + { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- MBMS Registration Response +-- +-- ************************************************************** + +MBMSRegistrationResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { MBMSRegistrationResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { { MBMSRegistrationResponseExtensions} } OPTIONAL, + ... +} + +MBMSRegistrationResponseIEs RANAP-PROTOCOL-IES ::= { + { ID id-TMGI CRITICALITY ignore TYPE TMGI PRESENCE optional } | + { ID id-GlobalCN-ID CRITICALITY ignore TYPE GlobalCN-ID PRESENCE optional } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } , + ... +} + +MBMSRegistrationResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- MBMS Registration Failure +-- +-- ************************************************************** + +MBMSRegistrationFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { MBMSRegistrationFailureIEs} }, + protocolExtensions ProtocolExtensionContainer { { MBMSRegistrationFailureExtensions} } OPTIONAL, + ... +} + +MBMSRegistrationFailureIEs RANAP-PROTOCOL-IES ::= { + { ID id-TMGI CRITICALITY ignore TYPE TMGI PRESENCE optional } | + { ID id-GlobalCN-ID CRITICALITY ignore TYPE GlobalCN-ID PRESENCE optional } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } , + ... +} + +MBMSRegistrationFailureExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- MBMS CN DE-REGISTRATION PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- MBMS CN De-Registration Request +-- +-- ************************************************************** + +MBMSCNDe-RegistrationRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { MBMSCNDe-RegistrationRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { { MBMSCNDe-RegistrationRequestExtensions} } OPTIONAL, + ... +} + +MBMSCNDe-RegistrationRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-TMGI CRITICALITY reject TYPE TMGI PRESENCE mandatory } | + { ID id-GlobalCN-ID CRITICALITY reject TYPE GlobalCN-ID PRESENCE optional }, + ... +} + +MBMSCNDe-RegistrationRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- MBMS CN De-Registration Response +-- +-- ************************************************************** + +MBMSCNDe-RegistrationResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { MBMSCNDe-RegistrationResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { { MBMSCNDe-RegistrationResponseExtensions} } OPTIONAL, + ... +} + +MBMSCNDe-RegistrationResponseIEs RANAP-PROTOCOL-IES ::= { + { ID id-TMGI CRITICALITY ignore TYPE TMGI PRESENCE mandatory } | + { ID id-GlobalRNC-ID CRITICALITY ignore TYPE GlobalRNC-ID PRESENCE mandatory } | + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional } , + ... +} + +MBMSCNDe-RegistrationResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 7 to indicate extended RNC-ID -- + { ID id-ExtendedRNC-ID CRITICALITY reject EXTENSION ExtendedRNC-ID PRESENCE optional }, + ... +} + +-- ************************************************************** +-- +-- MBMS RAB ESTABLISHMENT INDICATION PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- MBMS RAB Establishment Indication +-- +-- ************************************************************** + +MBMSRABEstablishmentIndication ::= SEQUENCE { + protocolIEs ProtocolIE-Container { { MBMSRABEstablishmentIndicationIEs} }, + protocolExtensions ProtocolExtensionContainer { { MBMSRABEstablishmentIndicationExtensions} } OPTIONAL, + ... +} + +MBMSRABEstablishmentIndicationIEs RANAP-PROTOCOL-IES ::= { + { ID id-TransportLayerInformation CRITICALITY ignore TYPE TransportLayerInformation PRESENCE mandatory } , + ... +} + +MBMSRABEstablishmentIndicationExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- MBMS RAB RELEASE PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- MBMS RAB Release Request +-- +-- ************************************************************** + +MBMSRABReleaseRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {MBMSRABReleaseRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {MBMSRABReleaseRequestExtensions} } OPTIONAL, + ... +} + +MBMSRABReleaseRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }, + ... +} + + +MBMSRABReleaseRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- MBMS RAB Release +-- +-- ************************************************************** + +MBMSRABRelease ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {MBMSRABReleaseIEs} }, + protocolExtensions ProtocolExtensionContainer { {MBMSRABReleaseExtensions} } OPTIONAL, + ... +} + +MBMSRABReleaseIEs RANAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +MBMSRABReleaseExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- MBMS RAB Release Failure +-- +-- ************************************************************** + +MBMSRABReleaseFailure ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {MBMSRABReleaseFailureIEs} }, + protocolExtensions ProtocolExtensionContainer { {MBMSRABReleaseFailureExtensions} } OPTIONAL, + ... +} + +MBMSRABReleaseFailureIEs RANAP-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +MBMSRABReleaseFailureExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- SRVCC PREPARATION ELEMENTARY PROCEDURE +-- +-- ************************************************************** + +-- ************************************************************** +-- +-- SRVCC CS Keys Request +-- +-- ************************************************************** + +SRVCC-CSKeysRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {SRVCC-CSKeysRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {SRVCC-CSKeysRequestExtensions} } OPTIONAL, + ... +} + +SRVCC-CSKeysRequestIEs RANAP-PROTOCOL-IES ::= { + ... +} + +SRVCC-CSKeysRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- SRVCC CS Keys Response +-- +-- ************************************************************** + +SRVCC-CSKeysResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {SRVCC-CSKeysResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { {SRVCC-CSKeysResponseExtensions} } OPTIONAL, + ... +} + +SRVCC-CSKeysResponseIEs RANAP-PROTOCOL-IES ::= { + { ID id-IntegrityProtectionKey CRITICALITY reject TYPE IntegrityProtectionKey PRESENCE mandatory }| + { ID id-EncryptionKey CRITICALITY reject TYPE EncryptionKey PRESENCE mandatory }| + { ID id-SRVCC-Information CRITICALITY reject TYPE SRVCC-Information PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +SRVCC-CSKeysResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- UE RADIO CAPABILITY MATCH PROCEDURE +-- +-- ************************************************************** + + +-- ************************************************************** +-- +-- UE Radio Capability Match Request +-- +-- ************************************************************** + +UeRadioCapabilityMatchRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UeRadioCapabilityMatchRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {UeRadioCapabilityMatchRequestExtensions} } OPTIONAL, + ... +} + +UeRadioCapabilityMatchRequestIEs RANAP-PROTOCOL-IES ::= { + ... +} + +UeRadioCapabilityMatchRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- UE Radio Capability Match Response +-- +-- ************************************************************** + +UeRadioCapabilityMatchResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UeRadioCapabilityMatchResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { {UeRadioCapabilityMatchResponseExtensions} } OPTIONAL, + ... +} + +UeRadioCapabilityMatchResponseIEs RANAP-PROTOCOL-IES ::= { + { ID id-VoiceSupportMatchIndicator CRITICALITY reject TYPE VoiceSupportMatchIndicator PRESENCE mandatory }, + ... +} + +UeRadioCapabilityMatchResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- UE REGISTRATION QUERY PROCEDURE +-- +-- ************************************************************** + + +-- ************************************************************** +-- +-- UE Registration Query Request +-- +-- ************************************************************** + +UeRegistrationQueryRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UeRegistrationQueryRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {UeRegistrationQueryRequestExtensions} } OPTIONAL, + ... +} + +UeRegistrationQueryRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-IuSigConId CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE mandatory}| + { ID id-PermanentNAS-UE-ID CRITICALITY ignore TYPE PermanentNAS-UE-ID PRESENCE mandatory}, + ... +} + +UeRegistrationQueryRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- UE Registration Query Response +-- +-- ************************************************************** + +UeRegistrationQueryResponse ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {UeRegistrationQueryResponseIEs} }, + protocolExtensions ProtocolExtensionContainer { {UeRegistrationQueryResponseExtensions} } OPTIONAL, + ... +} + +UeRegistrationQueryResponseIEs RANAP-PROTOCOL-IES ::= { + { ID id-UERegistrationQueryResult CRITICALITY ignore TYPE UERegistrationQueryResult PRESENCE mandatory}, + ... +} + +UeRegistrationQueryResponseExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- REROUTE NAS REQUEST PROCEDURE +-- +-- ************************************************************** + + +-- ************************************************************** +-- +-- Reroute NAS Request +-- +-- ************************************************************** + +RerouteNASRequest ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {RerouteNASRequestIEs} }, + protocolExtensions ProtocolExtensionContainer { {RerouteNASRequestExtensions} } OPTIONAL, + ... +} + +RerouteNASRequestIEs RANAP-PROTOCOL-IES ::= { + { ID id-RANAP-Message CRITICALITY ignore TYPE OCTET STRING PRESENCE mandatory}| + { ID id-SGSN-Group-Identity CRITICALITY ignore TYPE SGSN-Group-Identity PRESENCE mandatory}| + { ID id-P-TMSI CRITICALITY ignore TYPE P-TMSI PRESENCE optional}| + { ID id-UE-Usage-Type CRITICALITY ignore TYPE UE-Usage-Type PRESENCE optional}, + ... +} + +RerouteNASRequestExtensions RANAP-PROTOCOL-EXTENSION ::= { + ... +} + +END diff --git a/library/ranap/RANAP_PDU_Descriptions.asn b/library/ranap/RANAP_PDU_Descriptions.asn new file mode 100644 index 000000000..92d4b0f27 --- /dev/null +++ b/library/ranap/RANAP_PDU_Descriptions.asn @@ -0,0 +1,646 @@ +-- RANAP-PDU-Descriptions.asn +-- +-- 3GPP TS 25.413 V14.0.0 (2017-03) +-- http://www.3gpp.org/ftp/Specs/html-info/25413.htm +-- +-- 9.3.2 Elementary Procedure Definitions +-- + +-- ************************************************************** +-- +-- Elementary Procedure definitions +-- +-- ************************************************************** + +RANAP-PDU-Descriptions { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) ranap (0) version1 (1) ranap-PDU-Descriptions (0)} + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** + +IMPORTS + Criticality, + ProcedureCode +FROM RANAP-CommonDataTypes + + Iu-ReleaseCommand, + Iu-ReleaseComplete, + RelocationCommand, + RelocationPreparationFailure, + RelocationRequired, + RelocationRequest, + RelocationRequestAcknowledge, + RelocationFailure, + RelocationCancel, + RelocationCancelAcknowledge, + EnhancedRelocationCompleteRequest, + EnhancedRelocationCompleteResponse, + EnhancedRelocationCompleteFailure, + EnhancedRelocationCompleteConfirm, + SRNS-ContextRequest, + SRNS-ContextResponse, + SecurityModeCommand, + SecurityModeComplete, + SecurityModeReject, + DataVolumeReportRequest, + DataVolumeReport, + Reset, + ResetAcknowledge, + RAB-ReleaseRequest, + Iu-ReleaseRequest, + RelocationDetect, + RelocationComplete, + Paging, + CommonID, + CN-InvokeTrace, + CN-DeactivateTrace, + LocationReportingControl, + LocationReport, + InitialUE-Message, + DirectTransfer, + Overload, + ErrorIndication, + SRNS-DataForwardCommand, + ForwardSRNS-Context, + RAB-AssignmentRequest, + RAB-AssignmentResponse, + RAB-ModifyRequest, + PrivateMessage, + ResetResource, + ResetResourceAcknowledge, + RANAP-RelocationInformation, + RANAP-EnhancedRelocationInformationRequest, + RANAP-EnhancedRelocationInformationResponse, + LocationRelatedDataRequest, + LocationRelatedDataResponse, + LocationRelatedDataFailure, + InformationTransferIndication, + InformationTransferConfirmation, + InformationTransferFailure, + UESpecificInformationIndication, + DirectInformationTransfer, + UplinkInformationExchangeRequest, + UplinkInformationExchangeResponse, + UplinkInformationExchangeFailure, + MBMSSessionStart, + MBMSSessionStartResponse, + MBMSSessionStartFailure, + MBMSSessionUpdate, + MBMSSessionUpdateResponse, + MBMSSessionUpdateFailure, + MBMSSessionStop, + MBMSSessionStopResponse, + MBMSUELinkingRequest, + MBMSUELinkingResponse, + MBMSRegistrationRequest, + MBMSRegistrationResponse, + MBMSRegistrationFailure, + MBMSCNDe-RegistrationRequest, + MBMSCNDe-RegistrationResponse, + MBMSRABEstablishmentIndication, + MBMSRABReleaseRequest, + MBMSRABRelease, + MBMSRABReleaseFailure, + SRVCC-CSKeysRequest, + SRVCC-CSKeysResponse, + UeRadioCapabilityMatchRequest, + UeRadioCapabilityMatchResponse, + UeRegistrationQueryRequest, + UeRegistrationQueryResponse, + RerouteNASRequest + +FROM RANAP-PDU-Contents + + id-LocationRelatedData, + id-CN-DeactivateTrace, + id-CN-InvokeTrace, + id-CommonID, + id-DataVolumeReport, + id-DirectTransfer, + id-ErrorIndication, + id-ForwardSRNS-Context, + id-InformationTransfer, + id-InitialUE-Message, + id-Iu-Release, + id-Iu-ReleaseRequest, + id-LocationReport, + id-LocationReportingControl, + id-OverloadControl, + id-Paging, + id-privateMessage, + id-RAB-Assignment, + id-RAB-ReleaseRequest, + id-RAB-ModifyRequest, + id-RANAP-Relocation, + id-RANAPenhancedRelocation, + id-RelocationCancel, + id-RelocationComplete, + id-RelocationDetect, + id-RelocationPreparation, + id-RelocationResourceAllocation, + id-enhancedRelocationComplete, + id-enhancedRelocationCompleteConfirm, + id-Reset, + id-SRNS-ContextTransfer, + id-SRNS-DataForward, + id-SecurityModeControl, + id-ResetResource, + id-UESpecificInformation, + id-DirectInformationTransfer, + id-UplinkInformationExchange, + id-MBMSSessionStart, + id-MBMSSessionUpdate, + id-MBMSSessionStop, + id-MBMSUELinking, + id-MBMSRegistration, + id-MBMSCNDe-Registration-Procedure, + id-MBMSRABEstablishmentIndication, + id-MBMSRABRelease, + id-SRVCCPreparation, + id-UeRadioCapabilityMatch, + id-UeRegistrationQuery, + id-RerouteNASRequest + +FROM RANAP-Constants; + +-- ************************************************************** +-- +-- Interface Elementary Procedure Class +-- +-- ************************************************************** + +RANAP-ELEMENTARY-PROCEDURE ::= CLASS { + &InitiatingMessage , + &SuccessfulOutcome OPTIONAL, + &UnsuccessfulOutcome OPTIONAL, + &Outcome OPTIONAL, + &procedureCode ProcedureCode UNIQUE, + &criticality Criticality DEFAULT ignore +} +WITH SYNTAX { + INITIATING MESSAGE &InitiatingMessage + [SUCCESSFUL OUTCOME &SuccessfulOutcome] + [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome] + [OUTCOME &Outcome] + PROCEDURE CODE &procedureCode + [CRITICALITY &criticality] +} + +-- ************************************************************** +-- +-- Interface PDU Definition +-- +-- ************************************************************** + +RANAP-PDU ::= CHOICE { + initiatingMessage InitiatingMessage, + successfulOutcome SuccessfulOutcome, + unsuccessfulOutcome UnsuccessfulOutcome, + outcome Outcome, + ... +} + +InitiatingMessage ::= SEQUENCE { + procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}), + criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value RANAP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}) +} + +SuccessfulOutcome ::= SEQUENCE { + procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}), + criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value RANAP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}) +} + +UnsuccessfulOutcome ::= SEQUENCE { + procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}), + criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value RANAP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}) +} + +Outcome ::= SEQUENCE { + procedureCode RANAP-ELEMENTARY-PROCEDURE.&procedureCode ({RANAP-ELEMENTARY-PROCEDURES}), + criticality RANAP-ELEMENTARY-PROCEDURE.&criticality ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}), + value RANAP-ELEMENTARY-PROCEDURE.&Outcome ({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}) +} + +-- ************************************************************** +-- +-- Interface Elementary Procedure List +-- +-- ************************************************************** + +RANAP-ELEMENTARY-PROCEDURES RANAP-ELEMENTARY-PROCEDURE ::= { + RANAP-ELEMENTARY-PROCEDURES-CLASS-1 | + RANAP-ELEMENTARY-PROCEDURES-CLASS-2 | + RANAP-ELEMENTARY-PROCEDURES-CLASS-3 , + ... +} + + +RANAP-ELEMENTARY-PROCEDURES-CLASS-1 RANAP-ELEMENTARY-PROCEDURE ::= { + iu-Release | + relocationPreparation | + relocationResourceAllocation | + relocationCancel | + sRNS-ContextTransfer | + securityModeControl | + dataVolumeReport | + reset | + resetResource , + ..., + locationRelatedData | + informationTransfer | + uplinkInformationExchange | + mBMSSessionStart | + mBMSSessionUpdate | + mBMSSessionStop | + mBMSUELinking | + mBMSRegistration | + mBMSCNDe-Registration | + mBMSRABRelease | + enhancedRelocationComplete | + rANAP-enhancedRelocation | + sRVCCPreparation | + ueRadioCapabilityMatch | + ueRegistrationQuery } + +RANAP-ELEMENTARY-PROCEDURES-CLASS-2 RANAP-ELEMENTARY-PROCEDURE ::= { + rAB-ReleaseRequest | + iu-ReleaseRequest | + relocationDetect | + relocationComplete | + paging | + commonID | + cN-InvokeTrace | + cN-DeactivateTrace | + locationReportingControl | + locationReport | + initialUE-Message | + directTransfer | + overloadControl | + errorIndication | + sRNS-DataForward | + forwardSRNS-Context | + privateMessage | + rANAP-Relocation , + ..., + rAB-ModifyRequest | + uESpecificInformation | + directInformationTransfer | + mBMSRABEstablishmentIndication | + enhancedRelocationCompleteConfirm | + rerouteNASRequest +} + +RANAP-ELEMENTARY-PROCEDURES-CLASS-3 RANAP-ELEMENTARY-PROCEDURE ::= { + rAB-Assignment , + ... +} + +-- ************************************************************** +-- +-- Interface Elementary Procedures +-- +-- ************************************************************** + +iu-Release RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Iu-ReleaseCommand + SUCCESSFUL OUTCOME Iu-ReleaseComplete + PROCEDURE CODE id-Iu-Release + CRITICALITY reject +} + +relocationPreparation RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE RelocationRequired + SUCCESSFUL OUTCOME RelocationCommand + UNSUCCESSFUL OUTCOME RelocationPreparationFailure + PROCEDURE CODE id-RelocationPreparation + CRITICALITY reject +} + +relocationResourceAllocation RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE RelocationRequest + SUCCESSFUL OUTCOME RelocationRequestAcknowledge + UNSUCCESSFUL OUTCOME RelocationFailure + PROCEDURE CODE id-RelocationResourceAllocation + CRITICALITY reject +} + +relocationCancel RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE RelocationCancel + SUCCESSFUL OUTCOME RelocationCancelAcknowledge + PROCEDURE CODE id-RelocationCancel + CRITICALITY reject +} + +sRNS-ContextTransfer RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE SRNS-ContextRequest + SUCCESSFUL OUTCOME SRNS-ContextResponse + PROCEDURE CODE id-SRNS-ContextTransfer + CRITICALITY reject +} + +securityModeControl RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE SecurityModeCommand + SUCCESSFUL OUTCOME SecurityModeComplete + UNSUCCESSFUL OUTCOME SecurityModeReject + PROCEDURE CODE id-SecurityModeControl + CRITICALITY reject +} + +dataVolumeReport RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE DataVolumeReportRequest + SUCCESSFUL OUTCOME DataVolumeReport + PROCEDURE CODE id-DataVolumeReport + CRITICALITY reject +} + + +reset RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Reset + SUCCESSFUL OUTCOME ResetAcknowledge + PROCEDURE CODE id-Reset + CRITICALITY reject +} + +rAB-ReleaseRequest RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE RAB-ReleaseRequest + PROCEDURE CODE id-RAB-ReleaseRequest + CRITICALITY ignore +} + +iu-ReleaseRequest RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Iu-ReleaseRequest + PROCEDURE CODE id-Iu-ReleaseRequest + CRITICALITY ignore +} + +relocationDetect RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE RelocationDetect + PROCEDURE CODE id-RelocationDetect + CRITICALITY ignore +} + +relocationComplete RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE RelocationComplete + PROCEDURE CODE id-RelocationComplete + CRITICALITY ignore +} + +paging RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Paging + PROCEDURE CODE id-Paging + CRITICALITY ignore +} + +commonID RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE CommonID + PROCEDURE CODE id-CommonID + CRITICALITY ignore +} + +cN-InvokeTrace RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE CN-InvokeTrace + PROCEDURE CODE id-CN-InvokeTrace + CRITICALITY ignore +} + +cN-DeactivateTrace RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE CN-DeactivateTrace + PROCEDURE CODE id-CN-DeactivateTrace + CRITICALITY ignore +} + +locationReportingControl RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE LocationReportingControl + PROCEDURE CODE id-LocationReportingControl + CRITICALITY ignore +} + +locationReport RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE LocationReport + PROCEDURE CODE id-LocationReport + CRITICALITY ignore +} + +initialUE-Message RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE InitialUE-Message + PROCEDURE CODE id-InitialUE-Message + CRITICALITY ignore +} + +directTransfer RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE DirectTransfer + PROCEDURE CODE id-DirectTransfer + CRITICALITY ignore +} + +overloadControl RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Overload + PROCEDURE CODE id-OverloadControl + CRITICALITY ignore +} + +errorIndication RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE ErrorIndication + PROCEDURE CODE id-ErrorIndication + CRITICALITY ignore +} + +sRNS-DataForward RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE SRNS-DataForwardCommand + PROCEDURE CODE id-SRNS-DataForward + CRITICALITY ignore +} + +forwardSRNS-Context RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE ForwardSRNS-Context + PROCEDURE CODE id-ForwardSRNS-Context + CRITICALITY ignore +} + +rAB-Assignment RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE RAB-AssignmentRequest + OUTCOME RAB-AssignmentResponse + PROCEDURE CODE id-RAB-Assignment + CRITICALITY reject +} + +privateMessage RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE PrivateMessage + + PROCEDURE CODE id-privateMessage + CRITICALITY ignore +} + +resetResource RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE ResetResource + SUCCESSFUL OUTCOME ResetResourceAcknowledge + PROCEDURE CODE id-ResetResource + CRITICALITY reject +} + +rANAP-Relocation RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE RANAP-RelocationInformation + PROCEDURE CODE id-RANAP-Relocation + CRITICALITY ignore +} + +rAB-ModifyRequest RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE RAB-ModifyRequest + PROCEDURE CODE id-RAB-ModifyRequest + CRITICALITY ignore +} + +locationRelatedData RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE LocationRelatedDataRequest + SUCCESSFUL OUTCOME LocationRelatedDataResponse + UNSUCCESSFUL OUTCOME LocationRelatedDataFailure + PROCEDURE CODE id-LocationRelatedData + CRITICALITY reject +} + +informationTransfer RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE InformationTransferIndication + SUCCESSFUL OUTCOME InformationTransferConfirmation + UNSUCCESSFUL OUTCOME InformationTransferFailure + PROCEDURE CODE id-InformationTransfer + CRITICALITY reject +} + +uESpecificInformation RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE UESpecificInformationIndication + PROCEDURE CODE id-UESpecificInformation + CRITICALITY ignore +} + +directInformationTransfer RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE DirectInformationTransfer + PROCEDURE CODE id-DirectInformationTransfer + CRITICALITY ignore +} + +uplinkInformationExchange RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE UplinkInformationExchangeRequest + SUCCESSFUL OUTCOME UplinkInformationExchangeResponse + UNSUCCESSFUL OUTCOME UplinkInformationExchangeFailure + PROCEDURE CODE id-UplinkInformationExchange + CRITICALITY reject +} + +mBMSSessionStart RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE MBMSSessionStart + SUCCESSFUL OUTCOME MBMSSessionStartResponse + UNSUCCESSFUL OUTCOME MBMSSessionStartFailure + PROCEDURE CODE id-MBMSSessionStart + CRITICALITY reject +} + +mBMSSessionUpdate RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE MBMSSessionUpdate + SUCCESSFUL OUTCOME MBMSSessionUpdateResponse + UNSUCCESSFUL OUTCOME MBMSSessionUpdateFailure + PROCEDURE CODE id-MBMSSessionUpdate + CRITICALITY reject +} + +mBMSSessionStop RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE MBMSSessionStop + SUCCESSFUL OUTCOME MBMSSessionStopResponse + PROCEDURE CODE id-MBMSSessionStop + CRITICALITY reject +} + +mBMSUELinking RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE MBMSUELinkingRequest + OUTCOME MBMSUELinkingResponse + PROCEDURE CODE id-MBMSUELinking + CRITICALITY reject +} + +mBMSRegistration RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE MBMSRegistrationRequest + SUCCESSFUL OUTCOME MBMSRegistrationResponse + UNSUCCESSFUL OUTCOME MBMSRegistrationFailure + PROCEDURE CODE id-MBMSRegistration + CRITICALITY reject +} + +mBMSCNDe-Registration RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE MBMSCNDe-RegistrationRequest + SUCCESSFUL OUTCOME MBMSCNDe-RegistrationResponse + PROCEDURE CODE id-MBMSCNDe-Registration-Procedure + CRITICALITY reject +} + +mBMSRABEstablishmentIndication RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE MBMSRABEstablishmentIndication + PROCEDURE CODE id-MBMSRABEstablishmentIndication + CRITICALITY ignore +} + +mBMSRABRelease RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE MBMSRABReleaseRequest + SUCCESSFUL OUTCOME MBMSRABRelease + UNSUCCESSFUL OUTCOME MBMSRABReleaseFailure + PROCEDURE CODE id-MBMSRABRelease + CRITICALITY reject +} +enhancedRelocationComplete RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE EnhancedRelocationCompleteRequest + SUCCESSFUL OUTCOME EnhancedRelocationCompleteResponse + UNSUCCESSFUL OUTCOME EnhancedRelocationCompleteFailure + PROCEDURE CODE id-enhancedRelocationComplete + CRITICALITY reject +} + +enhancedRelocationCompleteConfirm RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE EnhancedRelocationCompleteConfirm + PROCEDURE CODE id-enhancedRelocationCompleteConfirm + CRITICALITY ignore +} + +rANAP-enhancedRelocation RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE RANAP-EnhancedRelocationInformationRequest + SUCCESSFUL OUTCOME RANAP-EnhancedRelocationInformationResponse + PROCEDURE CODE id-RANAPenhancedRelocation + CRITICALITY reject +} + +sRVCCPreparation RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE SRVCC-CSKeysRequest + OUTCOME SRVCC-CSKeysResponse + PROCEDURE CODE id-SRVCCPreparation + CRITICALITY reject +} + +ueRadioCapabilityMatch RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE UeRadioCapabilityMatchRequest + OUTCOME UeRadioCapabilityMatchResponse + PROCEDURE CODE id-UeRadioCapabilityMatch + CRITICALITY ignore +} + +ueRegistrationQuery RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE UeRegistrationQueryRequest + OUTCOME UeRegistrationQueryResponse + PROCEDURE CODE id-UeRegistrationQuery + CRITICALITY ignore +} + +rerouteNASRequest RANAP-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE RerouteNASRequest + PROCEDURE CODE id-RerouteNASRequest + CRITICALITY reject +} + +END diff --git a/library/ranap/RANAP_Selftests.ttcn b/library/ranap/RANAP_Selftests.ttcn new file mode 100644 index 000000000..dd72e353a --- /dev/null +++ b/library/ranap/RANAP_Selftests.ttcn @@ -0,0 +1,76 @@ +module RANAP_Selftests { + +import from RANAP_CommonDataTypes all; +import from RANAP_Constants all; +import from RANAP_Containers all; +import from RANAP_IEs all; +import from RANAP_PDU_Contents all; +import from RANAP_PDU_Descriptions all; +import from RANAP_Types all; + +type component test_CT { +}; + +const octetstring c_InitUE_CM_SRV_REQ := '001340400000060003400100000f40060046f3120064003a40080046f312006400000010400e0d052471034f188005f407000008004f40030000000056400546f312000f'O; +const octetstring c_CommonId := '000f4010000001001740095046239134707780f3'O; +const octetstring c_DT_CM_SRV_ACK := '0014400f000002003b40010000104003020521'O; +const octetstring c_DT_MO_SETUP := '00144019000001001040121103450404600200815e0381654215021101'O; +const octetstring c_DT_MT_CALL_PROC := '00144010000002003b4001000010400403830280'O; +const octetstring c_RAB_AssReq := '0000404700000100360040000001003500363802d0012fa7202fa80000f44c080a028000514000272028140067400000222814003c40000000503d0800101faf026ed64047d40000400100'O; +const octetstring c_RAB_AssResp := '6000001a000001003440130000010033400c60087c0a80242240e2040000'O; +const octetstring c_IuRelReq := '000b4009000001000440020340'O; +const octetstring c_ResetResource := '001b001c00000300030001000004400142004d400b000001004e000400000000'O; +const octetstring c_IuRelCmd := '00014009000001000400020340'O; + +type record EnDecTestcase { + charstring name, + octetstring encoded +}; + +type record of EnDecTestcase EnDecTestcases; + +const EnDecTestcases test_data := { + { + name := "InitialUE_CM_SRV_REQ", + encoded := c_InitUE_CM_SRV_REQ + }, { + name := "CommonID", + encoded := c_CommonId + }, { + name := "DirectTransfer CM SERVICE ACK", + encoded := c_DT_CM_SRV_ACK + }, { + name := "DirectTransfer MO CC SETUP", + encoded := c_DT_MO_SETUP + }, { + name := "DirectTransfer MT CC CALL PROCEEDING", + encoded := c_DT_MT_CALL_PROC + }, { + name := "RAB Assignment Request", + encoded := c_RAB_AssReq + }, { + name := "RAB Assignment Response", + encoded := c_RAB_AssResp + }, { + name := "Iu Release Request", + encoded := c_IuRelReq + }, { + name := "Reset Resource", + encoded := c_ResetResource + }, { + name := "Iu Release Command", + encoded := c_IuRelCmd + } +}; + +testcase TC_foo() runs on test_CT { + var integer i; + for (i := 0; i < lengthof(test_data); i := i+1) { + var EnDecTestcase tc := test_data[i]; + var RANAP_PDU pdu := dec_RANAP_PDU(tc.encoded); + log(tc.name, " decoded: ", pdu); + } + setverdict(pass); +} + +} diff --git a/library/ranap/RANAP_Templates.ttcn b/library/ranap/RANAP_Templates.ttcn new file mode 100644 index 000000000..e55f2125b --- /dev/null +++ b/library/ranap/RANAP_Templates.ttcn @@ -0,0 +1,1427 @@ +module RANAP_Templates { + +import from General_Types all; + +import from RANAP_IEs all; +import from RANAP_CommonDataTypes all; +import from RANAP_Constants all; +import from RANAP_Containers all; +import from RANAP_PDU_Contents all; +import from RANAP_PDU_Descriptions all; + +template (value) Cause ts_RanapCause_om_intervention := { misc := 113 }; + +/***************************************************************************************************** + * Reset + *****************************************************************************************************/ + +template (value) RANAP_PDU +ts_RANAP_Reset(template (value) Cause cause, template (value) CN_DomainIndicator dom, + template (omit) Reset.protocolExtensions exts := omit) := { + initiatingMessage := { + procedureCode := id_Reset, + criticality := reject, + value_ := { + Reset := { + protocolIEs := { + { + id := id_Cause, + criticality := ignore, + value_ := { + cause := cause + } + }, { + id := id_CN_DomainIndicator, + criticality := reject, + value_ := { + cN_DomainIndicator := dom + } + } + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_Reset(template Cause cause := ?, template CN_DomainIndicator dom := ?, + template Reset.protocolExtensions exts := *) := { + initiatingMessage := { + procedureCode := id_Reset, + criticality := reject, + value_ := { + Reset := { + protocolIEs := { + { + id := id_Cause, + criticality := ignore, + value_ := { + cause := cause + } + }, { + id := id_CN_DomainIndicator, + criticality := reject, + value_ := { + cN_DomainIndicator := dom + } + }, * + }, + protocolExtensions := exts + } + } + } +} + +template (value) RANAP_PDU +ts_RANAP_ResetAck(template (value) CN_DomainIndicator dom, + template (omit) ResetAcknowledge.protocolExtensions exts := omit) := { + successfulOutcome := { + procedureCode := id_Reset, + criticality := reject, + value_ := { + ResetAcknowledge := { + protocolIEs := { + { + id := id_CN_DomainIndicator, + criticality := reject, + value_ := { + cN_DomainIndicator := dom + } + } + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_ResetAck(template CN_DomainIndicator dom := ?, + template ResetAcknowledge.protocolExtensions exts := *) := { + successfulOutcome := { + procedureCode := id_Reset, + criticality := reject, + value_ := { + ResetAcknowledge := { + protocolIEs := { + { + id := id_CN_DomainIndicator, + criticality := reject, + value_ := { + cN_DomainIndicator := dom + } + }, * + }, + protocolExtensions := exts + } + } + } +} + +/***************************************************************************************************** + * Security Mode Control + *****************************************************************************************************/ + +template (value) RANAP_PDU +ts_RANAP_SecurityModeCmd(template (value) PermittedIntegrityProtectionAlgorithms uia_algs, + template (value) IntegrityProtectionKey uia_key, + template (value) KeyStatus key_sts, + template (omit) SecurityModeCommand.protocolExtensions exts := omit) := { + initiatingMessage := { + procedureCode := id_SecurityModeControl, + criticality := reject, + value_ := { + securityModeCommand := { + protocolIEs := { + { + id := id_IntegrityProtectionInformation, + criticality := reject, + value_ := { + integrityProtectionInformation := { + permittedAlgorithms := uia_algs, + key := uia_key, + iE_Extensions := omit + } + } + }, { + id := id_KeyStatus, + criticality := reject, + value_ := { + keyStatus := key_sts + } + } + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_SecurityModeCmd(template PermittedIntegrityProtectionAlgorithms uia_algs, + template IntegrityProtectionKey uia_key, + template KeyStatus key_sts, + template SecurityModeCommand.protocolExtensions exts := *) := { + initiatingMessage := { + procedureCode := id_SecurityModeControl, + criticality := reject, + value_ := { + securityModeCommand := { + protocolIEs := { + { + id := id_IntegrityProtectionInformation, + criticality := reject, + value_ := { + integrityProtectionInformation := { + permittedAlgorithms := uia_algs, + key := uia_key, + iE_Extensions := * + } + } + }, { + id := id_KeyStatus, + criticality := reject, + value_ := { + keyStatus := key_sts + } + } + }, + protocolExtensions := exts + } + } + } +} + +template (value) RANAP_PDU +ts_RANAP_SecurityModeCmdEnc(template (value) PermittedIntegrityProtectionAlgorithms uia_algs, + template (value) IntegrityProtectionKey uia_key, + template (value) KeyStatus key_sts, + template (value) PermittedEncryptionAlgorithms uea_algs, + template (value) EncryptionKey uea_key, + template (omit) SecurityModeCommand.protocolExtensions exts := omit) := { + initiatingMessage := { + procedureCode := id_SecurityModeControl, + criticality := reject, + value_ := { + securityModeCommand := { + protocolIEs := { + { + id := id_IntegrityProtectionInformation, + criticality := reject, + value_ := { + integrityProtectionInformation := { + permittedAlgorithms := uia_algs, + key := uia_key, + iE_Extensions := omit + } + } + }, { + id := id_EncryptionInformation, + criticality := ignore, + value_ := { + encryptionInformation := { + permittedAlgorithms := uea_algs, + key := uea_key, + iE_Extensions := omit + } + } + }, { + id := id_KeyStatus, + criticality := reject, + value_ := { + keyStatus := key_sts + } + } + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_SecurityModeCmdEnc(template PermittedIntegrityProtectionAlgorithms uia_algs, + template IntegrityProtectionKey uia_key, + template KeyStatus key_sts, + template PermittedEncryptionAlgorithms uea_algs, + template EncryptionKey uea_key, + template SecurityModeCommand.protocolExtensions exts := *) := { + initiatingMessage := { + procedureCode := id_SecurityModeControl, + criticality := reject, + value_ := { + securityModeCommand := { + protocolIEs := { + { + id := id_IntegrityProtectionInformation, + criticality := reject, + value_ := { + integrityProtectionInformation := { + permittedAlgorithms := uia_algs, + key := uia_key, + iE_Extensions := * + } + } + }, { + id := id_EncryptionInformation, + criticality := ignore, + value_ := { + encryptionInformation := { + permittedAlgorithms := uea_algs, + key := uea_key, + iE_Extensions := * + } + } + }, { + id := id_KeyStatus, + criticality := reject, + value_ := { + keyStatus := key_sts + } + } + }, + protocolExtensions := exts + } + } + } +} + +template (value) RANAP_PDU +ts_RANAP_SecurityModeComplete(template (value) IntegrityProtectionAlgorithm uia_alg, + template (omit) SecurityModeComplete.protocolExtensions exts := omit) := { + successfulOutcome := { + procedureCode := id_SecurityModeControl, + criticality := reject, + value_ := { + securityModeComplete := { + protocolIEs := { + { + id := id_ChosenIntegrityProtectionAlgorithm, + criticality := reject, + value_ := { + chosenIntegrityProtectionAlgorithm := uia_alg + } + } + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_SecurityModeComplete(template IntegrityProtectionAlgorithm uia_alg, + template SecurityModeComplete.protocolExtensions exts := *) := { + successfulOutcome := { + procedureCode := id_SecurityModeControl, + criticality := reject, + value_ := { + securityModeComplete := { + protocolIEs := { + { + id := id_ChosenIntegrityProtectionAlgorithm, + criticality := reject, + value_ := { + chosenIntegrityProtectionAlgorithm := uia_alg + } + } + }, + protocolExtensions := exts + } + } + } +} + +template (value) RANAP_PDU +ts_RANAP_SecurityModeCompleteEnc(template (value) IntegrityProtectionAlgorithm uia_alg, + template (value) EncryptionAlgorithm uea_alg, + template (omit) SecurityModeComplete.protocolExtensions exts := omit) := { + successfulOutcome := { + procedureCode := id_SecurityModeControl, + criticality := reject, + value_ := { + securityModeComplete := { + protocolIEs := { + { + id := id_ChosenIntegrityProtectionAlgorithm, + criticality := reject, + value_ := { + chosenIntegrityProtectionAlgorithm := uia_alg + } + }, { + id := id_ChosenEncryptionAlgorithm, + criticality := ignore, + value_ := { + chosenEncryptionAlgorithm := uea_alg + } + } + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_SecurityModeCompleteEnc(template IntegrityProtectionAlgorithm uia_alg, + template EncryptionAlgorithm uea_alg, + template SecurityModeComplete.protocolExtensions exts := *) := { + successfulOutcome := { + procedureCode := id_SecurityModeControl, + criticality := reject, + value_ := { + securityModeComplete := { + protocolIEs := { + { + id := id_ChosenIntegrityProtectionAlgorithm, + criticality := reject, + value_ := { + chosenIntegrityProtectionAlgorithm := uia_alg + } + }, { + id := id_ChosenEncryptionAlgorithm, + criticality := ignore, + value_ := { + chosenEncryptionAlgorithm := uea_alg + } + } + }, + protocolExtensions := exts + } + } + } +} + +template (value) RANAP_PDU +ts_RANAP_SecurityModeReject(template (value) Cause cause, + template (omit) SecurityModeReject.protocolExtensions exts := omit) := { + unsuccessfulOutcome := { + procedureCode := id_SecurityModeControl, + criticality := reject, + value_ := { + securityModeReject := { + protocolIEs := { + { + id := id_Cause, + criticality := ignore, + value_ := { + cause := cause + } + } + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_SecurityModeReject(template Cause cause, + template SecurityModeReject.protocolExtensions exts := *) := { + unsuccessfulOutcome := { + procedureCode := id_SecurityModeControl, + criticality := reject, + value_ := { + securityModeReject := { + protocolIEs := { + { + id := id_Cause, + criticality := ignore, + value_ := { + cause := cause + } + } + }, + protocolExtensions := exts + } + } + } +} + + + +/***************************************************************************************************** + * Iu Release Request + *****************************************************************************************************/ + +template (value) RANAP_PDU +ts_RANAP_IuReleaseRequest(template (value) Cause cause, + template (omit) Iu_ReleaseRequest.protocolExtensions exts := omit) := { + initiatingMessage := { + procedureCode := id_Iu_ReleaseRequest, + criticality := ignore, + value_ := { + iu_ReleaseRequest := { + protocolIEs := { + { + id := id_Cause, + criticality := reject, + value_ := { + cause := cause + } + } + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_IuReleaseRequest(template Cause cause, + template Iu_ReleaseRequest.protocolExtensions exts := *) := { + initiatingMessage := { + procedureCode := id_Iu_ReleaseRequest, + criticality := ignore, + value_ := { + iu_ReleaseRequest := { + protocolIEs := { + { + id := id_Cause, + criticality := reject, + value_ := { + cause := cause + } + } + }, + protocolExtensions := exts + } + } + } +} + +/***************************************************************************************************** + * RAB Release + *****************************************************************************************************/ + +template (value) RANAP_PDU +ts_RANAP_RabReleaseRequest(template (value) RAB_ID rab_id, template (value) Cause cause, + template (omit) RAB_ReleaseRequest.protocolExtensions exts := omit) := { + initiatingMessage := { + procedureCode := id_RAB_ReleaseRequest, + criticality := ignore, + value_ := { + rAB_ReleaseRequest := { + protocolIEs := { + { + id := id_RAB_ReleaseList, + criticality := ignore, + value_ := { + rAB_ReleaseList := {{ + { + id := id_RAB_ReleaseItem, + criticality := ignore, + value_ := { + rAB_ReleaseItem := { + rAB_ID := rab_id, + cause := cause, + iE_Extensions := omit + } + } + } + }} + } + } + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_RabReleaseRequest(template RAB_ID rab_id, template Cause cause, + template RAB_ReleaseRequest.protocolExtensions exts := *) := { + initiatingMessage := { + procedureCode := id_RAB_ReleaseRequest, + criticality := ignore, + value_ := { + rAB_ReleaseRequest := { + protocolIEs := { + { + id := id_RAB_ReleaseList, + criticality := ignore, + value_ := { + rAB_ReleaseList := {{ + { + id := id_RAB_ReleaseItem, + criticality := ignore, + value_ := { + rAB_ReleaseItem := { + rAB_ID := rab_id, + cause := cause, + iE_Extensions := * + } + } + } + }} + } + } + }, + protocolExtensions := exts + } + } + } +} + + +/***************************************************************************************************** + * Iu Release + *****************************************************************************************************/ + +template (value) RANAP_PDU +ts_RANAP_IuReleaseCommand(template (value) Cause cause, + template (omit) Iu_ReleaseCommand.protocolExtensions exts := omit) := { + initiatingMessage := { + procedureCode := id_Iu_Release, + criticality := reject, + value_ := { + iu_ReleaseCommand := { + protocolIEs := { + { + id := id_Cause, + criticality := ignore, + value_ := { + cause := cause + } + } + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_IuReleaseCommand(template Cause cause, + template Iu_ReleaseCommand.protocolExtensions exts := *) := { + initiatingMessage := { + procedureCode := id_Iu_Release, + criticality := reject, + value_ := { + iu_ReleaseCommand := { + protocolIEs := { + { + id := id_Cause, + criticality := ignore, + value_ := { + cause := cause + } + } + }, + protocolExtensions := exts + } + } + } +} + +template (value) RANAP_PDU +ts_RANAP_IuReleaseComplete(template (omit) Iu_ReleaseComplete.protocolIEs ies := {}, + template (omit) Iu_ReleaseComplete.protocolExtensions exts := omit) := { + successfulOutcome := { + procedureCode := id_Iu_Release, + criticality := reject, + value_ := { + iu_ReleaseComplete := { + protocolIEs := ies, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_IuReleaseComplete(template Iu_ReleaseComplete.protocolIEs ies := *, + template Iu_ReleaseComplete.protocolExtensions exts := *) := { + successfulOutcome := { + procedureCode := id_Iu_Release, + criticality := reject, + value_ := { + iu_ReleaseComplete:= { + protocolIEs := ies, + protocolExtensions := exts + } + } + } +} + +/***************************************************************************************************** + * Paging + *****************************************************************************************************/ + +template (value) RANAP_PDU +ts_RANAP_Paging(template (value) CN_DomainIndicator dom, template (value) IMSI imsi, + template (omit) TemporaryUE_ID temp_id := omit, + template (omit) Paging.protocolExtensions exts := omit) := { + initiatingMessage := { + procedureCode := id_Paging, + criticality := ignore, + value_ := { + paging := { + protocolIEs := { + { + id := id_CN_DomainIndicator, + criticality := ignore, + value_ := { + cN_DomainIndicator := dom + } + }, { + id := id_PermanentNAS_UE_ID, + criticality := ignore, + value_ := { + permanentNAS_UE_ID := { + iMSI := imsi + } + } + } + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_Paging(template CN_DomainIndicator dom, template IMSI imsi, + template Paging.protocolExtensions exts := *) := { + initiatingMessage := { + procedureCode := id_Paging, + criticality := ignore, + value_ := { + paging := { + protocolIEs := { + { + id := id_CN_DomainIndicator, + criticality := ignore, + value_ := { + cN_DomainIndicator := dom + } + }, { + id := id_PermanentNAS_UE_ID, + criticality := ignore, + value_ := { + permanentNAS_UE_ID := { + iMSI := imsi + } + } + }, * + }, + protocolExtensions := exts + } + } + } +} + + + +/***************************************************************************************************** + * Common ID + *****************************************************************************************************/ + +template (value) RANAP_PDU +ts_RANAP_CommonId(template (value) IMSI imsi, + template (omit) CommonID.protocolExtensions exts := omit) := { + initiatingMessage := { + procedureCode := id_CommonID, + criticality := ignore, + value_ := { + commonID := { + protocolIEs := { + { + id := id_PermanentNAS_UE_ID, + criticality := ignore, + value_ := { + permanentNAS_UE_ID := { + iMSI := imsi + } + } + } + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_CommonId(template IMSI imsi, + template CommonID.protocolExtensions exts := *) := { + initiatingMessage := { + procedureCode := id_CommonID, + criticality := ignore, + value_ := { + commonID := { + protocolIEs := { + { + id := id_PermanentNAS_UE_ID, + criticality := ignore, + value_ := { + permanentNAS_UE_ID := { + iMSI := imsi + } + } + } + }, + protocolExtensions := exts + } + } + } +} + +/***************************************************************************************************** + * Initial UE Message + *****************************************************************************************************/ + +template (value) RANAP_PDU +ts_RANAP_initialUE_CS(template (value) LAI lai, template (value) SAI sai, + template (value) NAS_PDU nas, + template (value) IuSignallingConnectionIdentifier sigc_id, + template (value) GlobalRNC_ID grnc_id, + template (omit) InitialUE_Message.protocolExtensions exts := omit) := { + initiatingMessage := { + procedureCode := id_InitialUE_Message, + criticality := ignore, + value_ := { + initialUE_Message := { + protocolIEs := { + { + id := id_CN_DomainIndicator, + criticality := ignore, + value_ := { + cN_DomainIndicator := cs_domain + } + }, { + id := id_LAI, + criticality := ignore, + value_ := { + lAI := lai + } + }, { + id := id_SAI, + criticality := ignore, + value_ := { + sAI := sai + } + }, { + id := id_NAS_PDU, + criticality := ignore, + value_ := { + nAS_PDU := nas + } + }, { + id := id_IuSigConId, + criticality := ignore, + value_ := { + iuSignallingConnectionIdentifier := sigc_id + } + }, { + id := id_GlobalRNC_ID, + criticality := ignore, + value_ := { + globalRNC_ID := grnc_id + } + } + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_initialUE_CS(template LAI lai, template SAI sai, + template NAS_PDU nas, + template IuSignallingConnectionIdentifier sigc_id, + template GlobalRNC_ID grnc_id, + template InitialUE_Message.protocolExtensions exts := *) := { + initiatingMessage := { + procedureCode := id_InitialUE_Message, + criticality := ignore, + value_ := { + initialUE_Message := { + protocolIEs := { + { + id := id_CN_DomainIndicator, + criticality := ignore, + value_ := { + cN_DomainIndicator := cs_domain + } + }, { + id := id_LAI, + criticality := ignore, + value_ := { + lAI := lai + } + }, { + id := id_SAI, + criticality := ignore, + value_ := { + sAI := sai + } + }, { + id := id_NAS_PDU, + criticality := ignore, + value_ := { + nAS_PDU := nas + } + }, { + id := id_IuSigConId, + criticality := ignore, + value_ := { + iuSignallingConnectionIdentifier := sigc_id + } + }, { + id := id_GlobalRNC_ID, + criticality := ignore, + value_ := { + globalRNC_ID := grnc_id + } + } + }, + protocolExtensions := exts + } + } + } +} + +template (value) RANAP_PDU +ts_RANAP_initialUE_PS(template (value) LAI lai, template (value) RAC rac, template (value) SAI sai, + template (value) NAS_PDU nas, + template (value) IuSignallingConnectionIdentifier sigc_id, + template (value) GlobalRNC_ID grnc_id, + template (omit) InitialUE_Message.protocolExtensions exts := omit) := { + initiatingMessage := { + procedureCode := id_InitialUE_Message, + criticality := ignore, + value_ := { + initialUE_Message := { + protocolIEs := { + { + id := id_CN_DomainIndicator, + criticality := ignore, + value_ := { + cN_DomainIndicator := ps_domain + } + }, { + id := id_LAI, + criticality := ignore, + value_ := { + lAI := lai + } + }, { + id := id_RAC, + criticality := ignore, + value_ := { + rAC := rac + } + }, { + id := id_SAI, + criticality := ignore, + value_ := { + sAI := sai + } + }, { + id := id_NAS_PDU, + criticality := ignore, + value_ := { + nAS_PDU := nas + } + }, { + id := id_IuSigConId, + criticality := ignore, + value_ := { + iuSignallingConnectionIdentifier := sigc_id + } + }, { + id := id_GlobalRNC_ID, + criticality := ignore, + value_ := { + globalRNC_ID := grnc_id + } + } + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_initialUE_PS(template LAI lai, template RAC rac, template SAI sai, + template NAS_PDU nas, + template IuSignallingConnectionIdentifier sigc_id, + template GlobalRNC_ID grnc_id, + template InitialUE_Message.protocolExtensions exts := *) := { + initiatingMessage := { + procedureCode := id_InitialUE_Message, + criticality := ignore, + value_ := { + initialUE_Message := { + protocolIEs := { + { + id := id_CN_DomainIndicator, + criticality := ignore, + value_ := { + cN_DomainIndicator := ps_domain + } + }, { + id := id_LAI, + criticality := ignore, + value_ := { + lAI := lai + } + }, { + id := id_RAC, + criticality := ignore, + value_ := { + rAC := rac + } + }, { + id := id_SAI, + criticality := ignore, + value_ := { + sAI := sai + } + }, { + id := id_NAS_PDU, + criticality := ignore, + value_ := { + nAS_PDU := nas + } + }, { + id := id_IuSigConId, + criticality := ignore, + value_ := { + iuSignallingConnectionIdentifier := sigc_id + } + }, { + id := id_GlobalRNC_ID, + criticality := ignore, + value_ := { + globalRNC_ID := grnc_id + } + } + }, + protocolExtensions := exts + } + } + } +} + +/***************************************************************************************************** + * Direct Transfer + *****************************************************************************************************/ + +template (value) RANAP_PDU +ts_RANAP_DirectTransfer(template (value) NAS_PDU nas, + /* template DirectTransfer.protocolIEs ies := {}, */ + template (omit) DirectTransfer.protocolExtensions exts := omit) := { + initiatingMessage := { + procedureCode := id_DirectTransfer, + criticality := ignore, + value_ := { + directTransfer := { + protocolIEs := { + { + id := id_NAS_PDU, + criticality := ignore, + value_ := { + nAS_PDU := nas + } + } + /* LAI, RAC, SAI */ + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_DirectTransfer(template NAS_PDU nas, + template SAPI sapi := sapi_0, + /* template DirectTransfer.protocolIEs ies := {}, */ + template DirectTransfer.protocolExtensions exts := *) := { + initiatingMessage := { + procedureCode := id_DirectTransfer, + criticality := ignore, + value_ := { + directTransfer := { + protocolIEs := { + { + id := id_NAS_PDU, + criticality := ignore, + value_ := { + nAS_PDU := nas + } + }, + * /* LAI, RAC, SAI */ + }, + protocolExtensions := exts + } + } + } +} + +template (value) RANAP_PDU +ts_RANAP_DirectTransferSAPI(template (value) NAS_PDU nas, + template (value) SAPI sapi := sapi_0, + /* template DirectTransfer.protocolIEs ies := {}, */ + template (omit) DirectTransfer.protocolExtensions exts := omit) := { + initiatingMessage := { + procedureCode := id_DirectTransfer, + criticality := ignore, + value_ := { + directTransfer := { + protocolIEs := { + { + id := id_NAS_PDU, + criticality := ignore, + value_ := { + nAS_PDU := nas + } + }, + /* LAI, RAC, SAI */ + { + id := id_SAPI, + criticality := ignore, + value_ := { + sAPI := sapi + } + } + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_DirectTransferSAPI(template NAS_PDU nas, + template SAPI sapi := sapi_0, + /* template DirectTransfer.protocolIEs ies := {}, */ + template DirectTransfer.protocolExtensions exts := *) := { + initiatingMessage := { + procedureCode := id_DirectTransfer, + criticality := ignore, + value_ := { + directTransfer := { + protocolIEs := { + { + id := id_NAS_PDU, + criticality := ignore, + value_ := { + nAS_PDU := nas + } + }, + *, /* LAI, RAC, SAI */ + { + id := id_SAPI, + criticality := ignore, + value_ := { + sAPI := sapi + } + } + }, + protocolExtensions := exts + } + } + } +} + + +/***************************************************************************************************** + * RAB Assignment Request + *****************************************************************************************************/ + +template (value) RAB_Parameters ts_RabParams := { + trafficClass := conversational, + rAB_AsymmetryIndicator := symmetric_bidirectional, + maxBitrate := { 12200 }, + guaranteedBitRate := { 12200 }, + deliveryOrder := delivery_order_requested, + maxSDU_Size := 244, + sDU_Parameters := { + { + sDU_ErrorRatio := { mantissa := 1, exponent := 5, iE_Extensions := omit }, + residualBitErrorRatio := { mantissa := 1, exponent := 6, iE_Extensions := omit }, + deliveryOfErroneousSDU := yes, + sDU_FormatInformationParameters := { + { + subflowSDU_Size := 81, + rAB_SubflowCombinationBitRate := omit, + iE_Extensions := omit + }, { + subflowSDU_Size := 39, + rAB_SubflowCombinationBitRate := omit, + iE_Extensions := omit + } + }, + iE_Extensions := omit + }, { + sDU_ErrorRatio := omit, + residualBitErrorRatio := { mantissa := 1, exponent := 3, iE_Extensions := omit }, + deliveryOfErroneousSDU := no_error_detection_consideration, + sDU_FormatInformationParameters := { + { + subflowSDU_Size := 103, + rAB_SubflowCombinationBitRate := omit, + iE_Extensions := omit + }, { + subflowSDU_Size := 0, + rAB_SubflowCombinationBitRate := omit, + iE_Extensions := omit + } + }, + iE_Extensions := omit + }, { + sDU_ErrorRatio := omit, + residualBitErrorRatio := { mantissa := 5, exponent := 3, iE_Extensions := omit }, + deliveryOfErroneousSDU := no_error_detection_consideration, + sDU_FormatInformationParameters := { + { + subflowSDU_Size := 60, + rAB_SubflowCombinationBitRate := omit, + iE_Extensions := omit + }, { + subflowSDU_Size := 0, + rAB_SubflowCombinationBitRate := omit, + iE_Extensions := omit + } + }, + iE_Extensions := omit + } + }, + transferDelay := 80, + trafficHandlingPriority := omit, + allocationOrRetentionPriority := { + priorityLevel := 15, + pre_emptionCapability := shall_not_trigger_pre_emption, + pre_emptionVulnerability := pre_emptable, + queuingAllowed := queueing_not_allowed, + iE_Extensions := omit + }, + sourceStatisticsDescriptor := omit, + relocationRequirement := omit, + iE_Extensions := omit +} + +template (value) UserPlaneInformation ts_UserPlaneInfo := { + userPlaneMode := support_mode_for_predefined_SDU_sizes, + uP_ModeVersions := '0000000000000010'B, + iE_Extensions := omit +} + +template (value) TransportLayerInformation ts_TLI(template (value) TransportLayerAddress tla, + template (value) BindingID binding_id) := { + transportLayerAddress := tla, + iuTransportAssociation := { + bindingID := binding_id + }, + iE_Extensions := omit +} +template TransportLayerInformation tr_TLI(template TransportLayerAddress tla, + template BindingID binding_id) := { + transportLayerAddress := tla, + iuTransportAssociation := { + bindingID := binding_id + }, + iE_Extensions := * +} + +template (value) RAB_SetupOrModifyList ts_RAB_SML(template (value) RAB_ID rab_id, + template (value) TransportLayerAddress tla, + template (value) BindingID binding_id) := { { + { + id := id_RAB_SetupOrModifyItem, + firstCriticality := reject, + firstValue := { + rAB_SetupOrModifyItemFirst := { + rAB_ID := rab_id, + nAS_SynchronisationIndicator := omit, + rAB_Parameters := ts_RabParams, + userPlaneInformation := ts_UserPlaneInfo, + transportLayerInformation := ts_TLI(tla, binding_id), + service_Handover := omit, + iE_Extensions := omit + } + }, + secondCriticality := ignore, + secondValue := { + rAB_SetupOrModifyItemSecond := { + pDP_TypeInformation := omit, + dataVolumeReportingIndication := omit, + dl_GTP_PDU_SequenceNumber := omit, + ul_GTP_PDU_SequenceNumber := omit, + dl_N_PDU_SequenceNumber := omit, + ul_N_PDU_SequenceNumber := omit, + iE_Extensions := omit + } + } + } +} } +template RAB_SetupOrModifyList tr_RAB_SML(template RAB_ID rab_id, + template TransportLayerAddress tla, + template BindingID binding_id) := { { + { + id := id_RAB_SetupOrModifyItem, + firstCriticality := reject, + firstValue := { + rAB_SetupOrModifyItemFirst := { + rAB_ID := rab_id, + nAS_SynchronisationIndicator := *, + rAB_Parameters := ts_RabParams, + userPlaneInformation := ts_UserPlaneInfo, + transportLayerInformation := tr_TLI(tla, binding_id), + service_Handover := *, + iE_Extensions := * + } + }, + secondCriticality := ignore, + secondValue := { + rAB_SetupOrModifyItemSecond := { + pDP_TypeInformation := omit, + dataVolumeReportingIndication := omit, + dl_GTP_PDU_SequenceNumber := omit, + ul_GTP_PDU_SequenceNumber := omit, + dl_N_PDU_SequenceNumber := omit, + ul_N_PDU_SequenceNumber := omit, + iE_Extensions := omit + } + } + } +} } + + +template (value) RANAP_PDU +ts_RANAP_RabAssReq(template (value) RAB_SetupOrModifyList rab_sml, + template (omit) RAB_AssignmentRequest.protocolExtensions exts := omit) := { + initiatingMessage := { + procedureCode := id_RAB_Assignment, + criticality := reject, + value_ := { + rAB_AssignmentRequest := { + protocolIEs := { + { + id := id_RAB_SetupOrModifyList, + criticality := reject, + value_ := { + rAB_SetupOrModifyList := rab_sml + } + } + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_RabAssReq(template RAB_SetupOrModifyList rab_sml, + template RAB_AssignmentRequest.protocolExtensions exts := *) := { + initiatingMessage := { + procedureCode := id_RAB_Assignment, + criticality := reject, + value_ := { + rAB_AssignmentRequest := { + protocolIEs := { + { + id := id_RAB_SetupOrModifyList, + criticality := reject, + value_ := { + rAB_SetupOrModifyList := rab_sml + } + } + }, + protocolExtensions := exts + } + } + } +} + + +template (value) RANAP_PDU +ts_RANAP_RabAssResp(template (value) RAB_SetupOrModifiedList rab_sml, + template (omit) RAB_AssignmentResponse.protocolExtensions exts := omit) := { + outcome := { + procedureCode := id_RAB_Assignment, + criticality := reject, + value_ := { + rAB_AssignmentResponse := { + protocolIEs := { + { + id := id_RAB_SetupOrModifiedList, + criticality := ignore, + value_ := { + rAB_SetupOrModifiedList := rab_sml + } + } + /* RAB-ReleasedList */ + /* RAB-QueuedList */ + /* RAB-FailedList */ + /* RAB-ReleaseFailedList */ + }, + protocolExtensions := exts + } + } + } +} +template RANAP_PDU +tr_RANAP_RabAssResp(template RAB_SetupOrModifiedList rab_sml, + template RAB_AssignmentResponse.protocolExtensions exts := *) := { + outcome := { + procedureCode := id_RAB_Assignment, + criticality := reject, + value_ := { + rAB_AssignmentResponse := { + protocolIEs := { + { + id := id_RAB_SetupOrModifiedList, + criticality := ignore, + value_ := { + rAB_SetupOrModifiedList := rab_sml + } + }, * + /* RAB-ReleasedList */ + /* RAB-QueuedList */ + /* RAB-FailedList */ + /* RAB-ReleaseFailedList */ + }, + protocolExtensions := exts + } + } + } +} + + +/***************************************************************************************************** + * + *****************************************************************************************************/ + +/* extract the L3 (NAS) from a given RANAP message */ +function f_ranap_extract_l3(RANAP_PDU ranap) return template (omit) octetstring +{ + var integer i; + + if (match(ranap, tr_RANAP_initialUE_CS(?, ?, ?, ?, ?)) or + match(ranap, tr_RANAP_initialUE_PS(?, ?, ?, ?, ?, ?)) ) { + var InitialUE_Message.protocolIEs ies := ranap.initiatingMessage.value_.initialUE_Message.protocolIEs; + for (i := 0; i < lengthof(ies); i := i+1) { + if (ies[i].id == id_NAS_PDU) { + return ies[i].value_.nAS_PDU; + } + } + } else if (match(ranap, tr_RANAP_DirectTransfer(?, ?))) { + var DirectTransfer.protocolIEs ies := ranap.initiatingMessage.value_.directTransfer.protocolIEs; + for (i := 0; i < lengthof(ies); i := i+1) { + if (ies[i].id == id_NAS_PDU) { + return ies[i].value_.nAS_PDU; + } + } + } else { + /* relocationInformation not supported yet*/ + } + return omit; +} + +function f_ranap_extract_sapi(RANAP_PDU ranap) return template (omit) SAPI +{ + var integer i; + + /* InitialUE message has no SAPI */ + if (match(ranap, tr_RANAP_DirectTransfer(?, ?))) { + var DirectTransfer.protocolIEs ies := ranap.initiatingMessage.value_.directTransfer.protocolIEs; + for (i := 0; i < lengthof(ies); i := i+1) { + if (ies[i].id == id_SAPI) { + return ies[i].value_.sAPI; + } + } + } + return omit; +} + + +} diff --git a/library/ranap/RANAP_Types.ttcn b/library/ranap/RANAP_Types.ttcn new file mode 100644 index 000000000..2e40abaea --- /dev/null +++ b/library/ranap/RANAP_Types.ttcn @@ -0,0 +1,7 @@ +module RANAP_Types { + + import from RANAP_PDU_Descriptions language "ASN.1:1997" all; + + external function enc_RANAP_PDU(in RANAP_PDU pdu) return octetstring; + external function dec_RANAP_PDU(in octetstring stream) return RANAP_PDU; +} diff --git a/library/ranap/regen_makefile.sh b/library/ranap/regen_makefile.sh new file mode 100755 index 000000000..0ae1cfd30 --- /dev/null +++ b/library/ranap/regen_makefile.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +FILES="*.asn *.ttcn RANAP_EncDec.cc" + +../../regen-makefile.sh $FILES + +sed -i -e '/^CPPFLAGS/ s/$/ `pkg-config --cflags libfftranscode`/' Makefile +sed -i -e '/^LDFLAGS/ s/$/ `pkg-config --libs libfftranscode`/' Makefile +sed -i -e '/^LINUX_LIBS/ s/$/ `pkg-config --libs libfftranscode`/' Makefile diff --git a/library/rua/RUA_CommonDataTypes.asn b/library/rua/RUA_CommonDataTypes.asn new file mode 100644 index 000000000..4212bb57d --- /dev/null +++ b/library/rua/RUA_CommonDataTypes.asn @@ -0,0 +1,53 @@ +-- RUA-CommonDataTypes.asn +-- +-- 3GPP TS 25.468 V9.1.0 (2010-03) +-- http://www.3gpp.org/ftp/Specs/html-info/25468.htm +-- +-- 9.3.5 Common definitions +-- +-- ************************************************************** +-- +-- Common definitions +-- +-- ************************************************************** + +RUA-CommonDataTypes { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) rua(5) version1 (1) rUA-CommonDataTypes (3) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +-- ************************************************************** +-- +-- Extension constants +-- +-- ************************************************************** + +maxPrivateIEs INTEGER ::= 65535 +maxProtocolExtensions INTEGER ::= 65535 +maxProtocolIEs INTEGER ::= 65535 + +-- ************************************************************** +-- +-- Common Data Types +-- +-- ************************************************************** +Criticality ::= ENUMERATED { reject, ignore, notify } + +Presence ::= ENUMERATED { optional, conditional, mandatory } + + +ProcedureCode ::= INTEGER (0..255) + +PrivateIE-ID ::= CHOICE { + local INTEGER (0..65535), + global OBJECT IDENTIFIER +} + +ProtocolIE-ID ::= INTEGER (0..maxProtocolIEs) + +TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessful-outcome } + +END diff --git a/library/rua/RUA_Constants.asn b/library/rua/RUA_Constants.asn new file mode 100644 index 000000000..6ab3c25a1 --- /dev/null +++ b/library/rua/RUA_Constants.asn @@ -0,0 +1,63 @@ +-- RUA-Constants.asn +-- +-- 3GPP TS 25.468 V9.1.0 (2010-03) +-- http://www.3gpp.org/ftp/Specs/html-info/25468.htm +-- +-- 9.3.6 Constant definitions +-- + +-- ************************************************************** +-- +-- Constant definitions +-- +-- ************************************************************** + +RUA-Constants { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) rua(5) version1 (1) rUA-Constants (4) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + ProcedureCode, + ProtocolIE-ID +FROM RUA-CommonDataTypes; + + +-- ************************************************************** +-- +-- Elementary Procedures +-- +id-Connect ProcedureCode ::= 1 +id-DirectTransfer ProcedureCode ::= 2 +id-Disconnect ProcedureCode ::= 3 +id-ConnectionlessTransfer ProcedureCode ::= 4 +id-ErrorIndication ProcedureCode ::= 5 +id-privateMessage ProcedureCode ::= 6 + +-- ************************************************************** +-- +-- Lists +-- +-- ************************************************************** +maxNrOfErrors INTEGER ::= 256 + +-- ************************************************************** +-- +-- IEs +-- +-- ************************************************************** + +id-Cause ProtocolIE-ID ::= 1 +id-CriticalityDiagnostics ProtocolIE-ID ::= 2 +id-Context-ID ProtocolIE-ID ::= 3 +id-RANAP-Message ProtocolIE-ID ::= 4 +id-IntraDomainNasNodeSelector ProtocolIE-ID ::= 5 +id-Establishment-Cause ProtocolIE-ID ::= 6 +id-CN-DomainIndicator ProtocolIE-ID ::= 7 +id-CSGMembershipStatus ProtocolIE-ID ::= 9 + + +END diff --git a/library/rua/RUA_Containers.asn b/library/rua/RUA_Containers.asn new file mode 100644 index 000000000..cffd5c282 --- /dev/null +++ b/library/rua/RUA_Containers.asn @@ -0,0 +1,161 @@ +-- RUA-Containers.asn +-- +-- 3GPP TS 25.468 V9.1.0 (2010-03) +-- http://www.3gpp.org/ftp/Specs/html-info/25468.htm +-- +-- 9.3.7 Container definitions +-- + +-- ************************************************************** +-- +-- Container definitions +-- +-- ************************************************************** + +RUA-Containers { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) rua(5) version1 (1) rUA-Containers (5) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** + +IMPORTS + Criticality, + Presence, + PrivateIE-ID, + ProtocolIE-ID, + maxPrivateIEs, + maxProtocolExtensions, + maxProtocolIEs +FROM RUA-CommonDataTypes; + +-- ************************************************************** +-- +-- Class Definition for Private IEs +-- +-- ************************************************************** + +RUA-PRIVATE-IES ::= CLASS { + &id PrivateIE-ID, + &criticality Criticality, + &Value, + &presence Presence +} +WITH SYNTAX { + ID &id + CRITICALITY &criticality + TYPE &Value + PRESENCE &presence +} + + +-- ************************************************************** +-- +-- Class Definition for Protocol IEs +-- +-- ************************************************************** + +RUA-PROTOCOL-IES ::= CLASS { + &id ProtocolIE-ID UNIQUE, + &criticality Criticality, + &Value, + &presence Presence +} +WITH SYNTAX { + ID &id + CRITICALITY &criticality + TYPE &Value + PRESENCE &presence +} + +-- ************************************************************** +-- +-- Class Definition for Protocol Extensions +-- +-- ************************************************************** + +RUA-PROTOCOL-EXTENSION ::= CLASS { + &id ProtocolIE-ID UNIQUE, + &criticality Criticality, + &Extension, + &presence Presence +} +WITH SYNTAX { + ID &id + CRITICALITY &criticality + EXTENSION &Extension + PRESENCE &presence +} + + +-- ************************************************************** +-- +-- Container for Protocol IEs +-- +-- ************************************************************** + +ProtocolIE-Container {RUA-PROTOCOL-IES : IEsSetParam} ::= + SEQUENCE (SIZE (0..maxProtocolIEs)) OF + ProtocolIE-Field {{IEsSetParam}} + +ProtocolIE-Single-Container {RUA-PROTOCOL-IES : IEsSetParam} ::= + ProtocolIE-Field {{IEsSetParam}} + +ProtocolIE-Field {RUA-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE { + id RUA-PROTOCOL-IES.&id ({IEsSetParam}), + criticality RUA-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}), + value RUA-PROTOCOL-IES.&Value ({IEsSetParam}{@id}) +} + +-- ************************************************************** +-- +-- Container Lists for Protocol IE Containers +-- +-- ************************************************************** + +ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, RUA-PROTOCOL-IES : IEsSetParam} ::= + SEQUENCE (SIZE (lowerBound..upperBound)) OF + ProtocolIE-Container {{IEsSetParam}} + +-- ************************************************************** +-- +-- Container for Protocol Extensions +-- +-- ************************************************************** + +ProtocolExtensionContainer {RUA-PROTOCOL-EXTENSION : ExtensionSetParam} ::= + SEQUENCE (SIZE (1..maxProtocolExtensions)) OF + ProtocolExtensionField {{ExtensionSetParam}} + +ProtocolExtensionField {RUA-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE { + id RUA-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}), + criticality RUA-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}), + extensionValue RUA-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id}) +} + + +-- ************************************************************** +-- +-- Container for Private IEs +-- +-- ************************************************************** + +PrivateIE-Container {RUA-PRIVATE-IES : IEsSetParam } ::= + SEQUENCE (SIZE (1.. maxPrivateIEs)) OF + PrivateIE-Field {{IEsSetParam}} + +PrivateIE-Field {RUA-PRIVATE-IES : IEsSetParam} ::= SEQUENCE { + id RUA-PRIVATE-IES.&id ({IEsSetParam}), + criticality RUA-PRIVATE-IES.&criticality ({IEsSetParam}{@id}), + value RUA-PRIVATE-IES.&Value ({IEsSetParam}{@id}) +} + + +END diff --git a/library/rua/RUA_EncDec.cc b/library/rua/RUA_EncDec.cc new file mode 100644 index 000000000..808e317f3 --- /dev/null +++ b/library/rua/RUA_EncDec.cc @@ -0,0 +1,64 @@ + +#include +#include +#include "RUA_PDU_Descriptions.hh" + +extern "C" { +#include +} + +namespace RUA__Types { + +TTCN_Module RUA__EncDec("RUA_EncDec", __DATE__, __TIME__); + +OCTETSTRING enc__RUA__PDU(const RUA__PDU__Descriptions::RUA__PDU &pdu) +{ + uint8_t *aper_buf; + int aper_buf_len; + TTCN_Buffer TTCN_buf; + TTCN_buf.clear(); + + /* Encode from abstract data type into BER/DER */ + pdu.encode(RUA__PDU__Descriptions::RUA__PDU_descr_, TTCN_buf, + TTCN_EncDec::CT_BER, BER_ENCODE_DER); + + aper_buf_len = fftranscode_ber2aper(FFTRANSC_T_RUA, &aper_buf, TTCN_buf.get_data(), TTCN_buf.get_len()); + if (aper_buf_len < 0) { + TTCN_error("fftranscode failed."); + } + + /* make octetstring from output buffer */ + OCTETSTRING ret_val(aper_buf_len, aper_buf); + + /* release dynamically-allocated output buffer */ + fftranscode_free(aper_buf); + + return ret_val; +} + +RUA__PDU__Descriptions::RUA__PDU dec__RUA__PDU(const OCTETSTRING &stream) +{ + uint8_t *ber_buf; + int ber_buf_len; + + /* First, decode APER + re-encode as BER */ + ber_buf_len = fftranscode_aper2ber(FFTRANSC_T_RUA, &ber_buf, (const unsigned char *)stream, stream.lengthof()); + if (ber_buf_len < 0) { + TTCN_error("fftranscode failed."); + } + + /* Then, re-encode from BER to TITAN representation */ + RUA__PDU__Descriptions::RUA__PDU ret_dcc; + TTCN_Buffer TTCN_buf; + TTCN_buf.clear(); + TTCN_buf.put_s(ber_buf_len, ber_buf); + + ret_dcc.decode(RUA__PDU__Descriptions::RUA__PDU_descr_, TTCN_buf, + TTCN_EncDec::CT_BER, BER_ACCEPT_ALL); + + fftranscode_free(ber_buf); + + return ret_dcc; +} + +} diff --git a/library/rua/RUA_IEs.asn b/library/rua/RUA_IEs.asn new file mode 100644 index 000000000..de1d51912 --- /dev/null +++ b/library/rua/RUA_IEs.asn @@ -0,0 +1,199 @@ +-- RUA-IEs.asn +-- +-- 3GPP TS 25.468 V9.1.0 (2010-03) +-- http://www.3gpp.org/ftp/Specs/html-info/25468.htm +-- +-- 9.3.4 Information Element definitions +-- + +-- ************************************************************** +-- +-- Information Element Definitions +-- +-- ************************************************************** + +RUA-IEs { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) rua(5) version1 (1) rUA-IEs (2) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +IMPORTS + maxNrOfErrors +FROM RUA-Constants + + Criticality, + ProcedureCode, + ProtocolIE-ID, + TriggeringMessage +FROM RUA-CommonDataTypes + + ProtocolExtensionContainer{}, + RUA-PROTOCOL-EXTENSION +FROM RUA-Containers; + + +CN-DomainIndicator ::= ENUMERATED { + cs-domain, + ps-domain +} + +CSGMembershipStatus ::= ENUMERATED { + member, + non-member, + ... +} + +Establishment-Cause ::= ENUMERATED { + emergency-call, + normal-call, + ... + } + + + + + +Context-ID ::= BIT STRING (SIZE(24)) + +IntraDomainNasNodeSelector ::= SEQUENCE { + version CHOICE { + release99 SEQUENCE { + cn-Type CHOICE { + gsm-Map-IDNNS Gsm-map-IDNNS, + ansi-41-IDNNS Ansi-41-IDNNS + } + }, + later SEQUENCE { + futurecoding BIT STRING (SIZE (15)) + } + } +} + +Gsm-map-IDNNS ::= SEQUENCE { + routingbasis CHOICE { + localPTMSI SEQUENCE { + routingparameter RoutingParameter + }, + tMSIofsamePLMN SEQUENCE { + routingparameter RoutingParameter + }, + tMSIofdifferentPLMN SEQUENCE { + routingparameter RoutingParameter + }, + iMSIresponsetopaging SEQUENCE { + routingparameter RoutingParameter + }, + iMSIcauseUEinitiatedEvent SEQUENCE { + routingparameter RoutingParameter + }, + iMEI SEQUENCE { + routingparameter RoutingParameter + }, + spare2 SEQUENCE { + routingparameter RoutingParameter + }, + spare1 SEQUENCE { + routingparameter RoutingParameter + } + }, + -- dummy is not used in this version of the specification and + -- it should be ignored by the receiver. + dummy BOOLEAN +} + + +Ansi-41-IDNNS ::= BIT STRING (SIZE (14)) + +RANAP-Message ::= OCTET STRING + +RoutingParameter ::= BIT STRING (SIZE (10)) + + +-- ************************************************************** +-- +-- Cause IE +-- +-- ************************************************************** + +Cause ::= CHOICE { + radioNetwork CauseRadioNetwork, + transport CauseTransport, + protocol CauseProtocol, + misc CauseMisc, + ... +} +CauseRadioNetwork ::= ENUMERATED { + normal, + connect-failed, + network-release, + unspecified, + ... +} +CauseTransport ::= ENUMERATED { + transport-resource-unavailable, + unspecified, + ... +} + +CauseProtocol ::= ENUMERATED { + transfer-syntax-error, + abstract-syntax-error-reject, + abstract-syntax-error-ignore-and-notify, + message-not-compatible-with-receiver-state, + semantic-error, + unspecified, + abstract-syntax-error-falsely-constructed-message, + ... +} + +CauseMisc ::= ENUMERATED { + processing-overload, + hardware-failure, + o-and-m-intervention, + unspecified, + ... +} + +-- ************************************************************** +-- +-- CriticalityDiagnostics +-- +-- ************************************************************** + +CriticalityDiagnostics ::= SEQUENCE { + procedureCode ProcedureCode OPTIONAL, + triggeringMessage TriggeringMessage OPTIONAL, + procedureCriticality Criticality OPTIONAL, + iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL, + iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL, + ... +} + +CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF + SEQUENCE { + iECriticality Criticality, + iE-ID ProtocolIE-ID, + typeOfError TypeOfError, + iE-Extensions ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL, + ... + } + +CriticalityDiagnostics-IE-List-ExtIEs RUA-PROTOCOL-EXTENSION ::= { + ... +} + +CriticalityDiagnostics-ExtIEs RUA-PROTOCOL-EXTENSION ::= { + ... +} + + +TypeOfError ::= ENUMERATED { + not-understood, + missing, + ... +} + +END diff --git a/library/rua/RUA_PDU_Contents.asn b/library/rua/RUA_PDU_Contents.asn new file mode 100644 index 000000000..b25989582 --- /dev/null +++ b/library/rua/RUA_PDU_Contents.asn @@ -0,0 +1,204 @@ +-- RUA-PDU-Contents.asn +-- +-- 3GPP TS 25.468 V9.1.0 (2010-03) +-- http://www.3gpp.org/ftp/Specs/html-info/25468.htm +-- +-- 9.3.3 PDU definitions +-- + +-- ************************************************************** +-- +-- PDU definitions for RUA. +-- +-- ************************************************************** + +RUA-PDU-Contents { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) rua(5) version1 (1) rUA-PDU-Contents (1) } + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** + +IMPORTS + Cause, + CriticalityDiagnostics, + Context-ID, + CN-DomainIndicator, + CSGMembershipStatus, + IntraDomainNasNodeSelector, + RANAP-Message, + Establishment-Cause + +FROM RUA-IEs + + + ProtocolExtensionContainer{}, + ProtocolIE-ContainerList{}, + ProtocolIE-Container{}, + ProtocolIE-Single-Container{}, + PrivateIE-Container{}, + RUA-PRIVATE-IES, + RUA-PROTOCOL-EXTENSION, + RUA-PROTOCOL-IES +FROM RUA-Containers + + id-Cause, + id-CriticalityDiagnostics, + id-Context-ID, + id-CN-DomainIndicator, + id-CSGMembershipStatus, + id-RANAP-Message, + id-IntraDomainNasNodeSelector, + id-Establishment-Cause + +FROM RUA-Constants; + + +-- ************************************************************** +-- +-- Connect +-- +-- ************************************************************** + +Connect ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {ConnectIEs} }, + protocolExtensions ProtocolExtensionContainer { {ConnectExtensions} } OPTIONAL, + ... +} + +ConnectIEs RUA-PROTOCOL-IES ::= { + { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-Context-ID CRITICALITY reject TYPE Context-ID PRESENCE mandatory } | + { ID id-IntraDomainNasNodeSelector CRITICALITY ignore TYPE IntraDomainNasNodeSelector PRESENCE optional } | + { ID id-Establishment-Cause CRITICALITY reject TYPE Establishment-Cause PRESENCE mandatory } | + { ID id-RANAP-Message CRITICALITY reject TYPE RANAP-Message PRESENCE mandatory }, + ... +} + +ConnectExtensions RUA-PROTOCOL-EXTENSION ::= { + { ID id-CSGMembershipStatus CRITICALITY ignore EXTENSION CSGMembershipStatus PRESENCE optional }, + + ... +} + + +-- ************************************************************** +-- +-- Direct Transfer +-- +-- ************************************************************** + +DirectTransfer ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {DirectTransferIEs} }, + protocolExtensions ProtocolExtensionContainer { {DirectTransferExtensions} } OPTIONAL, + ... +} + +DirectTransferIEs RUA-PROTOCOL-IES ::= { + { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-Context-ID CRITICALITY reject TYPE Context-ID PRESENCE mandatory } | + { ID id-RANAP-Message CRITICALITY reject TYPE RANAP-Message PRESENCE mandatory }, + ... +} + +DirectTransferExtensions RUA-PROTOCOL-EXTENSION ::= { + ... +} + + + +-- ************************************************************** +-- +-- Disconnect +-- +-- ************************************************************** + +Disconnect ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {DisconnectIEs} }, + protocolExtensions ProtocolExtensionContainer { {DisconnectExtensions} } OPTIONAL, + ... +} + +DisconnectIEs RUA-PROTOCOL-IES ::= { + { ID id-CN-DomainIndicator CRITICALITY reject TYPE CN-DomainIndicator PRESENCE mandatory } | + { ID id-Context-ID CRITICALITY reject TYPE Context-ID PRESENCE mandatory } | + { ID id-Cause CRITICALITY reject TYPE Cause PRESENCE mandatory } | + { ID id-RANAP-Message CRITICALITY reject TYPE RANAP-Message PRESENCE conditional }, + -- RANAP message shall be included if Cause value is "normal" + ... +} + +DisconnectExtensions RUA-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- Connectionless Transfer +-- +-- ************************************************************** + +ConnectionlessTransfer ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {ConnectionlessTransferIEs} }, + protocolExtensions ProtocolExtensionContainer { {ConnectionlessTransferExtensions} } OPTIONAL, + ... +} + +ConnectionlessTransferIEs RUA-PROTOCOL-IES ::= { + { ID id-RANAP-Message CRITICALITY reject TYPE RANAP-Message PRESENCE mandatory }, + ... +} + +ConnectionlessTransferExtensions RUA-PROTOCOL-EXTENSION ::= { + ... +} + + + + +-- ************************************************************** +-- +-- ERROR INDICATION +-- +-- ************************************************************** + +ErrorIndication ::= SEQUENCE { + protocolIEs ProtocolIE-Container { {ErrorIndicationIEs} }, + protocolExtensions ProtocolExtensionContainer { {ErrorIndicationExtensions} } OPTIONAL, + ... +} + +ErrorIndicationIEs RUA-PROTOCOL-IES ::= { + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + ... +} + +ErrorIndicationExtensions RUA-PROTOCOL-EXTENSION ::= { + ... +} + +-- ************************************************************** +-- +-- PRIVATE MESSAGE +-- +-- ************************************************************** + +PrivateMessage ::= SEQUENCE { + privateIEs PrivateIE-Container {{PrivateMessage-IEs}}, + ... +} + +PrivateMessage-IEs RUA-PRIVATE-IES ::= { + ... +} + + +END diff --git a/library/rua/RUA_PDU_Descriptions.asn b/library/rua/RUA_PDU_Descriptions.asn new file mode 100644 index 000000000..7220b2893 --- /dev/null +++ b/library/rua/RUA_PDU_Descriptions.asn @@ -0,0 +1,176 @@ +-- RUA-PDU-Descriptions.asn +-- +-- 3GPP TS 25.468 V9.1.0 (2010-03) +-- http://www.3gpp.org/ftp/Specs/html-info/25468.htm +-- +-- 9.3.2 Elementary Procedure definitions +-- + +-- ************************************************************** +-- +-- Elementary Procedure definitions +-- +-- ************************************************************** + +RUA-PDU-Descriptions { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +umts-Access (20) modules (3) rua(5) version1 (1) rUA-PDU-Descriptions (0)} + +DEFINITIONS AUTOMATIC TAGS ::= + +BEGIN + +-- ************************************************************** +-- +-- IE parameter types from other modules. +-- +-- ************************************************************** + +IMPORTS + Criticality, + ProcedureCode +FROM RUA-CommonDataTypes + Connect, + DirectTransfer, + Disconnect, + ConnectionlessTransfer, + ErrorIndication, + PrivateMessage + + +FROM RUA-PDU-Contents + id-Connect, + id-DirectTransfer, + id-Disconnect, + id-ConnectionlessTransfer, + id-ErrorIndication, + id-privateMessage +FROM RUA-Constants; + +-- ************************************************************** +-- +-- Interface Elementary Procedure Class +-- +-- ************************************************************** + +RUA-ELEMENTARY-PROCEDURE ::= CLASS { + &InitiatingMessage , + &SuccessfulOutcome OPTIONAL, + &UnsuccessfulOutcome OPTIONAL, + &procedureCode ProcedureCode UNIQUE, + &criticality Criticality DEFAULT ignore +} + +WITH SYNTAX { + INITIATING MESSAGE &InitiatingMessage + [SUCCESSFUL OUTCOME &SuccessfulOutcome] + [UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome] + PROCEDURE CODE &procedureCode + [CRITICALITY &criticality] +} + +-- ************************************************************** +-- +-- Interface PDU definitions +-- +-- ************************************************************** + +RUA-PDU ::= CHOICE { + initiatingMessage InitiatingMessage, + successfulOutcome SuccessfulOutcome, + unsuccessfulOutcome UnsuccessfulOutcome, + ... +} + + +InitiatingMessage ::= SEQUENCE { + procedureCode RUA-ELEMENTARY-PROCEDURE.&procedureCode ({RUA-ELEMENTARY-PROCEDURES}), + criticality RUA-ELEMENTARY-PROCEDURE.&criticality ({RUA-ELEMENTARY-PROCEDURES}{@procedureCode}), + value RUA-ELEMENTARY-PROCEDURE.&InitiatingMessage ({RUA-ELEMENTARY-PROCEDURES}{@procedureCode}) +} + +SuccessfulOutcome ::= SEQUENCE { + procedureCode RUA-ELEMENTARY-PROCEDURE.&procedureCode ({RUA-ELEMENTARY-PROCEDURES}), + criticality RUA-ELEMENTARY-PROCEDURE.&criticality ({RUA-ELEMENTARY-PROCEDURES}{@procedureCode}), + value RUA-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({RUA-ELEMENTARY-PROCEDURES}{@procedureCode}) +} + +UnsuccessfulOutcome ::= SEQUENCE { + procedureCode RUA-ELEMENTARY-PROCEDURE.&procedureCode ({RUA-ELEMENTARY-PROCEDURES}), + criticality RUA-ELEMENTARY-PROCEDURE.&criticality ({RUA-ELEMENTARY-PROCEDURES}{@procedureCode}), + value RUA-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({RUA-ELEMENTARY-PROCEDURES}{@procedureCode}) +} + +-- ************************************************************** +-- +-- Interface Elementary Procedure List +-- +-- ************************************************************** + +RUA-ELEMENTARY-PROCEDURES RUA-ELEMENTARY-PROCEDURE ::= { + RUA-ELEMENTARY-PROCEDURES-CLASS-1 | + RUA-ELEMENTARY-PROCEDURES-CLASS-2 , + ... +} + +RUA-ELEMENTARY-PROCEDURES-CLASS-1 RUA-ELEMENTARY-PROCEDURE ::= { + ... +} + + +RUA-ELEMENTARY-PROCEDURES-CLASS-2 RUA-ELEMENTARY-PROCEDURE ::= { + connectionRequest | + directTransfer | + disconnectRequest | + connectionlessTransfer | + errorIndication | + privateMessage, + ... +} + +-- ************************************************************** +-- +-- Interface Elementary Procedures +-- +-- ************************************************************** + + +connectionRequest RUA-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Connect + PROCEDURE CODE id-Connect + CRITICALITY ignore +} + +directTransfer RUA-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE DirectTransfer + PROCEDURE CODE id-DirectTransfer + CRITICALITY ignore +} + +disconnectRequest RUA-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE Disconnect + PROCEDURE CODE id-Disconnect + CRITICALITY ignore +} +connectionlessTransfer RUA-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE ConnectionlessTransfer + PROCEDURE CODE id-ConnectionlessTransfer + CRITICALITY ignore +} + +errorIndication RUA-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE ErrorIndication + PROCEDURE CODE id-ErrorIndication + CRITICALITY ignore +} + +privateMessage RUA-ELEMENTARY-PROCEDURE ::= { + INITIATING MESSAGE PrivateMessage + PROCEDURE CODE id-privateMessage + CRITICALITY ignore +} + + +END + + diff --git a/library/rua/RUA_Types.ttcn b/library/rua/RUA_Types.ttcn new file mode 100644 index 000000000..0e52613a5 --- /dev/null +++ b/library/rua/RUA_Types.ttcn @@ -0,0 +1,7 @@ +module RUA_Types { + + import from RUA_PDU_Descriptions language "ASN.1:1997" all; + + external function enc_RUA_PDU(in RUA_PDU pdu) return octetstring; + external function dec_RUA_PDU(in octetstring stream) return RUA_PDU; +} diff --git a/library/rua/regen_makefile.sh b/library/rua/regen_makefile.sh new file mode 100755 index 000000000..1f4520309 --- /dev/null +++ b/library/rua/regen_makefile.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +FILES="*.asn *.ttcn RUA_EncDec.cc" + +../../regen-makefile.sh $FILES + +sed -i -e '/^CPPFLAGS/ s/$/ `pkg-config --cflags libfftranscode`/' Makefile +sed -i -e '/^LDFLAGS/ s/$/ `pkg-config --libs libfftranscode`/' Makefile +sed -i -e '/^LINUX_LIBS/ s/$/ `pkg-config --libs libfftranscode`/' Makefile