forked from ttcn3/osmo-ttcn3-hacks
HNBAP, RUA and RANAP protocol codecs
This patch introduces protocol codecs for the HNBAP, RUA and RANAP protocols, which is mandatory for testing IuCS, IuPS or Iuh in the future. As Eclipse TITAN ASN.1 only supports the BER codec and the above protocols all use APER, we need to use an external transcoder from APER to BER and vice-versa. This was implemented using a proprietary ASN.1 compiler / trnaslator which sysmocom is packaging as libfftranscode, which is made available as binary package for Debian 9 at https://ftp.osmocom.org/binaries/libfftranscode/ Related: OS#2856, OS#2857, OS#2858 Change-Id: If4a72de9bc54d6e6a7daaca78a4d4aa5684203a5
This commit is contained in:
parent
3e16b4d2f3
commit
a013e68fc9
|
@ -0,0 +1 @@
|
||||||
|
for f in *.asn; do nf=`echo $f | sed -e 's/-/_/'g`; mv $f $nf; done
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -0,0 +1,64 @@
|
||||||
|
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include "HNBAP_PDU_Descriptions.hh"
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
#include <fftranscode/transcode.h>
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace HNBAP__Types {
|
||||||
|
|
||||||
|
TTCN_Module HNBAP__EncDec("HNBAP_EncDec", __DATE__, __TIME__);
|
||||||
|
|
||||||
|
OCTETSTRING enc__HNBAP__PDU(const HNBAP__PDU__Descriptions::HNBAP__PDU &pdu)
|
||||||
|
{
|
||||||
|
uint8_t *aper_buf;
|
||||||
|
int aper_buf_len;
|
||||||
|
TTCN_Buffer TTCN_buf;
|
||||||
|
TTCN_buf.clear();
|
||||||
|
|
||||||
|
/* Encode from abstract data type into BER/DER */
|
||||||
|
pdu.encode(HNBAP__PDU__Descriptions::HNBAP__PDU_descr_, TTCN_buf,
|
||||||
|
TTCN_EncDec::CT_BER, BER_ENCODE_DER);
|
||||||
|
|
||||||
|
aper_buf_len = fftranscode_ber2aper(FFTRANSC_T_HNBAP, &aper_buf, TTCN_buf.get_data(), TTCN_buf.get_len());
|
||||||
|
if (aper_buf_len < 0) {
|
||||||
|
TTCN_error("fftranscode failed.");
|
||||||
|
}
|
||||||
|
|
||||||
|
/* make octetstring from output buffer */
|
||||||
|
OCTETSTRING ret_val(aper_buf_len, aper_buf);
|
||||||
|
|
||||||
|
/* release dynamically-allocated output buffer */
|
||||||
|
fftranscode_free(aper_buf);
|
||||||
|
|
||||||
|
return ret_val;
|
||||||
|
}
|
||||||
|
|
||||||
|
HNBAP__PDU__Descriptions::HNBAP__PDU dec__HNBAP__PDU(const OCTETSTRING &stream)
|
||||||
|
{
|
||||||
|
uint8_t *ber_buf;
|
||||||
|
int ber_buf_len;
|
||||||
|
|
||||||
|
/* First, decode APER + re-encode as BER */
|
||||||
|
ber_buf_len = fftranscode_aper2ber(FFTRANSC_T_HNBAP, &ber_buf, (const unsigned char *)stream, stream.lengthof());
|
||||||
|
if (ber_buf_len < 0) {
|
||||||
|
TTCN_error("fftranscode failed.");
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Then, re-encode from BER to TITAN representation */
|
||||||
|
HNBAP__PDU__Descriptions::HNBAP__PDU ret_dcc;
|
||||||
|
TTCN_Buffer TTCN_buf;
|
||||||
|
TTCN_buf.clear();
|
||||||
|
TTCN_buf.put_s(ber_buf_len, ber_buf);
|
||||||
|
|
||||||
|
ret_dcc.decode(HNBAP__PDU__Descriptions::HNBAP__PDU_descr_, TTCN_buf,
|
||||||
|
TTCN_EncDec::CT_BER, BER_ACCEPT_ALL);
|
||||||
|
|
||||||
|
fftranscode_free(ber_buf);
|
||||||
|
|
||||||
|
return ret_dcc;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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;
|
||||||
|
}
|
|
@ -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
|
|
@ -0,0 +1,410 @@
|
||||||
|
module RANAP_CodecPort {
|
||||||
|
|
||||||
|
/* Simple RANAP Codec Port, translating between raw SCCP primitives with
|
||||||
|
* octetstring payload towards the SCCP provider, and RANAP-SCCP primitives
|
||||||
|
* which carry the decoded RANAP data types as payload.
|
||||||
|
*
|
||||||
|
* (C) 2017-2018 by Harald Welte <laforge@gnumonks.org>
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* Released under the terms of GNU General Public License, Version 2 or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*/
|
||||||
|
|
||||||
|
import from General_Types all;
|
||||||
|
import from Osmocom_Types all;
|
||||||
|
|
||||||
|
import from SCCPasp_Types all;
|
||||||
|
import from SCCP_Types all;
|
||||||
|
|
||||||
|
import from RANAP_PDU_Descriptions all;
|
||||||
|
import from RANAP_Types all;
|
||||||
|
|
||||||
|
type record RANAP_N_CONNECT_req
|
||||||
|
{
|
||||||
|
SCCP_PAR_Address calledAddress,
|
||||||
|
SCCP_PAR_Address callingAddress optional,
|
||||||
|
SCCP_PAR_Expedited_Data_Sel expeditedDataSel optional,
|
||||||
|
SCCP_PAR_Quality_Of_Service qualityOfService optional,
|
||||||
|
RANAP_PDU userData optional,
|
||||||
|
SCCP_PAR_Connection_Id connectionId optional,
|
||||||
|
SCCP_PAR_Importance importance optional
|
||||||
|
}
|
||||||
|
|
||||||
|
template RANAP_N_CONNECT_req ts_RANAP_CONNECT_req(SCCP_PAR_Address called,
|
||||||
|
SCCP_PAR_Address calling,
|
||||||
|
SCCP_PAR_Connection_Id conn_id,
|
||||||
|
template RANAP_PDU ranap := omit) := {
|
||||||
|
calledAddress := called,
|
||||||
|
callingAddress := calling,
|
||||||
|
expeditedDataSel := omit,
|
||||||
|
qualityOfService := omit,
|
||||||
|
userData := ranap,
|
||||||
|
connectionId := conn_id,
|
||||||
|
importance := omit
|
||||||
|
}
|
||||||
|
|
||||||
|
type record RANAP_N_CONNECT_ind
|
||||||
|
{
|
||||||
|
SCCP_PAR_Address calledAddress,
|
||||||
|
SCCP_PAR_Address callingAddress optional,
|
||||||
|
SCCP_PAR_Quality_Of_Service qualityOfService optional,
|
||||||
|
RANAP_PDU userData optional,
|
||||||
|
SCCP_PAR_Connection_Id connectionId optional,
|
||||||
|
SCCP_PAR_Importance importance optional
|
||||||
|
}
|
||||||
|
|
||||||
|
template RANAP_N_CONNECT_ind tr_RANAP_CONNECT_ind(template SCCP_PAR_Address called,
|
||||||
|
template SCCP_PAR_Address calling,
|
||||||
|
template RANAP_PDU payload := *) := {
|
||||||
|
calledAddress := called,
|
||||||
|
callingAddress := calling,
|
||||||
|
qualityOfService := *,
|
||||||
|
userData := payload,
|
||||||
|
connectionId := *,
|
||||||
|
importance := *
|
||||||
|
}
|
||||||
|
|
||||||
|
type record RANAP_N_CONNECT_res
|
||||||
|
{
|
||||||
|
SCCP_PAR_Address respondingAddress optional,
|
||||||
|
SCCP_PAR_Expedited_Data_Sel expeditedDataSel optional,
|
||||||
|
SCCP_PAR_Quality_Of_Service qualityOfService optional,
|
||||||
|
RANAP_PDU userData optional,
|
||||||
|
SCCP_PAR_Connection_Id connectionId optional,
|
||||||
|
SCCP_PAR_Importance importance optional
|
||||||
|
}
|
||||||
|
|
||||||
|
template RANAP_N_CONNECT_res ts_RANAP_CONNECT_res(SCCP_PAR_Connection_Id conn_id,
|
||||||
|
template RANAP_PDU ranap := omit) := {
|
||||||
|
respondingAddress := omit,
|
||||||
|
expeditedDataSel := omit,
|
||||||
|
qualityOfService := omit,
|
||||||
|
userData := ranap,
|
||||||
|
connectionId := conn_id,
|
||||||
|
importance := omit
|
||||||
|
}
|
||||||
|
|
||||||
|
type record RANAP_N_CONNECT_cfm
|
||||||
|
{
|
||||||
|
SCCP_PAR_Address respondingAddress optional,
|
||||||
|
SCCP_PAR_Quality_Of_Service qualityOfService optional,
|
||||||
|
RANAP_PDU userData optional,
|
||||||
|
SCCP_PAR_Connection_Id connectionId optional,
|
||||||
|
SCCP_PAR_Importance importance optional
|
||||||
|
}
|
||||||
|
|
||||||
|
template RANAP_N_CONNECT_cfm tr_RANAP_CONNECT_cfm(template SCCP_PAR_Connection_Id conn_id,
|
||||||
|
template RANAP_PDU ranap := *) := {
|
||||||
|
respondingAddress := *,
|
||||||
|
qualityOfService := *,
|
||||||
|
userData := ranap,
|
||||||
|
connectionId := conn_id,
|
||||||
|
importance := *
|
||||||
|
}
|
||||||
|
|
||||||
|
type record RANAP_N_DATA_req
|
||||||
|
{
|
||||||
|
RANAP_PDU userData ,
|
||||||
|
SCCP_PAR_Connection_Id connectionId optional ,
|
||||||
|
SCCP_PAR_Importance importance optional
|
||||||
|
}
|
||||||
|
|
||||||
|
template RANAP_N_DATA_req ts_RANAP_DATA_req(SCCP_PAR_Connection_Id conn_id,
|
||||||
|
template RANAP_PDU ranap) := {
|
||||||
|
userData := ranap,
|
||||||
|
connectionId := conn_id,
|
||||||
|
importance := omit
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
type record RANAP_N_DATA_ind
|
||||||
|
{
|
||||||
|
RANAP_PDU userData ,
|
||||||
|
SCCP_PAR_Connection_Id connectionId optional ,
|
||||||
|
SCCP_PAR_Importance importance optional
|
||||||
|
}
|
||||||
|
|
||||||
|
template RANAP_N_DATA_ind tr_RANAP_DATA_ind(SCCP_PAR_Connection_Id conn_id,
|
||||||
|
template RANAP_PDU ranap := *) := {
|
||||||
|
userData := ranap,
|
||||||
|
connectionId := conn_id,
|
||||||
|
importance := *
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
type record RANAP_N_DISCONNECT_req
|
||||||
|
{
|
||||||
|
SCCP_PAR_Address respondingAddress optional,
|
||||||
|
SCCP_PAR_Reason reason ,
|
||||||
|
RANAP_PDU userData optional ,
|
||||||
|
SCCP_PAR_Connection_Id connectionId optional ,
|
||||||
|
SCCP_PAR_Importance importance optional
|
||||||
|
}
|
||||||
|
|
||||||
|
template RANAP_N_DISCONNECT_req ts_RANAP_DISC_req(SCCP_PAR_Connection_Id conn_id,
|
||||||
|
template SCCP_PAR_Reason reason,
|
||||||
|
template RANAP_PDU ranap := omit) := {
|
||||||
|
respondingAddress := omit,
|
||||||
|
reason := reason,
|
||||||
|
userData := ranap,
|
||||||
|
connectionId := conn_id,
|
||||||
|
importance := omit
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
type record RANAP_N_DISCONNECT_ind
|
||||||
|
{
|
||||||
|
SCCP_PAR_Originator originator ,
|
||||||
|
SCCP_PAR_Address respondingAddress optional ,
|
||||||
|
SCCP_PAR_Reason reason ,
|
||||||
|
RANAP_PDU userData optional ,
|
||||||
|
SCCP_PAR_Connection_Id connectionId optional ,
|
||||||
|
SCCP_PAR_Importance importance optional
|
||||||
|
}
|
||||||
|
|
||||||
|
template RANAP_N_DISCONNECT_ind tr_RANAP_DISC_ind(template SCCP_PAR_Connection_Id conn_id,
|
||||||
|
template SCCP_PAR_Originator originator,
|
||||||
|
template SCCP_PAR_Reason reason,
|
||||||
|
template RANAP_PDU ranap := *) := {
|
||||||
|
originator := originator,
|
||||||
|
respondingAddress:= *,
|
||||||
|
reason := reason,
|
||||||
|
userData := ranap,
|
||||||
|
connectionId := conn_id,
|
||||||
|
importance := *
|
||||||
|
}
|
||||||
|
|
||||||
|
type record RANAP_N_UNITDATA_req
|
||||||
|
{
|
||||||
|
SCCP_PAR_Address calledAddress ,
|
||||||
|
SCCP_PAR_Address callingAddress ,
|
||||||
|
SCCP_PAR_Sequence_Control sequenceControl optional ,
|
||||||
|
SCCP_PAR_Return_Option returnOption optional ,
|
||||||
|
RANAP_PDU userData ,
|
||||||
|
SCCP_PAR_Importance importance optional
|
||||||
|
}
|
||||||
|
|
||||||
|
template RANAP_N_UNITDATA_req ts_RANAP_UNITDATA_req(SCCP_PAR_Address called, SCCP_PAR_Address calling, template RANAP_PDU payload) := {
|
||||||
|
calledAddress := called,
|
||||||
|
callingAddress := calling,
|
||||||
|
sequenceControl := omit,
|
||||||
|
returnOption := omit,
|
||||||
|
userData := payload,
|
||||||
|
importance := omit
|
||||||
|
}
|
||||||
|
|
||||||
|
type record RANAP_N_UNITDATA_ind
|
||||||
|
{
|
||||||
|
SCCP_PAR_Address calledAddress ,
|
||||||
|
SCCP_PAR_Address callingAddress ,
|
||||||
|
SCCP_PAR_Sequence_Control sequenceControl optional ,
|
||||||
|
SCCP_PAR_Return_Option returnOption optional ,
|
||||||
|
RANAP_PDU userData ,
|
||||||
|
SCCP_PAR_Importance importance optional
|
||||||
|
}
|
||||||
|
|
||||||
|
template RANAP_N_UNITDATA_ind tr_RANAP_UNITDATA_ind(template SCCP_PAR_Address called, template SCCP_PAR_Address calling, template RANAP_PDU payload) := {
|
||||||
|
calledAddress := called,
|
||||||
|
callingAddress := calling,
|
||||||
|
sequenceControl := *,
|
||||||
|
returnOption := *,
|
||||||
|
userData := payload,
|
||||||
|
importance := *
|
||||||
|
}
|
||||||
|
|
||||||
|
type record RANAP_N_NOTICE_ind
|
||||||
|
{
|
||||||
|
SCCP_PAR_Address calledAddress ,
|
||||||
|
SCCP_PAR_Address callingAddress ,
|
||||||
|
SCCP_PAR_Reason_For_Return reasonForReturn ,
|
||||||
|
RANAP_PDU userData ,
|
||||||
|
SCCP_PAR_Importance importance optional
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private function f_dec_ConnectInd(in ASP_SCCP_N_CONNECT_ind pin, out RANAP_N_CONNECT_ind pout) {
|
||||||
|
pout.calledAddress := pin.calledAddress;
|
||||||
|
pout.callingAddress := pin.callingAddress;
|
||||||
|
pout.qualityOfService := pin.qualityOfService;
|
||||||
|
if (ispresent(pin.userData)) {
|
||||||
|
pout.userData := dec_RANAP_PDU(pin.userData);
|
||||||
|
} else {
|
||||||
|
pout.userData := omit;
|
||||||
|
}
|
||||||
|
pout.connectionId := pin.connectionId;
|
||||||
|
pout.importance := pin.importance;
|
||||||
|
//port.setstate(0);
|
||||||
|
} with {extension "prototype(fast)" }
|
||||||
|
|
||||||
|
private function f_dec_ConnectCfm(in ASP_SCCP_N_CONNECT_cfm pin, out RANAP_N_CONNECT_cfm pout) {
|
||||||
|
pout.respondingAddress := pin.respondingAddress;
|
||||||
|
pout.qualityOfService := pin.qualityOfService;
|
||||||
|
if (ispresent(pin.userData)) {
|
||||||
|
pout.userData := dec_RANAP_PDU(pin.userData);
|
||||||
|
} else {
|
||||||
|
pout.userData := omit;
|
||||||
|
}
|
||||||
|
pout.connectionId := pin.connectionId;
|
||||||
|
pout.importance := pin.importance;
|
||||||
|
//port.setstate(0);
|
||||||
|
} with {extension "prototype(fast)" }
|
||||||
|
|
||||||
|
private function f_dec_DataInd(in ASP_SCCP_N_DATA_ind pin, out RANAP_N_DATA_ind pout) {
|
||||||
|
pout.userData := dec_RANAP_PDU(pin.userData);
|
||||||
|
pout.connectionId := pin.connectionId;
|
||||||
|
pout.importance := pin.importance;
|
||||||
|
//port.setstate(0);
|
||||||
|
} with {extension "prototype(fast)" }
|
||||||
|
|
||||||
|
private function f_dec_DisconnectInd(in ASP_SCCP_N_DISCONNECT_ind pin, out RANAP_N_DISCONNECT_ind pout) {
|
||||||
|
pout.originator := pin.originator;
|
||||||
|
pout.respondingAddress := pin.respondingAddress;
|
||||||
|
pout.reason := pin.reason;
|
||||||
|
if (ispresent(pin.userData)) {
|
||||||
|
pout.userData := dec_RANAP_PDU(pin.userData);
|
||||||
|
} else {
|
||||||
|
pout.userData := omit;
|
||||||
|
}
|
||||||
|
pout.connectionId := pin.connectionId;
|
||||||
|
pout.importance := pin.importance;
|
||||||
|
//port.setstate(0);
|
||||||
|
} with {extension "prototype(fast)" }
|
||||||
|
|
||||||
|
private function f_dec_UnitdataInd(in ASP_SCCP_N_UNITDATA_ind pin, out RANAP_N_UNITDATA_ind pout) {
|
||||||
|
pout.calledAddress := pin.calledAddress;
|
||||||
|
pout.callingAddress := pin.callingAddress;
|
||||||
|
pout.sequenceControl := pin.sequenceControl;
|
||||||
|
pout.returnOption := pin.returnOption;
|
||||||
|
pout.userData := dec_RANAP_PDU(pin.userData);
|
||||||
|
pout.importance := pin.importance;
|
||||||
|
//port.setstate(0);
|
||||||
|
} with {extension "prototype(fast)" }
|
||||||
|
|
||||||
|
private function f_dec_NoticeInd(in ASP_SCCP_N_NOTICE_ind pin, out RANAP_N_NOTICE_ind pout) {
|
||||||
|
pout.calledAddress := pin.calledAddress;
|
||||||
|
pout.callingAddress := pin.callingAddress;
|
||||||
|
pout.reasonForReturn := pin.reasonForReturn;
|
||||||
|
pout.userData := dec_RANAP_PDU(pin.userData);
|
||||||
|
pout.importance := pin.importance;
|
||||||
|
//port.setstate(0);
|
||||||
|
} with {extension "prototype(fast)" }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private function f_enc_ConnectReq(in RANAP_N_CONNECT_req pin, out ASP_SCCP_N_CONNECT_req pout) {
|
||||||
|
pout.calledAddress := pin.calledAddress;
|
||||||
|
pout.callingAddress := pin.callingAddress;
|
||||||
|
pout.expeditedDataSel := pin.expeditedDataSel;
|
||||||
|
pout.qualityOfService := pin.qualityOfService;
|
||||||
|
if (ispresent(pin.userData)) {
|
||||||
|
pout.userData := enc_RANAP_PDU(pin.userData);
|
||||||
|
} else {
|
||||||
|
pout.userData := omit;
|
||||||
|
}
|
||||||
|
pout.connectionId := pin.connectionId;
|
||||||
|
pout.importance := pin.importance;
|
||||||
|
//port.setstate(0);
|
||||||
|
} with {extension "prototype(fast)" }
|
||||||
|
|
||||||
|
private function f_enc_ConnectRes(in RANAP_N_CONNECT_res pin, out ASP_SCCP_N_CONNECT_res pout) {
|
||||||
|
pout.respondingAddress := pin.respondingAddress;
|
||||||
|
pout.expeditedDataSel := pin.expeditedDataSel;
|
||||||
|
pout.qualityOfService := pin.qualityOfService;
|
||||||
|
if (ispresent(pin.userData)) {
|
||||||
|
pout.userData := enc_RANAP_PDU(pin.userData);
|
||||||
|
} else {
|
||||||
|
pout.userData := omit;
|
||||||
|
}
|
||||||
|
pout.connectionId := pin.connectionId;
|
||||||
|
pout.importance := pin.importance;
|
||||||
|
//port.setstate(0);
|
||||||
|
} with {extension "prototype(fast)" }
|
||||||
|
|
||||||
|
private function f_enc_DataReq(in RANAP_N_DATA_req pin, out ASP_SCCP_N_DATA_req pout) {
|
||||||
|
pout.userData := enc_RANAP_PDU(pin.userData);
|
||||||
|
pout.connectionId := pin.connectionId;
|
||||||
|
pout.importance := pin.importance;
|
||||||
|
//port.setstate(0);
|
||||||
|
} with {extension "prototype(fast)" }
|
||||||
|
|
||||||
|
private function f_enc_DisconnectReq(in RANAP_N_DISCONNECT_req pin, out ASP_SCCP_N_DISCONNECT_req pout) {
|
||||||
|
pout.respondingAddress := pin.respondingAddress;
|
||||||
|
pout.reason := pin.reason;
|
||||||
|
if (ispresent(pin.userData)) {
|
||||||
|
pout.userData := enc_RANAP_PDU(pin.userData);
|
||||||
|
} else {
|
||||||
|
pout.userData := omit;
|
||||||
|
}
|
||||||
|
pout.connectionId := pin.connectionId;
|
||||||
|
pout.importance := pin.importance;
|
||||||
|
//port.setstate(0);
|
||||||
|
} with {extension "prototype(fast)" }
|
||||||
|
|
||||||
|
private function f_enc_UnitdataReq(in RANAP_N_UNITDATA_req pin, out ASP_SCCP_N_UNITDATA_req pout) {
|
||||||
|
pout.calledAddress := pin.calledAddress;
|
||||||
|
pout.callingAddress := pin.callingAddress;
|
||||||
|
pout.userData := enc_RANAP_PDU(pin.userData);
|
||||||
|
pout.sequenceControl := pin.sequenceControl;
|
||||||
|
pout.returnOption := pin.returnOption;
|
||||||
|
pout.importance := pin.importance;
|
||||||
|
//port.setstate(0);
|
||||||
|
} with {extension "prototype(fast)" }
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
type port RANAP_CODEC_PT message map to SCCPasp_PT {
|
||||||
|
out RANAP_N_CONNECT_req to ASP_SCCP_N_CONNECT_req with f_enc_ConnectReq(),
|
||||||
|
RANAP_N_CONNECT_res to ASP_SCCP_N_CONNECT_res with f_enc_ConnectRes(),
|
||||||
|
RANAP_N_DATA_req to ASP_SCCP_N_DATA_req with f_enc_DataReq(),
|
||||||
|
RANAP_N_DISCONNECT_req to ASP_SCCP_N_DISCONNECT_req with f_enc_DisconnectReq(),
|
||||||
|
RANAP_N_UNITDATA_req to ASP_SCCP_N_UNITDATA_req with f_enc_UnitdataReq(),
|
||||||
|
ASP_SCCP_N_RESET_req, ASP_SCCP_N_RESET_resp;
|
||||||
|
|
||||||
|
in RANAP_N_CONNECT_ind from ASP_SCCP_N_CONNECT_ind with f_dec_ConnectInd(),
|
||||||
|
RANAP_N_CONNECT_cfm from ASP_SCCP_N_CONNECT_cfm with f_dec_ConnectCfm(),
|
||||||
|
RANAP_N_DATA_ind from ASP_SCCP_N_DATA_ind with f_dec_DataInd(),
|
||||||
|
RANAP_N_DISCONNECT_ind from ASP_SCCP_N_DISCONNECT_ind with f_dec_DisconnectInd(),
|
||||||
|
RANAP_N_UNITDATA_ind from ASP_SCCP_N_UNITDATA_ind with f_dec_UnitdataInd(),
|
||||||
|
RANAP_N_NOTICE_ind from ASP_SCCP_N_NOTICE_ind with f_dec_NoticeInd(),
|
||||||
|
ASP_SCCP_N_STATE_ind, ASP_SCCP_N_RESET_ind, ASP_SCCP_N_RESET_cfm;
|
||||||
|
} with {extension "internal"}
|
||||||
|
*/
|
||||||
|
|
||||||
|
type port RANAP_CODEC_PT message {
|
||||||
|
out RANAP_N_CONNECT_req,
|
||||||
|
RANAP_N_CONNECT_res,
|
||||||
|
RANAP_N_DATA_req,
|
||||||
|
RANAP_N_DISCONNECT_req,
|
||||||
|
RANAP_N_UNITDATA_req,
|
||||||
|
ASP_SCCP_N_RESET_req;
|
||||||
|
in RANAP_N_CONNECT_ind,
|
||||||
|
RANAP_N_CONNECT_cfm,
|
||||||
|
RANAP_N_DATA_ind,
|
||||||
|
RANAP_N_DISCONNECT_ind,
|
||||||
|
RANAP_N_UNITDATA_ind,
|
||||||
|
RANAP_N_NOTICE_ind,
|
||||||
|
ASP_SCCP_N_RESET_ind,
|
||||||
|
ASP_SCCP_N_RESET_cfm,
|
||||||
|
ASP_SCCP_N_STATE_ind;
|
||||||
|
} with { extension "internal user SCCPasp_PT
|
||||||
|
out(RANAP_N_CONNECT_req -> ASP_SCCP_N_CONNECT_req: function(f_enc_ConnectReq);
|
||||||
|
RANAP_N_CONNECT_res -> ASP_SCCP_N_CONNECT_res: function(f_enc_ConnectRes);
|
||||||
|
RANAP_N_DATA_req -> ASP_SCCP_N_DATA_req: function(f_enc_DataReq);
|
||||||
|
RANAP_N_DISCONNECT_req -> ASP_SCCP_N_DISCONNECT_req: function(f_enc_DisconnectReq);
|
||||||
|
RANAP_N_UNITDATA_req -> ASP_SCCP_N_UNITDATA_req: function(f_enc_UnitdataReq);
|
||||||
|
ASP_SCCP_N_RESET_req -> ASP_SCCP_N_RESET_req: simple)
|
||||||
|
in(ASP_SCCP_N_CONNECT_ind -> RANAP_N_CONNECT_ind: function(f_dec_ConnectInd);
|
||||||
|
ASP_SCCP_N_CONNECT_cfm -> RANAP_N_CONNECT_cfm: function(f_dec_ConnectCfm);
|
||||||
|
ASP_SCCP_N_DATA_ind -> RANAP_N_DATA_ind: function(f_dec_DataInd);
|
||||||
|
ASP_SCCP_N_DISCONNECT_ind -> RANAP_N_DISCONNECT_ind: function(f_dec_DisconnectInd);
|
||||||
|
ASP_SCCP_N_UNITDATA_ind -> RANAP_N_UNITDATA_ind: function(f_dec_UnitdataInd);
|
||||||
|
ASP_SCCP_N_NOTICE_ind -> RANAP_N_NOTICE_ind: function(f_dec_NoticeInd);
|
||||||
|
ASP_SCCP_N_RESET_ind -> ASP_SCCP_N_RESET_ind: simple;
|
||||||
|
ASP_SCCP_N_RESET_cfm -> ASP_SCCP_N_RESET_cfm: simple;
|
||||||
|
ASP_SCCP_N_STATE_ind -> ASP_SCCP_N_STATE_ind: simple)"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -0,0 +1,66 @@
|
||||||
|
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include "RANAP_PDU_Descriptions.hh"
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
#include <fftranscode/transcode.h>
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace RANAP__Types {
|
||||||
|
|
||||||
|
TTCN_Module RANAP__EncDec("RANAP_EncDec", __DATE__, __TIME__);
|
||||||
|
|
||||||
|
OCTETSTRING enc__RANAP__PDU(const RANAP__PDU__Descriptions::RANAP__PDU &pdu)
|
||||||
|
{
|
||||||
|
uint8_t *aper_buf;
|
||||||
|
int aper_buf_len;
|
||||||
|
TTCN_Buffer TTCN_buf;
|
||||||
|
TTCN_buf.clear();
|
||||||
|
|
||||||
|
/* Encode from abstract data type into BER/DER */
|
||||||
|
pdu.encode(RANAP__PDU__Descriptions::RANAP__PDU_descr_, TTCN_buf,
|
||||||
|
TTCN_EncDec::CT_BER, BER_ENCODE_DER);
|
||||||
|
|
||||||
|
aper_buf_len = fftranscode_ber2aper(FFTRANSC_T_RANAP, &aper_buf, TTCN_buf.get_data(), TTCN_buf.get_len());
|
||||||
|
if (aper_buf_len < 0) {
|
||||||
|
TTCN_Logger::begin_event_log2str();
|
||||||
|
TTCN_buf.log();
|
||||||
|
TTCN_error("fftranscode_ber2aper failed: %s", (const char *) TTCN_Logger::end_event_log2str());
|
||||||
|
}
|
||||||
|
|
||||||
|
/* make octetstring from output buffer */
|
||||||
|
OCTETSTRING ret_val(aper_buf_len, aper_buf);
|
||||||
|
|
||||||
|
/* release dynamically-allocated output buffer */
|
||||||
|
fftranscode_free(aper_buf);
|
||||||
|
|
||||||
|
return ret_val;
|
||||||
|
}
|
||||||
|
|
||||||
|
RANAP__PDU__Descriptions::RANAP__PDU dec__RANAP__PDU(const OCTETSTRING &stream)
|
||||||
|
{
|
||||||
|
uint8_t *ber_buf;
|
||||||
|
int ber_buf_len;
|
||||||
|
|
||||||
|
/* First, decode APER + re-encode as BER */
|
||||||
|
ber_buf_len = fftranscode_aper2ber(FFTRANSC_T_RANAP, &ber_buf, (const unsigned char *)stream, stream.lengthof());
|
||||||
|
if (ber_buf_len < 0) {
|
||||||
|
TTCN_error("fftranscode_aper2ber failed.");
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Then, re-encode from BER to TITAN representation */
|
||||||
|
RANAP__PDU__Descriptions::RANAP__PDU ret_dcc;
|
||||||
|
TTCN_Buffer TTCN_buf;
|
||||||
|
TTCN_buf.clear();
|
||||||
|
TTCN_buf.put_s(ber_buf_len, ber_buf);
|
||||||
|
|
||||||
|
ret_dcc.decode(RANAP__PDU__Descriptions::RANAP__PDU_descr_, TTCN_buf,
|
||||||
|
TTCN_EncDec::CT_BER, BER_ACCEPT_ALL);
|
||||||
|
|
||||||
|
fftranscode_free(ber_buf);
|
||||||
|
|
||||||
|
return ret_dcc;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -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
|
|
@ -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);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -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;
|
||||||
|
}
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -0,0 +1,64 @@
|
||||||
|
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include "RUA_PDU_Descriptions.hh"
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
#include <fftranscode/transcode.h>
|
||||||
|
}
|
||||||
|
|
||||||
|
namespace RUA__Types {
|
||||||
|
|
||||||
|
TTCN_Module RUA__EncDec("RUA_EncDec", __DATE__, __TIME__);
|
||||||
|
|
||||||
|
OCTETSTRING enc__RUA__PDU(const RUA__PDU__Descriptions::RUA__PDU &pdu)
|
||||||
|
{
|
||||||
|
uint8_t *aper_buf;
|
||||||
|
int aper_buf_len;
|
||||||
|
TTCN_Buffer TTCN_buf;
|
||||||
|
TTCN_buf.clear();
|
||||||
|
|
||||||
|
/* Encode from abstract data type into BER/DER */
|
||||||
|
pdu.encode(RUA__PDU__Descriptions::RUA__PDU_descr_, TTCN_buf,
|
||||||
|
TTCN_EncDec::CT_BER, BER_ENCODE_DER);
|
||||||
|
|
||||||
|
aper_buf_len = fftranscode_ber2aper(FFTRANSC_T_RUA, &aper_buf, TTCN_buf.get_data(), TTCN_buf.get_len());
|
||||||
|
if (aper_buf_len < 0) {
|
||||||
|
TTCN_error("fftranscode failed.");
|
||||||
|
}
|
||||||
|
|
||||||
|
/* make octetstring from output buffer */
|
||||||
|
OCTETSTRING ret_val(aper_buf_len, aper_buf);
|
||||||
|
|
||||||
|
/* release dynamically-allocated output buffer */
|
||||||
|
fftranscode_free(aper_buf);
|
||||||
|
|
||||||
|
return ret_val;
|
||||||
|
}
|
||||||
|
|
||||||
|
RUA__PDU__Descriptions::RUA__PDU dec__RUA__PDU(const OCTETSTRING &stream)
|
||||||
|
{
|
||||||
|
uint8_t *ber_buf;
|
||||||
|
int ber_buf_len;
|
||||||
|
|
||||||
|
/* First, decode APER + re-encode as BER */
|
||||||
|
ber_buf_len = fftranscode_aper2ber(FFTRANSC_T_RUA, &ber_buf, (const unsigned char *)stream, stream.lengthof());
|
||||||
|
if (ber_buf_len < 0) {
|
||||||
|
TTCN_error("fftranscode failed.");
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Then, re-encode from BER to TITAN representation */
|
||||||
|
RUA__PDU__Descriptions::RUA__PDU ret_dcc;
|
||||||
|
TTCN_Buffer TTCN_buf;
|
||||||
|
TTCN_buf.clear();
|
||||||
|
TTCN_buf.put_s(ber_buf_len, ber_buf);
|
||||||
|
|
||||||
|
ret_dcc.decode(RUA__PDU__Descriptions::RUA__PDU_descr_, TTCN_buf,
|
||||||
|
TTCN_EncDec::CT_BER, BER_ACCEPT_ALL);
|
||||||
|
|
||||||
|
fftranscode_free(ber_buf);
|
||||||
|
|
||||||
|
return ret_dcc;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
|
@ -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
|
Loading…
Reference in New Issue