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
diff --git a/library/ranap/RANAP_CodecPort.ttcn b/library/ranap/RANAP_CodecPort.ttcn
new file mode 100644
index 0000000..07e1b00
--- /dev/null
+++ b/library/ranap/RANAP_CodecPort.ttcn
@@ -0,0 +1,410 @@
+module RANAP_CodecPort {
+
+/* Simple RANAP Codec Port, translating between raw SCCP primitives with
+ * octetstring payload towards the SCCP provider, and RANAP-SCCP primitives
+ * which carry the decoded RANAP data types as payload.
+ *
+ * (C) 2017-2018 by Harald Welte <laforge@gnumonks.org>
+ * All rights reserved.
+ *
+ * Released under the terms of GNU General Public License, Version 2 or
+ * (at your option) any later version.
+ */
+
+import from General_Types all;
+import from Osmocom_Types all;
+
+import from SCCPasp_Types all;
+import from SCCP_Types all;
+
+import from RANAP_PDU_Descriptions all;
+import from RANAP_Types all;
+
+type record RANAP_N_CONNECT_req
+{
+   SCCP_PAR_Address                 calledAddress,
+   SCCP_PAR_Address                 callingAddress     optional,
+   SCCP_PAR_Expedited_Data_Sel	    expeditedDataSel   optional,
+   SCCP_PAR_Quality_Of_Service      qualityOfService   optional,
+   RANAP_PDU                        userData           optional,
+   SCCP_PAR_Connection_Id           connectionId       optional,
+   SCCP_PAR_Importance              importance         optional
+}
+
+template RANAP_N_CONNECT_req ts_RANAP_CONNECT_req(SCCP_PAR_Address called,
+						 SCCP_PAR_Address calling,
+						 SCCP_PAR_Connection_Id conn_id,
+						 template RANAP_PDU ranap := omit) := {
+	calledAddress := called,
+	callingAddress := calling,
+	expeditedDataSel := omit,
+	qualityOfService := omit,
+	userData := ranap,
+	connectionId := conn_id,
+	importance := omit
+}
+
+type record RANAP_N_CONNECT_ind
+{
+   SCCP_PAR_Address                 calledAddress,
+   SCCP_PAR_Address                 callingAddress     optional,
+   SCCP_PAR_Quality_Of_Service      qualityOfService   optional,
+   RANAP_PDU                        userData           optional,
+   SCCP_PAR_Connection_Id           connectionId       optional,
+   SCCP_PAR_Importance              importance         optional
+}
+
+template RANAP_N_CONNECT_ind tr_RANAP_CONNECT_ind(template SCCP_PAR_Address called,
+						 template SCCP_PAR_Address calling,
+						 template RANAP_PDU payload := *) := {
+	calledAddress := called,
+	callingAddress := calling,
+	qualityOfService := *,
+	userData := payload,
+	connectionId := *,
+	importance := *
+}
+
+type record RANAP_N_CONNECT_res
+{
+   SCCP_PAR_Address			respondingAddress optional,
+   SCCP_PAR_Expedited_Data_Sel		expeditedDataSel  optional,
+   SCCP_PAR_Quality_Of_Service		qualityOfService  optional,
+   RANAP_PDU				userData          optional,
+   SCCP_PAR_Connection_Id		connectionId      optional,
+   SCCP_PAR_Importance 			importance        optional
+}
+
+template RANAP_N_CONNECT_res ts_RANAP_CONNECT_res(SCCP_PAR_Connection_Id conn_id,
+						 template RANAP_PDU ranap := omit) := {
+	respondingAddress := omit,
+	expeditedDataSel := omit,
+	qualityOfService := omit,
+	userData := ranap,
+	connectionId := conn_id,
+	importance := omit
+}
+
+type record RANAP_N_CONNECT_cfm
+{
+  SCCP_PAR_Address              respondingAddress optional,
+  SCCP_PAR_Quality_Of_Service   qualityOfService  optional,
+  RANAP_PDU                     userData           optional,
+  SCCP_PAR_Connection_Id        connectionId      optional,
+  SCCP_PAR_Importance           importance        optional
+}
+
+template RANAP_N_CONNECT_cfm tr_RANAP_CONNECT_cfm(template SCCP_PAR_Connection_Id conn_id,
+						  template RANAP_PDU ranap := *) := {
+	respondingAddress := *,
+	qualityOfService := *,
+	userData := ranap,
+	connectionId := conn_id,
+	importance := *
+}
+
+type record RANAP_N_DATA_req
+{
+  RANAP_PDU               userData               ,
+  SCCP_PAR_Connection_Id  connectionId  optional ,
+  SCCP_PAR_Importance     importance    optional
+}
+
+template RANAP_N_DATA_req ts_RANAP_DATA_req(SCCP_PAR_Connection_Id conn_id,
+					    template RANAP_PDU ranap) := {
+	userData := ranap,
+	connectionId := conn_id,
+	importance := omit
+}
+
+
+type record RANAP_N_DATA_ind
+{
+  RANAP_PDU               userData               ,
+  SCCP_PAR_Connection_Id  connectionId optional  ,
+  SCCP_PAR_Importance     importance   optional
+}
+
+template RANAP_N_DATA_ind tr_RANAP_DATA_ind(SCCP_PAR_Connection_Id conn_id,
+					    template RANAP_PDU ranap := *) := {
+	userData := ranap,
+	connectionId := conn_id,
+	importance := *
+}
+
+
+type record RANAP_N_DISCONNECT_req
+{
+  SCCP_PAR_Address         respondingAddress  optional,
+  SCCP_PAR_Reason          reason                      ,
+  RANAP_PDU                userData           optional ,
+  SCCP_PAR_Connection_Id   connectionId       optional ,
+  SCCP_PAR_Importance      importance         optional
+}
+
+template RANAP_N_DISCONNECT_req ts_RANAP_DISC_req(SCCP_PAR_Connection_Id conn_id,
+						  template SCCP_PAR_Reason reason,
+						  template RANAP_PDU ranap := omit) := {
+	respondingAddress := omit,
+	reason := reason,
+	userData := ranap,
+	connectionId := conn_id,
+	importance := omit
+}
+
+
+type record RANAP_N_DISCONNECT_ind
+{
+  SCCP_PAR_Originator     originator                  ,
+  SCCP_PAR_Address        respondingAddress  optional ,
+  SCCP_PAR_Reason         reason                      ,
+  RANAP_PDU               userData           optional ,
+  SCCP_PAR_Connection_Id  connectionId       optional ,
+  SCCP_PAR_Importance     importance         optional
+}
+
+template RANAP_N_DISCONNECT_ind tr_RANAP_DISC_ind(template SCCP_PAR_Connection_Id conn_id,
+						  template SCCP_PAR_Originator originator,
+						  template SCCP_PAR_Reason reason,
+						  template RANAP_PDU ranap := *) := {
+	originator := originator,
+	respondingAddress:= *,
+	reason := reason,
+	userData := ranap,
+	connectionId := conn_id,
+	importance := *
+}
+
+type record RANAP_N_UNITDATA_req
+{
+  SCCP_PAR_Address          calledAddress               ,
+  SCCP_PAR_Address          callingAddress              ,
+  SCCP_PAR_Sequence_Control sequenceControl    optional ,
+  SCCP_PAR_Return_Option    returnOption       optional ,
+  RANAP_PDU                 userData                    ,
+  SCCP_PAR_Importance       importance         optional
+ }
+
+template RANAP_N_UNITDATA_req ts_RANAP_UNITDATA_req(SCCP_PAR_Address called, SCCP_PAR_Address calling, template RANAP_PDU payload) := {
+	calledAddress := called,
+	callingAddress := calling,
+	sequenceControl := omit,
+	returnOption := omit,
+	userData := payload,
+	importance := omit
+}
+
+type record RANAP_N_UNITDATA_ind
+{
+  SCCP_PAR_Address           calledAddress              ,
+  SCCP_PAR_Address           callingAddress             ,
+  SCCP_PAR_Sequence_Control  sequenceControl  optional  ,
+  SCCP_PAR_Return_Option     returnOption     optional  ,
+  RANAP_PDU                  userData                   ,
+  SCCP_PAR_Importance        importance       optional
+}
+
+template RANAP_N_UNITDATA_ind tr_RANAP_UNITDATA_ind(template SCCP_PAR_Address called, template SCCP_PAR_Address calling, template RANAP_PDU payload) := {
+	calledAddress := called,
+	callingAddress := calling,
+	sequenceControl := *,
+	returnOption := *,
+	userData := payload,
+	importance := *
+}
+
+type record RANAP_N_NOTICE_ind
+{
+  SCCP_PAR_Address               calledAddress            ,
+  SCCP_PAR_Address               callingAddress           ,
+  SCCP_PAR_Reason_For_Return     reasonForReturn          ,
+  RANAP_PDU                      userData                 ,
+  SCCP_PAR_Importance            importance       optional
+}
+
+
+
+private function f_dec_ConnectInd(in ASP_SCCP_N_CONNECT_ind pin, out RANAP_N_CONNECT_ind pout) {
+	pout.calledAddress := pin.calledAddress;
+	pout.callingAddress := pin.callingAddress;
+	pout.qualityOfService := pin.qualityOfService;
+	if (ispresent(pin.userData)) {
+		pout.userData := dec_RANAP_PDU(pin.userData);
+	} else {
+		pout.userData := omit;
+	}
+	pout.connectionId := pin.connectionId;
+	pout.importance := pin.importance;
+	//port.setstate(0);
+} with {extension "prototype(fast)" }
+
+private function f_dec_ConnectCfm(in ASP_SCCP_N_CONNECT_cfm pin, out RANAP_N_CONNECT_cfm pout) {
+	pout.respondingAddress := pin.respondingAddress;
+	pout.qualityOfService := pin.qualityOfService;
+	if (ispresent(pin.userData)) {
+		pout.userData := dec_RANAP_PDU(pin.userData);
+	} else {
+		pout.userData := omit;
+	}
+	pout.connectionId := pin.connectionId;
+	pout.importance := pin.importance;
+	//port.setstate(0);
+} with {extension "prototype(fast)" }
+
+private function f_dec_DataInd(in ASP_SCCP_N_DATA_ind pin, out RANAP_N_DATA_ind pout) {
+	pout.userData := dec_RANAP_PDU(pin.userData);
+	pout.connectionId := pin.connectionId;
+	pout.importance := pin.importance;
+	//port.setstate(0);
+} with {extension "prototype(fast)" }
+
+private function f_dec_DisconnectInd(in ASP_SCCP_N_DISCONNECT_ind pin, out RANAP_N_DISCONNECT_ind pout) {
+	pout.originator := pin.originator;
+	pout.respondingAddress := pin.respondingAddress;
+	pout.reason := pin.reason;
+	if (ispresent(pin.userData)) {
+		pout.userData := dec_RANAP_PDU(pin.userData);
+	} else {
+		pout.userData := omit;
+	}
+	pout.connectionId := pin.connectionId;
+	pout.importance := pin.importance;
+	//port.setstate(0);
+} with {extension "prototype(fast)" }
+
+private function f_dec_UnitdataInd(in ASP_SCCP_N_UNITDATA_ind pin, out RANAP_N_UNITDATA_ind pout) {
+	pout.calledAddress := pin.calledAddress;
+	pout.callingAddress := pin.callingAddress;
+	pout.sequenceControl := pin.sequenceControl;
+	pout.returnOption := pin.returnOption;
+	pout.userData := dec_RANAP_PDU(pin.userData);
+	pout.importance := pin.importance;
+	//port.setstate(0);
+} with {extension "prototype(fast)" }
+
+private function f_dec_NoticeInd(in ASP_SCCP_N_NOTICE_ind pin, out RANAP_N_NOTICE_ind pout) {
+	pout.calledAddress := pin.calledAddress;
+	pout.callingAddress := pin.callingAddress;
+	pout.reasonForReturn := pin.reasonForReturn;
+	pout.userData := dec_RANAP_PDU(pin.userData);
+	pout.importance := pin.importance;
+	//port.setstate(0);
+} with {extension "prototype(fast)" }
+
+
+
+private function f_enc_ConnectReq(in RANAP_N_CONNECT_req pin, out ASP_SCCP_N_CONNECT_req pout) {
+	pout.calledAddress := pin.calledAddress;
+	pout.callingAddress := pin.callingAddress;
+	pout.expeditedDataSel := pin.expeditedDataSel;
+	pout.qualityOfService := pin.qualityOfService;
+	if (ispresent(pin.userData)) {
+		pout.userData := enc_RANAP_PDU(pin.userData);
+	} else {
+		pout.userData := omit;
+	}
+	pout.connectionId := pin.connectionId;
+	pout.importance := pin.importance;
+	//port.setstate(0);
+} with {extension "prototype(fast)" }
+
+private function f_enc_ConnectRes(in RANAP_N_CONNECT_res pin, out ASP_SCCP_N_CONNECT_res pout) {
+	pout.respondingAddress := pin.respondingAddress;
+	pout.expeditedDataSel := pin.expeditedDataSel;
+	pout.qualityOfService := pin.qualityOfService;
+	if (ispresent(pin.userData)) {
+		pout.userData := enc_RANAP_PDU(pin.userData);
+	} else {
+		pout.userData := omit;
+	}
+	pout.connectionId := pin.connectionId;
+	pout.importance := pin.importance;
+	//port.setstate(0);
+} with {extension "prototype(fast)" }
+
+private function f_enc_DataReq(in RANAP_N_DATA_req pin, out ASP_SCCP_N_DATA_req pout) {
+	pout.userData := enc_RANAP_PDU(pin.userData);
+	pout.connectionId := pin.connectionId;
+	pout.importance := pin.importance;
+	//port.setstate(0);
+} with {extension "prototype(fast)" }
+
+private function f_enc_DisconnectReq(in RANAP_N_DISCONNECT_req pin, out ASP_SCCP_N_DISCONNECT_req pout) {
+	pout.respondingAddress := pin.respondingAddress;
+	pout.reason := pin.reason;
+	if (ispresent(pin.userData)) {
+		pout.userData := enc_RANAP_PDU(pin.userData);
+	} else {
+		pout.userData := omit;
+	}
+	pout.connectionId := pin.connectionId;
+	pout.importance := pin.importance;
+	//port.setstate(0);
+} with {extension "prototype(fast)" }
+
+private function f_enc_UnitdataReq(in RANAP_N_UNITDATA_req pin, out ASP_SCCP_N_UNITDATA_req pout) {
+	pout.calledAddress := pin.calledAddress;
+	pout.callingAddress := pin.callingAddress;
+	pout.userData := enc_RANAP_PDU(pin.userData);
+	pout.sequenceControl := pin.sequenceControl;
+	pout.returnOption := pin.returnOption;
+	pout.importance := pin.importance;
+	//port.setstate(0);
+} with {extension "prototype(fast)" }
+
+
+/* 
+type port RANAP_CODEC_PT message map to SCCPasp_PT {
+	out	RANAP_N_CONNECT_req to ASP_SCCP_N_CONNECT_req with f_enc_ConnectReq(),
+		RANAP_N_CONNECT_res to ASP_SCCP_N_CONNECT_res with f_enc_ConnectRes(),
+		RANAP_N_DATA_req to ASP_SCCP_N_DATA_req with f_enc_DataReq(),
+		RANAP_N_DISCONNECT_req to ASP_SCCP_N_DISCONNECT_req with f_enc_DisconnectReq(),
+		RANAP_N_UNITDATA_req to ASP_SCCP_N_UNITDATA_req with f_enc_UnitdataReq(),
+		ASP_SCCP_N_RESET_req, ASP_SCCP_N_RESET_resp;
+
+	in	RANAP_N_CONNECT_ind from ASP_SCCP_N_CONNECT_ind with f_dec_ConnectInd(),
+		RANAP_N_CONNECT_cfm from ASP_SCCP_N_CONNECT_cfm with f_dec_ConnectCfm(),
+		RANAP_N_DATA_ind from ASP_SCCP_N_DATA_ind with f_dec_DataInd(),
+		RANAP_N_DISCONNECT_ind from ASP_SCCP_N_DISCONNECT_ind with f_dec_DisconnectInd(),
+		RANAP_N_UNITDATA_ind from ASP_SCCP_N_UNITDATA_ind with f_dec_UnitdataInd(),
+		RANAP_N_NOTICE_ind from ASP_SCCP_N_NOTICE_ind with f_dec_NoticeInd(),
+		ASP_SCCP_N_STATE_ind, ASP_SCCP_N_RESET_ind, ASP_SCCP_N_RESET_cfm;
+} with {extension "internal"}
+*/
+
+type port RANAP_CODEC_PT message {
+	out	RANAP_N_CONNECT_req,
+		RANAP_N_CONNECT_res,
+		RANAP_N_DATA_req,
+		RANAP_N_DISCONNECT_req,
+		RANAP_N_UNITDATA_req,
+		ASP_SCCP_N_RESET_req;
+	in	RANAP_N_CONNECT_ind,
+		RANAP_N_CONNECT_cfm,
+		RANAP_N_DATA_ind,
+		RANAP_N_DISCONNECT_ind,
+		RANAP_N_UNITDATA_ind,
+		RANAP_N_NOTICE_ind,
+		ASP_SCCP_N_RESET_ind,
+		ASP_SCCP_N_RESET_cfm,
+		ASP_SCCP_N_STATE_ind;
+} with { extension "internal user SCCPasp_PT
+	out(RANAP_N_CONNECT_req -> ASP_SCCP_N_CONNECT_req: function(f_enc_ConnectReq);
+	    RANAP_N_CONNECT_res -> ASP_SCCP_N_CONNECT_res: function(f_enc_ConnectRes);
+	    RANAP_N_DATA_req -> ASP_SCCP_N_DATA_req: function(f_enc_DataReq);
+	    RANAP_N_DISCONNECT_req -> ASP_SCCP_N_DISCONNECT_req: function(f_enc_DisconnectReq);
+	    RANAP_N_UNITDATA_req -> ASP_SCCP_N_UNITDATA_req: function(f_enc_UnitdataReq);
+	    ASP_SCCP_N_RESET_req -> ASP_SCCP_N_RESET_req: simple)
+	in(ASP_SCCP_N_CONNECT_ind -> RANAP_N_CONNECT_ind: function(f_dec_ConnectInd);
+	   ASP_SCCP_N_CONNECT_cfm -> RANAP_N_CONNECT_cfm: function(f_dec_ConnectCfm);
+	   ASP_SCCP_N_DATA_ind -> RANAP_N_DATA_ind: function(f_dec_DataInd);
+	   ASP_SCCP_N_DISCONNECT_ind -> RANAP_N_DISCONNECT_ind: function(f_dec_DisconnectInd);
+	   ASP_SCCP_N_UNITDATA_ind -> RANAP_N_UNITDATA_ind: function(f_dec_UnitdataInd);
+	   ASP_SCCP_N_NOTICE_ind -> RANAP_N_NOTICE_ind: function(f_dec_NoticeInd);
+	   ASP_SCCP_N_RESET_ind -> ASP_SCCP_N_RESET_ind: simple;
+	   ASP_SCCP_N_RESET_cfm -> ASP_SCCP_N_RESET_cfm: simple;
+	   ASP_SCCP_N_STATE_ind -> ASP_SCCP_N_STATE_ind: simple)"
+}
+
+
+}
diff --git a/library/ranap/RANAP_CommonDataTypes.asn b/library/ranap/RANAP_CommonDataTypes.asn
new file mode 100644
index 0000000..0287dfc
--- /dev/null
+++ b/library/ranap/RANAP_CommonDataTypes.asn
@@ -0,0 +1,40 @@
+-- RANAP-CommonDataTypes.asn
+--
+-- 3GPP TS 25.413 V14.0.0 (2017-03)
+-- http://www.3gpp.org/ftp/Specs/html-info/25413.htm
+--
+-- 9.3.5	Common Definitions
+--
+
+-- **************************************************************
+--
+-- Common definitions
+--
+-- **************************************************************
+
+RANAP-CommonDataTypes {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) ranap (0) version1 (1) ranap-CommonDataTypes (3) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+Criticality		::= ENUMERATED { reject, ignore, notify }
+
+Presence		::= ENUMERATED { optional, conditional, mandatory }
+
+PrivateIE-ID	::= CHOICE {
+	local				INTEGER (0..65535),
+	global				OBJECT IDENTIFIER
+}
+
+ProcedureCode		::= INTEGER (0..255)
+
+ProtocolExtensionID	::= INTEGER (0..65535)
+
+ProtocolIE-ID		::= INTEGER (0..65535)
+
+TriggeringMessage	::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome, outcome }
+
+END
diff --git a/library/ranap/RANAP_Constants.asn b/library/ranap/RANAP_Constants.asn
new file mode 100644
index 0000000..46360d0
--- /dev/null
+++ b/library/ranap/RANAP_Constants.asn
@@ -0,0 +1,436 @@
+-- RANAP-Constants.asn
+--
+-- 3GPP TS 25.413 V14.0.0 (2017-03)
+-- http://www.3gpp.org/ftp/Specs/html-info/25413.htm
+--
+-- 9.3.6	Constant Definitions
+--
+-- **************************************************************
+--
+-- Constant definitions
+--
+-- **************************************************************
+
+RANAP-Constants {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) ranap (0) version1 (1) ranap-Constants (4) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- Elementary Procedures
+--
+-- **************************************************************
+
+id-RAB-Assignment					INTEGER ::= 0
+id-Iu-Release						INTEGER ::= 1
+id-RelocationPreparation			INTEGER ::= 2
+id-RelocationResourceAllocation		INTEGER ::= 3
+id-RelocationCancel					INTEGER ::= 4
+id-SRNS-ContextTransfer				INTEGER ::= 5
+id-SecurityModeControl				INTEGER ::= 6
+id-DataVolumeReport					INTEGER ::= 7
+--WS Extension
+id-Not-Used-8						INTEGER ::= 8
+id-Reset							INTEGER ::= 9
+id-RAB-ReleaseRequest				INTEGER ::= 10
+id-Iu-ReleaseRequest				INTEGER ::= 11
+id-RelocationDetect					INTEGER ::= 12
+id-RelocationComplete				INTEGER ::= 13
+id-Paging							INTEGER ::= 14
+id-CommonID							INTEGER ::= 15
+id-CN-InvokeTrace					INTEGER ::= 16
+id-LocationReportingControl			INTEGER ::= 17
+id-LocationReport					INTEGER ::= 18
+id-InitialUE-Message				INTEGER ::= 19
+id-DirectTransfer					INTEGER ::= 20
+id-OverloadControl					INTEGER ::= 21
+id-ErrorIndication					INTEGER ::= 22
+id-SRNS-DataForward					INTEGER ::= 23
+id-ForwardSRNS-Context				INTEGER ::= 24
+id-privateMessage					INTEGER ::= 25
+id-CN-DeactivateTrace				INTEGER ::= 26
+id-ResetResource					INTEGER ::= 27
+id-RANAP-Relocation					INTEGER ::= 28
+id-RAB-ModifyRequest				INTEGER ::= 29
+id-LocationRelatedData				INTEGER ::= 30
+id-InformationTransfer				INTEGER ::= 31
+id-UESpecificInformation			INTEGER ::= 32
+id-UplinkInformationExchange		INTEGER ::= 33
+id-DirectInformationTransfer		INTEGER ::= 34
+id-MBMSSessionStart					INTEGER ::= 35
+id-MBMSSessionUpdate				INTEGER ::= 36
+id-MBMSSessionStop					INTEGER ::= 37
+id-MBMSUELinking					INTEGER ::= 38
+id-MBMSRegistration					INTEGER ::= 39
+id-MBMSCNDe-Registration-Procedure	INTEGER ::= 40
+id-MBMSRABEstablishmentIndication	INTEGER ::= 41
+id-MBMSRABRelease					INTEGER ::= 42
+id-enhancedRelocationComplete		INTEGER ::= 43
+id-enhancedRelocationCompleteConfirm	INTEGER ::= 44
+id-RANAPenhancedRelocation			INTEGER ::= 45
+id-SRVCCPreparation					INTEGER ::= 46
+id-UeRadioCapabilityMatch					INTEGER ::= 47
+id-UeRegistrationQuery						INTEGER ::= 48
+id-RerouteNASRequest						INTEGER ::= 49
+
+-- **************************************************************
+--
+-- Extension constants
+--
+-- **************************************************************
+
+maxPrivateIEs 						INTEGER ::= 65535
+maxProtocolExtensions 				INTEGER ::= 65535
+maxProtocolIEs						INTEGER ::= 65535
+
+-- **************************************************************
+--
+-- Lists
+--
+-- **************************************************************
+
+maxNrOfDTs							INTEGER ::= 15
+maxNrOfErrors						INTEGER ::= 256
+maxNrOfIuSigConIds					INTEGER ::= 250
+maxNrOfPDPDirections				INTEGER ::= 2
+maxNrOfPoints						INTEGER ::= 15
+maxNrOfRABs							INTEGER ::= 256
+maxNrOfSeparateTrafficDirections	INTEGER ::= 2
+maxNrOfSRBs							INTEGER ::= 8
+maxNrOfVol							INTEGER ::= 2
+maxNrOfLevels						INTEGER ::= 256
+maxNrOfAltValues					INTEGER ::= 16
+maxNrOfPLMNsSN						INTEGER ::= 32
+maxNrOfLAs							INTEGER ::= 65536
+maxNrOfSNAs							INTEGER ::= 65536
+maxNrOfUEsToBeTraced				INTEGER ::= 64
+maxNrOfInterfaces					INTEGER ::= 16
+maxRAB-Subflows						INTEGER ::= 7
+maxRAB-SubflowCombination			INTEGER ::= 64
+maxSet								INTEGER ::= 9
+maxNrOfHSDSCHMACdFlows-1			INTEGER	::= 7
+maxnoofMulticastServicesPerUE		INTEGER ::= 128
+maxnoofMulticastServicesPerRNC		INTEGER ::= 512
+maxMBMSSA							INTEGER ::= 256
+maxMBMSRA							INTEGER ::= 65536
+maxNrOfEDCHMACdFlows-1				INTEGER ::= 7
+maxGANSSSet							INTEGER ::= 9
+maxNrOfCSGs							INTEGER ::= 256
+maxNrOfEUTRAFreqs					INTEGER ::= 8
+maxNrOfCellIds						INTEGER ::= 32
+maxNrOfRAIs							INTEGER ::= 8
+maxNrOfLAIs							INTEGER ::= 8
+maxSizeOfIMSInfo					INTEGER ::= 32
+maxnoofMDTPLMNs						INTEGER ::= 16
+maxAddPosSet						INTEGER ::= 8
+maxnoofPLMNs						INTEGER ::= 16
+
+-- **************************************************************
+--
+-- IEs
+--
+-- **************************************************************
+
+id-AreaIdentity 								INTEGER ::= 0
+-- WS Extension
+id-Not-Used-1 									INTEGER ::= 1
+id-Not-Used-2 									INTEGER ::= 2
+id-CN-DomainIndicator 							INTEGER ::= 3
+id-Cause 										INTEGER ::= 4
+id-ChosenEncryptionAlgorithm 					INTEGER ::= 5
+id-ChosenIntegrityProtectionAlgorithm 			INTEGER ::= 6
+id-ClassmarkInformation2 						INTEGER ::= 7
+id-ClassmarkInformation3 						INTEGER ::= 8
+id-CriticalityDiagnostics 						INTEGER ::= 9
+id-DL-GTP-PDU-SequenceNumber 					INTEGER ::= 10
+id-EncryptionInformation 						INTEGER ::= 11
+id-IntegrityProtectionInformation 				INTEGER ::= 12
+id-IuTransportAssociation 						INTEGER ::= 13
+id-L3-Information 								INTEGER ::= 14
+id-LAI 											INTEGER ::= 15
+id-NAS-PDU 										INTEGER ::= 16
+id-NonSearchingIndication 						INTEGER ::= 17
+id-NumberOfSteps 								INTEGER ::= 18
+id-OMC-ID 										INTEGER ::= 19
+id-OldBSS-ToNewBSS-Information 					INTEGER ::= 20
+id-PagingAreaID 								INTEGER ::= 21
+id-PagingCause 									INTEGER ::= 22
+id-PermanentNAS-UE-ID 							INTEGER ::= 23
+id-RAB-ContextItem 								INTEGER ::= 24
+id-RAB-ContextList 								INTEGER ::= 25
+id-RAB-DataForwardingItem 						INTEGER ::= 26
+id-RAB-DataForwardingItem-SRNS-CtxReq 			INTEGER ::= 27
+id-RAB-DataForwardingList 						INTEGER ::= 28
+id-RAB-DataForwardingList-SRNS-CtxReq 			INTEGER ::= 29
+id-RAB-DataVolumeReportItem 					INTEGER ::= 30
+id-RAB-DataVolumeReportList 					INTEGER ::= 31
+id-RAB-DataVolumeReportRequestItem 				INTEGER ::= 32
+id-RAB-DataVolumeReportRequestList 				INTEGER ::= 33
+id-RAB-FailedItem 								INTEGER ::= 34
+id-RAB-FailedList 								INTEGER ::= 35
+id-RAB-ID 										INTEGER ::= 36
+id-RAB-QueuedItem 								INTEGER ::= 37
+id-RAB-QueuedList 								INTEGER ::= 38
+id-RAB-ReleaseFailedList 						INTEGER ::= 39
+id-RAB-ReleaseItem 								INTEGER ::= 40
+id-RAB-ReleaseList 								INTEGER ::= 41
+id-RAB-ReleasedItem 							INTEGER ::= 42
+id-RAB-ReleasedList 							INTEGER ::= 43
+id-RAB-ReleasedList-IuRelComp 					INTEGER ::= 44
+id-RAB-RelocationReleaseItem 					INTEGER ::= 45
+id-RAB-RelocationReleaseList 					INTEGER ::= 46
+id-RAB-SetupItem-RelocReq 						INTEGER ::= 47
+id-RAB-SetupItem-RelocReqAck 					INTEGER ::= 48
+id-RAB-SetupList-RelocReq 						INTEGER ::= 49
+id-RAB-SetupList-RelocReqAck 					INTEGER ::= 50
+id-RAB-SetupOrModifiedItem 						INTEGER ::= 51
+id-RAB-SetupOrModifiedList 						INTEGER ::= 52
+id-RAB-SetupOrModifyItem 						INTEGER ::= 53
+id-RAB-SetupOrModifyList 						INTEGER ::= 54
+id-RAC 											INTEGER ::= 55
+id-RelocationType 								INTEGER ::= 56
+id-RequestType 									INTEGER ::= 57
+id-SAI 											INTEGER ::= 58
+id-SAPI 										INTEGER ::= 59
+id-SourceID 									INTEGER ::= 60
+id-Source-ToTarget-TransparentContainer 		INTEGER ::= 61
+id-TargetID 									INTEGER ::= 62
+id-Target-ToSource-TransparentContainer 		INTEGER ::= 63
+id-TemporaryUE-ID 								INTEGER ::= 64
+id-TraceReference 								INTEGER ::= 65
+id-TraceType 									INTEGER ::= 66
+id-TransportLayerAddress 						INTEGER ::= 67
+id-TriggerID 									INTEGER ::= 68
+id-UE-ID 										INTEGER ::= 69
+id-UL-GTP-PDU-SequenceNumber 					INTEGER ::= 70
+id-RAB-FailedtoReportItem						INTEGER ::= 71
+id-RAB-FailedtoReportList 						INTEGER ::= 72
+-- WS Extension
+id-Not-Used-73 									INTEGER ::= 73
+id-Not-Used-74 									INTEGER ::= 74
+id-KeyStatus									INTEGER ::= 75
+id-DRX-CycleLengthCoefficient 					INTEGER ::= 76
+id-IuSigConIdList								INTEGER ::= 77
+id-IuSigConIdItem								INTEGER ::= 78
+id-IuSigConId									INTEGER ::= 79
+id-DirectTransferInformationItem-RANAP-RelocInf	INTEGER ::= 80
+id-DirectTransferInformationList-RANAP-RelocInf	INTEGER ::= 81
+id-RAB-ContextItem-RANAP-RelocInf				INTEGER ::= 82
+id-RAB-ContextList-RANAP-RelocInf				INTEGER ::= 83
+id-RAB-ContextFailedtoTransferItem				INTEGER ::= 84
+id-RAB-ContextFailedtoTransferList				INTEGER ::= 85
+id-GlobalRNC-ID									INTEGER ::= 86
+id-RAB-ReleasedItem-IuRelComp					INTEGER ::= 87
+id-MessageStructure								INTEGER ::= 88
+id-Alt-RAB-Parameters							INTEGER ::= 89
+id-Ass-RAB-Parameters							INTEGER ::= 90
+id-RAB-ModifyList								INTEGER ::= 91
+id-RAB-ModifyItem								INTEGER ::= 92
+id-TypeOfError									INTEGER ::= 93
+id-BroadcastAssistanceDataDecipheringKeys		INTEGER ::= 94
+id-LocationRelatedDataRequestType				INTEGER ::= 95
+id-GlobalCN-ID									INTEGER ::= 96
+id-LastKnownServiceArea							INTEGER ::= 97
+id-SRB-TrCH-Mapping								INTEGER ::= 98
+id-InterSystemInformation-TransparentContainer	INTEGER ::= 99
+id-NewBSS-To-OldBSS-Information 						INTEGER ::= 100
+-- WS extension
+id-Not-Used-101											INTEGER ::= 101
+id-Not-Used-102											INTEGER ::= 102
+id-SourceRNC-PDCP-context-info							INTEGER ::= 103
+id-InformationTransferID								INTEGER ::= 104
+id-SNA-Access-Information								INTEGER ::= 105
+id-ProvidedData											INTEGER ::= 106
+id-GERAN-BSC-Container									INTEGER ::= 107
+id-GERAN-Classmark										INTEGER ::= 108
+id-GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item		INTEGER ::= 109
+id-GERAN-Iumode-RAB-FailedList-RABAssgntResponse		INTEGER ::= 110
+id-VerticalAccuracyCode									INTEGER ::= 111
+id-ResponseTime											INTEGER ::= 112
+id-PositioningPriority									INTEGER ::= 113
+id-ClientType											INTEGER ::= 114
+id-LocationRelatedDataRequestTypeSpecificToGERANIuMode	INTEGER ::= 115
+id-SignallingIndication									INTEGER ::= 116
+id-hS-DSCH-MAC-d-Flow-ID								INTEGER ::= 117
+id-UESBI-Iu												INTEGER ::= 118
+id-PositionData											INTEGER ::= 119
+id-PositionDataSpecificToGERANIuMode					INTEGER ::= 120
+id-CellLoadInformationGroup								INTEGER ::= 121
+id-AccuracyFulfilmentIndicator							INTEGER ::= 122
+id-InformationTransferType								INTEGER ::= 123
+id-TraceRecordingSessionInformation						INTEGER ::= 124
+id-TracePropagationParameters							INTEGER ::= 125
+id-InterSystemInformationTransferType					INTEGER ::= 126
+id-SelectedPLMN-ID										INTEGER ::= 127
+id-RedirectionCompleted									INTEGER ::= 128
+id-RedirectionIndication								INTEGER ::= 129
+id-NAS-SequenceNumber									INTEGER ::= 130
+id-RejectCauseValue										INTEGER ::= 131
+id-APN													INTEGER ::= 132
+id-CNMBMSLinkingInformation								INTEGER ::= 133
+id-DeltaRAListofIdleModeUEs								INTEGER ::= 134
+id-FrequenceLayerConvergenceFlag						INTEGER ::= 135
+id-InformationExchangeID								INTEGER ::= 136
+id-InformationExchangeType								INTEGER ::= 137
+id-InformationRequested									INTEGER ::= 138
+id-InformationRequestType								INTEGER ::= 139
+id-IPMulticastAddress									INTEGER ::= 140
+id-JoinedMBMSBearerServicesList							INTEGER ::= 141
+id-LeftMBMSBearerServicesList							INTEGER ::= 142
+id-MBMSBearerServiceType								INTEGER ::= 143
+id-MBMSCNDe-Registration								INTEGER ::= 144
+id-MBMSServiceArea										INTEGER ::= 145
+id-MBMSSessionDuration									INTEGER ::= 146
+id-MBMSSessionIdentity									INTEGER ::= 147
+id-PDP-TypeInformation									INTEGER ::= 148
+id-RAB-Parameters										INTEGER ::= 149
+id-RAListofIdleModeUEs									INTEGER ::= 150
+id-MBMSRegistrationRequestType							INTEGER ::= 151
+id-SessionUpdateID										INTEGER ::= 152
+id-TMGI													INTEGER ::= 153
+id-TransportLayerInformation							INTEGER ::= 154
+id-UnsuccessfulLinkingList								INTEGER ::= 155
+id-MBMSLinkingInformation								INTEGER ::= 156
+id-MBMSSessionRepetitionNumber							INTEGER ::= 157
+id-AlternativeRABConfiguration							INTEGER ::= 158
+id-AlternativeRABConfigurationRequest					INTEGER ::= 159
+id-E-DCH-MAC-d-Flow-ID									INTEGER ::= 160
+id-SourceBSS-ToTargetBSS-TransparentContainer			INTEGER ::= 161
+id-TargetBSS-ToSourceBSS-TransparentContainer			INTEGER ::= 162
+id-TimeToMBMSDataTransfer								INTEGER ::= 163
+id-IncludeVelocity										INTEGER ::= 164
+id-VelocityEstimate										INTEGER ::= 165
+id-RedirectAttemptFlag									INTEGER ::= 166
+id-RAT-Type												INTEGER ::= 167
+id-PeriodicLocationInfo									INTEGER ::= 168
+id-MBMSCountingInformation								INTEGER ::= 169
+id-170-not-to-be-used-for-IE-ids						INTEGER ::= 170
+id-ExtendedRNC-ID										INTEGER ::= 171
+id-Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf		INTEGER ::= 172
+id-Alt-RAB-Parameter-ExtendedMaxBitrateInf				INTEGER ::= 173
+id-Ass-RAB-Parameter-ExtendedGuaranteedBitrateList		INTEGER ::= 174
+id-Ass-RAB-Parameter-ExtendedMaxBitrateList				INTEGER ::= 175
+id-RAB-Parameter-ExtendedGuaranteedBitrateList			INTEGER ::= 176
+id-RAB-Parameter-ExtendedMaxBitrateList					INTEGER ::= 177
+id-Requested-RAB-Parameter-ExtendedMaxBitrateList		INTEGER ::= 178
+id-Requested-RAB-Parameter-ExtendedGuaranteedBitrateList	INTEGER ::= 179
+id-LAofIdleModeUEs										INTEGER ::= 180
+id-newLAListofIdleModeUEs								INTEGER ::= 181
+id-LAListwithNoIdleModeUEsAnyMore						INTEGER ::= 182
+id-183-not-to-be-used-for-IE-ids						INTEGER ::= 183
+id-GANSS-PositioningDataSet								INTEGER ::= 184
+id-RequestedGANSSAssistanceData							INTEGER ::= 185
+id-BroadcastGANSSAssistanceDataDecipheringKeys			INTEGER ::= 186
+id-d-RNTI-for-NoIuCSUP									INTEGER ::= 187
+id-RAB-SetupList-EnhancedRelocCompleteReq				INTEGER ::= 188
+id-RAB-SetupItem-EnhancedRelocCompleteReq				INTEGER ::= 189
+id-RAB-SetupList-EnhancedRelocCompleteRes				INTEGER ::= 190
+id-RAB-SetupItem-EnhancedRelocCompleteRes				INTEGER ::= 191
+id-RAB-SetupList-EnhRelocInfoReq						INTEGER ::= 192
+id-RAB-SetupItem-EnhRelocInfoReq						INTEGER ::= 193
+id-RAB-SetupList-EnhRelocInfoRes						INTEGER ::= 194
+id-RAB-SetupItem-EnhRelocInfoRes						INTEGER ::= 195
+id-OldIuSigConId										INTEGER ::= 196
+id-RAB-FailedList-EnhRelocInfoRes						INTEGER ::= 197
+id-RAB-FailedItem-EnhRelocInfoRes						INTEGER ::= 198
+id-Global-ENB-ID										INTEGER ::= 199
+id-UE-History-Information								INTEGER ::= 200
+id-MBMSSynchronisationInformation						INTEGER ::= 201
+id-SubscriberProfileIDforRFP							INTEGER ::= 202
+id-CSG-Id												INTEGER ::= 203
+id-OldIuSigConIdCS										INTEGER ::= 204
+id-OldIuSigConIdPS										INTEGER ::= 205
+id-GlobalCN-IDCS										INTEGER ::= 206
+id-GlobalCN-IDPS										INTEGER ::= 207
+id-SourceExtendedRNC-ID									INTEGER ::= 208
+id-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes		INTEGER ::= 209
+id-RAB-ToBeReleasedList-EnhancedRelocCompleteRes		INTEGER ::= 210
+id-SourceRNC-ID											INTEGER ::= 211
+id-Relocation-TargetRNC-ID								INTEGER ::= 212
+id-Relocation-TargetExtendedRNC-ID						INTEGER ::= 213
+id-Alt-RAB-Parameter-SupportedGuaranteedBitrateInf		INTEGER ::= 214
+id-Alt-RAB-Parameter-SupportedMaxBitrateInf				INTEGER ::= 215
+id-Ass-RAB-Parameter-SupportedGuaranteedBitrateList		INTEGER ::= 216
+id-Ass-RAB-Parameter-SupportedMaxBitrateList			INTEGER ::= 217
+id-RAB-Parameter-SupportedGuaranteedBitrateList			INTEGER ::= 218
+id-RAB-Parameter-SupportedMaxBitrateList				INTEGER ::= 219
+id-Requested-RAB-Parameter-SupportedMaxBitrateList		INTEGER ::= 220
+id-Requested-RAB-Parameter-SupportedGuaranteedBitrateList	INTEGER ::= 221
+id-Relocation-SourceRNC-ID								INTEGER ::= 222
+id-Relocation-SourceExtendedRNC-ID						INTEGER ::= 223
+id-EncryptionKey										INTEGER ::= 224
+id-IntegrityProtectionKey								INTEGER ::= 225
+id-SRVCC-HO-Indication									INTEGER ::= 226
+id-SRVCC-Information									INTEGER ::= 227
+id-SRVCC-Operation-Possible								INTEGER ::= 228
+id-CSG-Id-List											INTEGER ::= 229
+id-PSRABtobeReplaced									INTEGER ::= 230
+id-E-UTRAN-Service-Handover								INTEGER ::= 231
+-- WS Extension
+id-Not-Used-232											INTEGER ::= 232
+id-UE-AggregateMaximumBitRate							INTEGER ::= 233
+id-CSG-Membership-Status 								INTEGER ::= 234
+id-Cell-Access-Mode										INTEGER ::= 235
+id-IP-Source-Address									INTEGER ::= 236
+id-CSFB-Information										INTEGER ::= 237
+id-PDP-TypeInformation-extension						INTEGER ::= 238
+id-MSISDN												INTEGER ::= 239
+id-Offload-RAB-Parameters								INTEGER ::= 240
+id-LGW-TransportLayerAddress							INTEGER ::= 241
+id-Correlation-ID										INTEGER ::= 242
+id-IRAT-Measurement-Configuration						INTEGER ::= 243
+id-MDT-Configuration									INTEGER ::= 244
+id-Priority-Class-Indicator								INTEGER ::= 245
+id-RNSAPRelocationParameters							INTEGER ::= 247
+id-RABParametersList									INTEGER ::= 248
+id-Management-Based-MDT-Allowed							INTEGER ::= 249
+id-HigherBitratesThan16MbpsFlag							INTEGER ::= 250
+id-Trace-Collection-Entity-IP-Addess					INTEGER ::= 251
+id-End-Of-CSFB											INTEGER ::= 252
+id-Time-UE-StayedInCell-EnhancedGranularity				INTEGER ::= 253
+id-Out-Of-UTRAN											INTEGER ::= 254
+id-TraceRecordingSessionReference				INTEGER ::= 255
+id-IMSI											INTEGER ::= 256
+id-HO-Cause												INTEGER ::= 257
+id-VoiceSupportMatchIndicator							INTEGER ::= 258
+id-RSRVCC-HO-Indication									INTEGER ::= 259
+id-RSRVCC-Information									INTEGER ::= 260
+id-AnchorPLMN-ID										INTEGER ::= 261
+id-Tunnel-Information-for-BBF							INTEGER ::= 262
+id-Management-Based-MDT-PLMN-List						INTEGER ::= 263
+id-SignallingBasedMDTPLMNList							INTEGER ::= 264
+id-M4Report												INTEGER ::= 265
+id-M5Report												INTEGER ::= 266
+id-M6Report												INTEGER ::= 267
+id-M7Report												INTEGER ::= 268
+id-TimingDifferenceULDL									INTEGER ::= 269
+id-Serving-Cell-Identifier								INTEGER ::= 270
+id-EARFCN-Extended										INTEGER ::= 271
+id-RSRVCC-Operation-Possible							INTEGER ::= 272
+id-SIPTO-LGW-TransportLayerAddress						INTEGER ::= 273
+id-SIPTO-Correlation-ID									INTEGER ::= 274
+id-LHN-ID												INTEGER ::= 275
+id-Session-Re-establishment-Indicator					INTEGER ::= 276
+id-LastE-UTRANPLMNIdentity								INTEGER ::= 277
+id-RSRQ-Type											INTEGER ::= 278
+id-RSRQ-Extension										INTEGER ::= 279
+id-Additional-CSPS-coordination-information				INTEGER ::= 280
+id-UERegistrationQueryResult							INTEGER ::= 281
+id-IuSigConIdRangeEnd									INTEGER ::= 282
+id-BarometricPressure									INTEGER ::= 283
+id-Additional-PositioningDataSet 						INTEGER ::= 284
+id-CivicAddress											INTEGER ::= 285
+id-SGSN-Group-Identity									INTEGER ::= 286
+id-P-TMSI												INTEGER ::= 287
+id-RANAP-Message										INTEGER ::= 288
+id-PowerSavingIndicator									INTEGER ::= 289
+id-UE-Usage-Type										INTEGER ::= 290
+id-DCN-ID												INTEGER ::= 291
+id-UE-Application-Layer-Measurement-Configuration				INTEGER ::= 292
+id-UE-Application-Layer-Measurement-Configuration-For-Relocation				INTEGER ::= 293
+
+END
diff --git a/library/ranap/RANAP_Containers.asn b/library/ranap/RANAP_Containers.asn
new file mode 100644
index 0000000..f920a62
--- /dev/null
+++ b/library/ranap/RANAP_Containers.asn
@@ -0,0 +1,202 @@
+-- RANAP-Containers.asn
+--
+-- 3GPP TS 25.413 V14.0.0 (2017-03)
+-- http://www.3gpp.org/ftp/Specs/html-info/25413.htm
+--
+-- 9.3.7	Container Definitions
+--
+
+-- **************************************************************
+--
+-- Container definitions
+--
+-- **************************************************************
+
+RANAP-Containers {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) ranap (0) version1 (1) ranap-Containers (5) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+	Criticality,
+	Presence,
+	PrivateIE-ID,
+	ProtocolExtensionID,
+	ProtocolIE-ID
+FROM RANAP-CommonDataTypes
+
+	maxPrivateIEs,
+	maxProtocolExtensions,
+	maxProtocolIEs
+FROM RANAP-Constants;
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+RANAP-PROTOCOL-IES ::= CLASS {
+	&id				ProtocolIE-ID 					UNIQUE,
+	&criticality			Criticality,
+	&Value,
+	&presence			Presence
+}
+WITH SYNTAX {
+	ID				&id
+	CRITICALITY			&criticality
+	TYPE				&Value
+	PRESENCE			&presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol IEs
+--
+-- **************************************************************
+
+RANAP-PROTOCOL-IES-PAIR ::= CLASS {
+	&id				ProtocolIE-ID 					UNIQUE,
+	&firstCriticality		Criticality,
+	&FirstValue,
+	&secondCriticality		Criticality,
+	&SecondValue,
+	&presence			Presence
+}
+WITH SYNTAX {
+	ID				&id
+	FIRST CRITICALITY 		&firstCriticality
+	FIRST TYPE			&FirstValue
+	SECOND CRITICALITY 		&secondCriticality
+	SECOND TYPE			&SecondValue
+	PRESENCE			&presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Protocol Extensions
+--
+-- **************************************************************
+
+RANAP-PROTOCOL-EXTENSION ::= CLASS {
+	&id				ProtocolExtensionID 				UNIQUE,
+	&criticality			Criticality,
+	&Extension,
+	&presence		Presence
+}
+WITH SYNTAX {
+	ID				&id
+	CRITICALITY			&criticality
+	EXTENSION			&Extension
+	PRESENCE		&presence
+}
+
+-- **************************************************************
+--
+-- Class Definition for Private IEs
+--
+-- **************************************************************
+
+RANAP-PRIVATE-IES ::= CLASS {
+	&id				PrivateIE-ID,
+	&criticality			Criticality,
+	&Value,
+	&presence		Presence
+}
+WITH SYNTAX {
+	ID				&id
+	CRITICALITY			&criticality
+	TYPE			&Value
+	PRESENCE		&presence
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IEs
+--
+-- **************************************************************
+
+ProtocolIE-Container {RANAP-PROTOCOL-IES : IEsSetParam} ::=
+	SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+	ProtocolIE-Field {{IEsSetParam}}
+
+ProtocolIE-Field {RANAP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
+	id				RANAP-PROTOCOL-IES.&id				({IEsSetParam}),
+	criticality			RANAP-PROTOCOL-IES.&criticality			({IEsSetParam}{@id}),
+	value				RANAP-PROTOCOL-IES.&Value			({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Protocol IE Pairs
+--
+-- **************************************************************
+
+ProtocolIE-ContainerPair {RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+	SEQUENCE (SIZE (0..maxProtocolIEs)) OF
+	ProtocolIE-FieldPair {{IEsSetParam}}
+
+ProtocolIE-FieldPair {RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
+	id						RANAP-PROTOCOL-IES-PAIR.&id						({IEsSetParam}),
+	firstCriticality		RANAP-PROTOCOL-IES-PAIR.&firstCriticality		({IEsSetParam}{@id}),
+	firstValue				RANAP-PROTOCOL-IES-PAIR.&FirstValue				({IEsSetParam}{@id}),
+	secondCriticality		RANAP-PROTOCOL-IES-PAIR.&secondCriticality		({IEsSetParam}{@id}),
+	secondValue				RANAP-PROTOCOL-IES-PAIR.&SecondValue			({IEsSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container Lists for Protocol IE Containers
+--
+-- **************************************************************
+
+ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, RANAP-PROTOCOL-IES : IEsSetParam} ::=
+	SEQUENCE (SIZE (lowerBound..upperBound)) OF
+	ProtocolIE-Container {{IEsSetParam}}
+
+ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, RANAP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+	SEQUENCE (SIZE (lowerBound..upperBound)) OF
+	ProtocolIE-ContainerPair {{IEsSetParam}}
+
+-- **************************************************************
+--
+-- Container for Protocol Extensions
+--
+-- **************************************************************
+
+ProtocolExtensionContainer {RANAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
+	SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
+	ProtocolExtensionField {{ExtensionSetParam}}
+
+ProtocolExtensionField {RANAP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
+	id				RANAP-PROTOCOL-EXTENSION.&id			({ExtensionSetParam}),
+	criticality			RANAP-PROTOCOL-EXTENSION.&criticality		({ExtensionSetParam}{@id}),
+	extensionValue			RANAP-PROTOCOL-EXTENSION.&Extension		({ExtensionSetParam}{@id})
+}
+
+-- **************************************************************
+--
+-- Container for Private IEs
+--
+-- **************************************************************
+
+PrivateIE-Container {RANAP-PRIVATE-IES : IEsSetParam } ::=
+	SEQUENCE (SIZE (1.. maxPrivateIEs)) OF
+	PrivateIE-Field {{IEsSetParam}}
+
+PrivateIE-Field {RANAP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
+	id				RANAP-PRIVATE-IES.&id			({IEsSetParam}),
+	criticality			RANAP-PRIVATE-IES.&criticality		({IEsSetParam}{@id}),
+	value			RANAP-PRIVATE-IES.&Value		({IEsSetParam}{@id})
+}
+
+END
diff --git a/library/ranap/RANAP_EncDec.cc b/library/ranap/RANAP_EncDec.cc
new file mode 100644
index 0000000..7626b7b
--- /dev/null
+++ b/library/ranap/RANAP_EncDec.cc
@@ -0,0 +1,66 @@
+
+#include <string.h>
+#include <stdarg.h>
+#include "RANAP_PDU_Descriptions.hh"
+
+extern "C" {
+#include <fftranscode/transcode.h>
+}
+
+namespace RANAP__Types {
+
+TTCN_Module RANAP__EncDec("RANAP_EncDec", __DATE__, __TIME__);
+
+OCTETSTRING enc__RANAP__PDU(const RANAP__PDU__Descriptions::RANAP__PDU &pdu)
+{
+	uint8_t *aper_buf;
+	int aper_buf_len;
+	TTCN_Buffer TTCN_buf;
+	TTCN_buf.clear();
+
+	/* Encode from abstract data type into BER/DER */
+	pdu.encode(RANAP__PDU__Descriptions::RANAP__PDU_descr_, TTCN_buf,
+		   TTCN_EncDec::CT_BER, BER_ENCODE_DER);
+
+	aper_buf_len = fftranscode_ber2aper(FFTRANSC_T_RANAP, &aper_buf, TTCN_buf.get_data(), TTCN_buf.get_len());
+	if (aper_buf_len < 0) {
+		TTCN_Logger::begin_event_log2str();
+		TTCN_buf.log();
+		TTCN_error("fftranscode_ber2aper failed: %s", (const char *) TTCN_Logger::end_event_log2str());
+	}
+
+	/* make octetstring from output buffer */
+	OCTETSTRING ret_val(aper_buf_len, aper_buf);
+
+	/* release dynamically-allocated output buffer */
+	fftranscode_free(aper_buf);
+
+	return ret_val;
+}
+
+RANAP__PDU__Descriptions::RANAP__PDU dec__RANAP__PDU(const OCTETSTRING &stream)
+{
+	uint8_t *ber_buf;
+	int ber_buf_len;
+
+	/* First, decode APER + re-encode as BER */
+	ber_buf_len = fftranscode_aper2ber(FFTRANSC_T_RANAP, &ber_buf, (const unsigned char *)stream, stream.lengthof());
+	if (ber_buf_len < 0) {
+		TTCN_error("fftranscode_aper2ber failed.");
+	}
+
+	/* Then, re-encode from BER to TITAN representation */
+	RANAP__PDU__Descriptions::RANAP__PDU ret_dcc;
+	TTCN_Buffer TTCN_buf;
+	TTCN_buf.clear();
+	TTCN_buf.put_s(ber_buf_len, ber_buf);
+
+	ret_dcc.decode(RANAP__PDU__Descriptions::RANAP__PDU_descr_, TTCN_buf,
+			TTCN_EncDec::CT_BER, BER_ACCEPT_ALL);
+
+	fftranscode_free(ber_buf);
+
+	return ret_dcc;
+}
+
+}
diff --git a/library/ranap/RANAP_IEs.asn b/library/ranap/RANAP_IEs.asn
new file mode 100644
index 0000000..3b47d01
--- /dev/null
+++ b/library/ranap/RANAP_IEs.asn
@@ -0,0 +1,2796 @@
+-- RANAP-IEs.asn
+--
+-- 3GPP TS 25.413 V14.0.0 (2017-03)
+-- http://www.3gpp.org/ftp/Specs/html-info/25413.htm
+--
+-- 9.3.4	Information Element Definitions
+--
+
+-- **************************************************************
+--
+-- Information Element Definitions
+--
+-- **************************************************************
+
+RANAP-IEs {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) ranap (0) version1 (1) ranap-IEs (2) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+IMPORTS
+	maxNrOfCSGs,
+	maxNrOfErrors,
+	maxNrOfPDPDirections,
+	maxNrOfPoints,
+	maxNrOfRABs,
+	maxNrOfSRBs,
+	maxNrOfSeparateTrafficDirections,
+	maxRAB-Subflows,
+	maxRAB-SubflowCombination,
+	maxNrOfLevels,
+	maxNrOfAltValues,
+	maxNrOfSNAs,
+	maxNrOfLAs,
+	maxNrOfPLMNsSN,
+	maxSet,
+	maxNrOfHSDSCHMACdFlows-1,
+	maxNrOfUEsToBeTraced,
+	maxNrOfInterfaces,
+	maxnoofMulticastServicesPerRNC,
+	maxMBMSSA,
+	maxMBMSRA,
+	maxnoofMulticastServicesPerUE,
+	maxNrOfEDCHMACdFlows-1,
+	maxGANSSSet,
+	maxNrOfEUTRAFreqs,
+	maxNrOfCellIds,
+	maxNrOfRAIs,
+	maxNrOfLAIs,
+	maxNrOfVol,
+	maxSizeOfIMSInfo,
+	maxnoofMDTPLMNs,
+	maxAddPosSet,
+	maxnoofPLMNs,
+
+	id-CN-DomainIndicator,
+	id-MessageStructure,
+	id-SRB-TrCH-Mapping,
+	id-TypeOfError,
+	id-hS-DSCH-MAC-d-Flow-ID,
+	id-SignallingIndication,
+	id-CellLoadInformationGroup,
+	id-TraceRecordingSessionInformation,
+	id-MBMSLinkingInformation,
+	id-AlternativeRABConfiguration,
+	id-AlternativeRABConfigurationRequest,
+	id-E-DCH-MAC-d-Flow-ID,
+	id-RAC,
+	id-Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf,
+	id-Alt-RAB-Parameter-ExtendedMaxBitrateInf,
+	id-Ass-RAB-Parameter-ExtendedGuaranteedBitrateList,
+	id-Ass-RAB-Parameter-ExtendedMaxBitrateList,
+	id-RAB-Parameter-ExtendedGuaranteedBitrateList,
+	id-RAB-Parameter-ExtendedMaxBitrateList,
+	id-Requested-RAB-Parameter-ExtendedMaxBitrateList,
+	id-Requested-RAB-Parameter-ExtendedGuaranteedBitrateList,
+	id-LAofIdleModeUEs,
+	id-newLAListofIdleModeUEs,
+	id-LAListwithNoIdleModeUEsAnyMore,
+	id-ExtendedRNC-ID,
+	id-GANSS-PositioningDataSet,
+	id-d-RNTI-for-NoIuCSUP,
+	id-UE-History-Information,
+	id-SubscriberProfileIDforRFP,
+	id-Alt-RAB-Parameter-SupportedGuaranteedBitrateInf,
+	id-Alt-RAB-Parameter-SupportedMaxBitrateInf,
+	id-Ass-RAB-Parameter-SupportedGuaranteedBitrateList,
+	id-Ass-RAB-Parameter-SupportedMaxBitrateList,
+	id-RAB-Parameter-SupportedGuaranteedBitrateList,
+	id-RAB-Parameter-SupportedMaxBitrateList,
+	id-Requested-RAB-Parameter-SupportedMaxBitrateList,
+	id-Requested-RAB-Parameter-SupportedGuaranteedBitrateList,
+	id-PSRABtobeReplaced,
+	id-SRVCC-Information,
+	id-CSG-Id,
+	id-CSFB-Information,
+	id-IRAT-Measurement-Configuration,
+	id-Management-Based-MDT-Allowed,
+	id-Time-UE-StayedInCell-EnhancedGranularity,
+	id-HO-Cause,
+	id-TraceRecordingSessionReference,
+	id-IMSI,
+	id-Management-Based-MDT-PLMN-List,
+	id-SignallingBasedMDTPLMNList,
+	id-M4Report,
+	id-M5Report,
+	id-M6Report,
+	id-M7Report,
+	id-TimingDifferenceULDL,
+	id-Trace-Collection-Entity-IP-Addess,
+	id-Serving-Cell-Identifier,
+	id-EARFCN-Extended,
+	id-LastE-UTRANPLMNIdentity,
+	id-RSRQ-Type,
+	id-RSRQ-Extension,
+	id-Additional-PositioningDataSet
+
+
+FROM RANAP-Constants
+
+	Criticality,
+	ProcedureCode,
+	ProtocolIE-ID,
+	TriggeringMessage
+FROM RANAP-CommonDataTypes
+
+	ProtocolExtensionContainer{},
+	RANAP-PROTOCOL-EXTENSION
+FROM RANAP-Containers;
+
+-- A
+
+AccuracyFulfilmentIndicator ::= ENUMERATED{
+	requested-Accuracy-Fulfilled,
+	requested-Accuracy-Not-Fulfilled,
+	...
+}
+
+Additional-CSPS-coordination-information ::= SEQUENCE {
+	old-LAI					LAI							OPTIONAL,
+	old-RAC					RAC							OPTIONAL,
+	nRI						BIT STRING (SIZE (10))		OPTIONAL,
+	uE-is-Attaching			NULL						OPTIONAL,
+	iE-Extensions			ProtocolExtensionContainer { {Additional-CSPS-coordination-information-ExtIEs} } OPTIONAL,
+	...
+}
+
+Additional-CSPS-coordination-information-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+Additional-PositioningDataSet ::= SEQUENCE(SIZE(1..maxAddPosSet)) OF Additional-PositioningMethodAndUsage
+
+Additional-PositioningMethodAndUsage ::= OCTET STRING (SIZE(1))
+
+AllocationOrRetentionPriority ::= SEQUENCE {
+	priorityLevel			PriorityLevel,
+	pre-emptionCapability		Pre-emptionCapability,
+	pre-emptionVulnerability	Pre-emptionVulnerability,
+	queuingAllowed			QueuingAllowed,
+	iE-Extensions			ProtocolExtensionContainer { {AllocationOrRetentionPriority-ExtIEs} } OPTIONAL,
+	...
+}
+
+AllocationOrRetentionPriority-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+Alt-RAB-Parameters ::= SEQUENCE {
+	altMaxBitrateInf			Alt-RAB-Parameter-MaxBitrateInf 						OPTIONAL,
+	altGuaranteedBitRateInf		Alt-RAB-Parameter-GuaranteedBitrateInf 					OPTIONAL,
+	iE-Extensions			ProtocolExtensionContainer { {Alt-RAB-Parameters-ExtIEs} } 	OPTIONAL,
+	...
+}
+
+Alt-RAB-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 6 to indicate an alternative RAB configuration --
+	{ ID id-AlternativeRABConfiguration		CRITICALITY ignore	EXTENSION RAB-Parameters	PRESENCE optional }|
+-- Extension for Release 7 to indicate an alternative list of Extended Guaranteed Bitrates --
+{ ID id-Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf		CRITICALITY ignore	EXTENSION Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf 	PRESENCE optional }|
+-- Extension for Release 7 to indicate an alternative list of Extended Maximum Bitrates --
+{ ID id-Alt-RAB-Parameter-ExtendedMaxBitrateInf		CRITICALITY ignore	EXTENSION Alt-RAB-Parameter-ExtendedMaxBitrateInf 	PRESENCE optional }|
+-- Extension for Release 8 to indicate an alternative list of Supported Maximum Bitrates --
+{ ID id-Alt-RAB-Parameter-SupportedMaxBitrateInf		CRITICALITY reject	EXTENSION Alt-RAB-Parameter-SupportedMaxBitrateInf 	PRESENCE optional }|
+-- Extension for Release 8 to indicate an alternative list of Supported Guaranteed Bitrates --
+{ ID id-Alt-RAB-Parameter-SupportedGuaranteedBitrateInf		CRITICALITY reject	EXTENSION Alt-RAB-Parameter-SupportedGuaranteedBitrateInf 	PRESENCE optional },
+	...
+}
+
+Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf ::= SEQUENCE {
+	altExtendedGuaranteedBitrateType			Alt-RAB-Parameter-GuaranteedBitrateType,
+	altExtendedGuaranteedBitrates				Alt-RAB-Parameter-ExtendedGuaranteedBitrates			OPTIONAL
+	-- This IE shall be present if the Type of Extended Guaranteed Bit Rates Information IE is set to "Value range" or "Discrete values" --,
+	...
+}
+
+Alt-RAB-Parameter-ExtendedGuaranteedBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF
+	Alt-RAB-Parameter-ExtendedGuaranteedBitrateList
+
+Alt-RAB-Parameter-ExtendedGuaranteedBitrateList	::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedGuaranteedBitrate
+
+Alt-RAB-Parameter-GuaranteedBitrateInf ::= SEQUENCE {
+	altGuaranteedBitrateType			Alt-RAB-Parameter-GuaranteedBitrateType,
+	altGuaranteedBitrates				Alt-RAB-Parameter-GuaranteedBitrates			OPTIONAL
+	-- This IE shall be present if the Type of Guaranteed Bit Rates Information IE is set to "Value range" or "Discrete values" --,
+	...
+}
+
+Alt-RAB-Parameter-GuaranteedBitrateType ::= ENUMERATED{
+	unspecified,
+	value-range,
+	discrete-values,
+	...
+}
+
+Alt-RAB-Parameter-GuaranteedBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF
+	Alt-RAB-Parameter-GuaranteedBitrateList
+
+
+Alt-RAB-Parameter-GuaranteedBitrateList	::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF GuaranteedBitrate
+
+Alt-RAB-Parameter-SupportedGuaranteedBitrateInf ::= SEQUENCE {
+	altSupportedGuaranteedBitrateType			Alt-RAB-Parameter-GuaranteedBitrateType,
+	altSupportedGuaranteedBitrates				Alt-RAB-Parameter-SupportedGuaranteedBitrates			OPTIONAL
+	-- This IE shall be present if the Type of Supported Guaranteed Bit Rates Information IE is set to "Value range" or "Discrete values" --,
+	iE-Extensions			ProtocolExtensionContainer { { Alt-RAB-Parameter-SupportedGuaranteedBitrateInf-ExtIEs} } 	OPTIONAL,
+	...
+}
+
+Alt-RAB-Parameter-SupportedGuaranteedBitrateInf-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+...
+}
+
+Alt-RAB-Parameter-SupportedGuaranteedBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF
+	SupportedRAB-ParameterBitrateList
+
+
+Alt-RAB-Parameter-ExtendedMaxBitrateInf ::= SEQUENCE {
+	altExtendedMaxBitrateType			Alt-RAB-Parameter-MaxBitrateType,
+	altExtendedMaxBitrates				Alt-RAB-Parameter-ExtendedMaxBitrates			OPTIONAL
+	-- This IE shall be present if the Type of Extended Alternative Maximum Bit Rates Information IE is set to "Value range" or "Discrete values" --,
+	...
+}
+
+Alt-RAB-Parameter-ExtendedMaxBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF
+	Alt-RAB-Parameter-ExtendedMaxBitrateList
+
+Alt-RAB-Parameter-ExtendedMaxBitrateList	::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedMaxBitrate
+
+Alt-RAB-Parameter-MaxBitrateInf ::= SEQUENCE {
+	altMaxBitrateType			Alt-RAB-Parameter-MaxBitrateType,
+	altMaxBitrates				Alt-RAB-Parameter-MaxBitrates			OPTIONAL
+	-- This IE shall be present if the Type of Alternative Maximun Bit Rates Information IE is set to "Value range" or "Discrete values" --,
+	...
+}
+
+Alt-RAB-Parameter-MaxBitrateType ::= ENUMERATED{
+	unspecified,
+	value-range,
+	discrete-values,
+	...
+}
+
+Alt-RAB-Parameter-MaxBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF
+	Alt-RAB-Parameter-MaxBitrateList
+
+
+Alt-RAB-Parameter-MaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF MaxBitrate
+
+
+Alt-RAB-Parameter-SupportedMaxBitrateInf ::= SEQUENCE {
+	altSupportedMaxBitrateType			Alt-RAB-Parameter-MaxBitrateType,
+	altSupportedMaxBitrates				Alt-RAB-Parameter-SupportedMaxBitrates			OPTIONAL
+	-- This IE shall be present if the Type of Supported Alternative Maximun Bit Rates Information IE is set to "Value range" or "Discrete values" --,
+	 iE-Extensions			ProtocolExtensionContainer { { Alt-RAB-Parameter-SupportedMaxBitrateInf-ExtIEs} } 	OPTIONAL,
+...
+}
+
+Alt-RAB-Parameter-SupportedMaxBitrateInf-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+...
+}
+
+
+Alt-RAB-Parameter-SupportedMaxBitrates ::= SEQUENCE (SIZE (1..maxNrOfAltValues)) OF
+	SupportedRAB-ParameterBitrateList
+
+AlternativeRABConfigurationRequest ::= ENUMERATED{
+	alternative-RAB-configuration-Requested,
+	...
+}
+
+UE-Application-Layer-Measurement-Configuration	::= SEQUENCE {
+		applicationLayerContainerForMeasurementConfiguration		OCTET STRING ( SIZE (1..1000)),
+		areaScopeForUEApplicationLayerMeasurementConfiguration					AreaScopeForUEApplicationLayerMeasurementConfiguration,
+		...
+}
+
+UE-Application-Layer-Measurement-Configuration-For-Relocation	::= SEQUENCE {
+		areaScopeForUEApplicationLayerMeasurementConfiguration					AreaScopeForUEApplicationLayerMeasurementConfiguration,
+		traceReference						TraceReference,
+		tracePropagationParameters			TracePropagationParameters OPTIONAL,
+		traceCollectionEntityIPAddress		TransportLayerAddress			OPTIONAL,
+		...
+}
+
+
+APN	::= OCTET STRING (SIZE (1..255))
+-- Reference: 23.003
+
+AreaScopeForUEApplicationLayerMeasurementConfiguration ::=	CHOICE {
+	cellbased			CellBased,
+	labased				LABased,
+	rabased				RABased,
+	plmn-area-based		PLMNBased,
+	...
+}
+
+AreaIdentity ::= CHOICE {
+	sAI				SAI,
+	geographicalArea		GeographicalArea,
+	...
+}
+
+Ass-RAB-Parameters ::= SEQUENCE {
+	assMaxBitrateInf			Ass-RAB-Parameter-MaxBitrateList 						OPTIONAL,
+	assGuaranteedBitRateInf		Ass-RAB-Parameter-GuaranteedBitrateList 				OPTIONAL,
+	iE-Extensions			ProtocolExtensionContainer { {Ass-RAB-Parameters-ExtIEs} } 	OPTIONAL,
+	...
+}
+
+Ass-RAB-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 7 to indicate an extended assigned Guaranteed Bitrate --
+	{ ID id-Ass-RAB-Parameter-ExtendedGuaranteedBitrateList		CRITICALITY reject	EXTENSION Ass-RAB-Parameter-ExtendedGuaranteedBitrateList 	 PRESENCE optional }|
+-- Extension for Release 7 to indicate an extended assigned Maximum Bitrate --
+	{ ID id-Ass-RAB-Parameter-ExtendedMaxBitrateList		CRITICALITY reject	EXTENSION Ass-RAB-Parameter-ExtendedMaxBitrateList 	PRESENCE optional }|
+-- Extension for Release 8 to indicate an supported assigned Maximum Bitrate --
+	{ ID id-Ass-RAB-Parameter-SupportedMaxBitrateList		CRITICALITY ignore	EXTENSION SupportedRAB-ParameterBitrateList 	PRESENCE optional }|
+-- Extension for Release 8 to indicate an supported assigned Guaranteed Bitrate --
+	{ ID id-Ass-RAB-Parameter-SupportedGuaranteedBitrateList		CRITICALITY ignore	EXTENSION SupportedRAB-ParameterBitrateList	PRESENCE optional },
+	...
+}
+
+Ass-RAB-Parameter-ExtendedGuaranteedBitrateList	::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedGuaranteedBitrate
+
+Ass-RAB-Parameter-ExtendedMaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedMaxBitrate
+
+
+Ass-RAB-Parameter-GuaranteedBitrateList	::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF GuaranteedBitrate
+
+
+Ass-RAB-Parameter-MaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF MaxBitrate
+
+AuthorisedPLMNs ::= SEQUENCE (SIZE (1..maxNrOfPLMNsSN)) OF
+	SEQUENCE {
+		pLMNidentity			PLMNidentity,
+		authorisedSNAsList		AuthorisedSNAs		OPTIONAL,
+		iE-Extensions			ProtocolExtensionContainer { {AuthorisedPLMNs-ExtIEs} } OPTIONAL,
+		...
+	}
+
+AuthorisedPLMNs-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+AuthorisedSNAs ::= SEQUENCE (SIZE (1..maxNrOfSNAs)) OF SNAC
+
+
+-- B
+
+BarometricPressure ::= INTEGER (30000..115000)
+
+BindingID				::= OCTET STRING (SIZE (4))
+
+BroadcastAssistanceDataDecipheringKeys	::= SEQUENCE {
+	cipheringKeyFlag		BIT STRING (SIZE (1)),
+	currentDecipheringKey	BIT STRING (SIZE (56)),
+	nextDecipheringKey		BIT STRING (SIZE (56)),
+	...
+}
+
+-- C
+
+
+Cause ::= CHOICE {
+	radioNetwork			CauseRadioNetwork,
+	transmissionNetwork		CauseTransmissionNetwork,
+	nAS				CauseNAS,
+	protocol			CauseProtocol,
+	misc				CauseMisc,
+	non-Standard			CauseNon-Standard,
+	...,
+	radioNetworkExtension	CauseRadioNetworkExtension
+}
+
+CauseMisc ::= INTEGER {
+	om-intervention (113),
+	no-resource-available (114),
+	unspecified-failure (115),
+	network-optimisation (116)
+} (113..128)
+
+CauseNAS ::= INTEGER {
+	user-restriction-start-indication (81),
+	user-restriction-end-indication (82),
+	normal-release (83),
+	csg-subscription-expiry(84)
+} (81..96)
+
+CauseProtocol ::= INTEGER {
+	transfer-syntax-error (97),
+	semantic-error (98),
+	message-not-compatible-with-receiver-state (99),
+	abstract-syntax-error-reject (100),
+	abstract-syntax-error-ignore-and-notify (101),
+	abstract-syntax-error-falsely-constructed-message (102)
+} (97..112)
+
+CauseRadioNetwork ::= INTEGER {
+	rab-pre-empted (1),
+	trelocoverall-expiry (2),
+	trelocprep-expiry (3),
+	treloccomplete-expiry (4),
+	tqueing-expiry (5),
+	relocation-triggered (6),
+	trellocalloc-expiry(7),
+	unable-to-establish-during-relocation (8),
+	unknown-target-rnc (9),
+	relocation-cancelled (10),
+	successful-relocation (11),
+	requested-ciphering-and-or-integrity-protection-algorithms-not-supported (12),
+	conflict-with-already-existing-integrity-protection-and-or-ciphering-information (13),
+	failure-in-the-radio-interface-procedure (14),
+	release-due-to-utran-generated-reason (15),
+	user-inactivity (16),
+	time-critical-relocation (17),
+	requested-traffic-class-not-available (18),
+	invalid-rab-parameters-value (19),
+	requested-maximum-bit-rate-not-available (20),
+	requested-guaranteed-bit-rate-not-available (21),
+	requested-transfer-delay-not-achievable (22),
+	invalid-rab-parameters-combination (23),
+	condition-violation-for-sdu-parameters (24),
+	condition-violation-for-traffic-handling-priority (25),
+	condition-violation-for-guaranteed-bit-rate (26),
+	user-plane-versions-not-supported (27),
+	iu-up-failure (28),
+	relocation-failure-in-target-CN-RNC-or-target-system(29),
+	invalid-RAB-ID (30),
+	no-remaining-rab (31),
+	interaction-with-other-procedure (32),
+	requested-maximum-bit-rate-for-dl-not-available (33),
+	requested-maximum-bit-rate-for-ul-not-available (34),
+	requested-guaranteed-bit-rate-for-dl-not-available (35),
+	requested-guaranteed-bit-rate-for-ul-not-available (36),
+	repeated-integrity-checking-failure (37),
+	requested-request-type-not-supported (38),
+	request-superseded (39),
+	release-due-to-UE-generated-signalling-connection-release (40),
+	resource-optimisation-relocation (41),
+	requested-information-not-available (42),
+	relocation-desirable-for-radio-reasons (43),
+	relocation-not-supported-in-target-RNC-or-target-system (44),
+	directed-retry (45),
+	radio-connection-with-UE-Lost (46),
+	rNC-unable-to-establish-all-RFCs (47),
+	deciphering-keys-not-available(48),
+	dedicated-assistance-data-not-available(49),
+	relocation-target-not-allowed (50),
+	location-reporting-congestion (51),
+	reduce-load-in-serving-cell (52),
+	no-radio-resources-available-in-target-cell (53),
+	gERAN-Iumode-failure (54),
+	access-restricted-due-to-shared-networks (55),
+	incoming-relocation-not-supported-due-to-PUESBINE-feature (56),
+	traffic-load-in-the-target-cell-higher-than-in-the-source-cell (57),
+	mBMS-no-multicast-service-for-this-UE(58),
+	mBMS-unknown-UE-ID(59),
+	successful-MBMS-session-start-no-data-bearer-necessary(60),
+	mBMS-superseded-due-to-NNSF(61),
+	mBMS-UE-linking-already-done(62),
+	mBMS-UE-de-linking-failure-no-existing-UE-linking(63),
+	tMGI-unknown(64)
+} (1..64)
+
+CauseRadioNetworkExtension ::= INTEGER {
+	iP-multicast-address-and-APN-not-valid(257),
+	mBMS-de-registration-rejected-due-to-implicit-registration(258),
+	mBMS-request-superseded(259),
+	mBMS-de-registration-during-session-not-allowed(260),
+	mBMS-no-data-bearer-necessary(261),
+	periodicLocationInformationNotAvailable(262),
+	gTP-Resources-Unavailable(263),
+	tMGI-inUse-overlapping-MBMS-service-area(264),
+	mBMS-no-cell-in-MBMS-service-area(265),
+	no-Iu-CS-UP-relocation(266),
+	successful-MBMS-Session-Start-IP-Multicast-Bearer-established(267),
+	cS-fallback-triggered(268),
+	invalid-CSG-Id(269)
+} (257..512)
+
+CauseNon-Standard ::= INTEGER (129..256)
+-- Cause value 256 shall not be used --
+
+CauseTransmissionNetwork ::= INTEGER {
+	signalling-transport-resource-failure (65),
+	iu-transport-connection-failed-to-establish (66)
+} (65..80)
+
+Cell-Access-Mode::= ENUMERATED {
+	hybrid,
+	...
+}
+
+CellBased::= SEQUENCE {
+	cellIdList			CellIdList,
+	iE-Extensions		ProtocolExtensionContainer { {CellBased-ExtIEs} } OPTIONAL,
+	...
+}
+
+CellBased-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+CellIdList ::= SEQUENCE (SIZE (1..maxNrOfCellIds)) OF
+	Cell-Id
+
+Cell-Id		::= INTEGER (0..268435455)
+
+Cell-Capacity-Class-Value ::= INTEGER (1..100,...)
+
+CellLoadInformation ::= SEQUENCE {
+	cell-Capacity-Class-Value	Cell-Capacity-Class-Value,
+	loadValue					LoadValue,
+	rTLoadValue					RTLoadValue						OPTIONAL,
+	nRTLoadInformationValue		NRTLoadInformationValue			OPTIONAL,
+	iE-Extensions				ProtocolExtensionContainer { { CellLoadInformation-ExtIEs } }		OPTIONAL,
+	...
+}
+
+CellLoadInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+CellLoadInformationGroup ::= SEQUENCE {
+	sourceCellID						SourceCellID,
+	uplinkCellLoadInformation			CellLoadInformation		OPTIONAL,
+	downlinkCellLoadInformation			CellLoadInformation		OPTIONAL,
+	iE-Extensions	ProtocolExtensionContainer { { CellLoadInformationGroup-ExtIEs } }	OPTIONAL,
+	...
+}
+
+CellLoadInformationGroup-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+CellType ::= ENUMERATED{
+	macro,
+	micro,
+	pico,
+	femto,
+	...
+}
+
+CivicAddress ::= OCTET STRING
+
+ClientType ::= ENUMERATED {
+	emergency-Services,
+	value-Added-Services,
+	pLMN-Operator-Services,
+	lawful-Intercept-Services,
+	pLMN-Operator-Broadcast-Services,
+	pLMN-Operator-O-et-M,
+	pLMN-Operator-Anonymous-Statistics,
+	pLMN-Operator-Target-MS-Service-Support,
+	...
+}
+
+CriticalityDiagnostics ::= SEQUENCE {
+	procedureCode			ProcedureCode			OPTIONAL,
+	triggeringMessage		TriggeringMessage		OPTIONAL,
+	procedureCriticality		Criticality			OPTIONAL,
+	iEsCriticalityDiagnostics		CriticalityDiagnostics-IE-List 	OPTIONAL,
+	iE-Extensions			ProtocolExtensionContainer { {CriticalityDiagnostics-ExtIEs} } OPTIONAL,
+	...
+}
+
+CriticalityDiagnostics-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1..maxNrOfErrors)) OF
+	SEQUENCE {
+		iECriticality		Criticality,
+		iE-ID				ProtocolIE-ID,
+		repetitionNumber		RepetitionNumber0		OPTIONAL,
+		iE-Extensions			ProtocolExtensionContainer { {CriticalityDiagnostics-IE-List-ExtIEs} } OPTIONAL,
+		...
+	}
+
+CriticalityDiagnostics-IE-List-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 99 to enable reporting the message structure down to the erroneous IE --
+	{	ID id-MessageStructure	CRITICALITY ignore		EXTENSION MessageStructure	PRESENCE optional	} |
+-- Extension for Release 99 to enable reporting if a reported error is due to a not understood or a missing IE --
+	{	ID id-TypeOfError		CRITICALITY ignore		EXTENSION TypeOfError		PRESENCE mandatory	},
+	...
+}
+
+MessageStructure ::= SEQUENCE (SIZE (1..maxNrOfLevels)) OF
+	SEQUENCE {
+		iE-ID					ProtocolIE-ID,
+		repetitionNumber		RepetitionNumber1		OPTIONAL,
+		iE-Extensions			ProtocolExtensionContainer { {MessageStructure-ExtIEs} } OPTIONAL,
+		...
+	}
+
+MessageStructure-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+CGI ::= SEQUENCE {
+	pLMNidentity				PLMNidentity,
+	lAC				LAC,
+	cI				CI,
+	iE-Extensions			ProtocolExtensionContainer { {CGI-ExtIEs} } OPTIONAL
+}
+
+CGI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 6 to enable Inter-RAT PS Handover between UTRAN and GERAN A/Gb --
+	{	ID id-RAC	CRITICALITY ignore		EXTENSION RAC	PRESENCE optional	},
+	...
+}
+
+ChosenEncryptionAlgorithm 		::= EncryptionAlgorithm
+
+ChosenIntegrityProtectionAlgorithm 	::= IntegrityProtectionAlgorithm
+
+CI					::= OCTET STRING (SIZE (2))
+
+ClassmarkInformation2			::= OCTET STRING
+
+ClassmarkInformation3			::= OCTET STRING
+
+CN-DomainIndicator ::= ENUMERATED {
+	cs-domain,
+	ps-domain
+}
+
+CN-ID				::= INTEGER (0..4095)
+
+Correlation-ID	::= OCTET STRING (SIZE (4))
+
+CSFB-Information ::= ENUMERATED {
+	csfb,
+	csfb-high-priority,
+	...
+}
+
+CSG-Id		::= BIT STRING (SIZE (27))
+
+CSG-Id-List ::= SEQUENCE (SIZE (1..maxNrOfCSGs)) OF
+	CSG-Id
+
+CSG-Membership-Status ::= ENUMERATED {
+	member,
+	non-member,
+	...
+}
+
+-- D
+
+DataPDUType		::=	ENUMERATED {
+					pDUtype0,
+					pDUtype1,
+					...
+					}
+
+DataVolumeReference			::= INTEGER (0..255)
+
+DataVolumeReportingIndication ::= ENUMERATED {
+	do-report,
+	do-not-report
+}
+
+DCH-ID ::= INTEGER (0..255)
+
+DCN-ID ::= INTEGER (0..65535)
+
+
+DeliveryOfErroneousSDU ::= ENUMERATED {
+	yes,
+	no,
+	no-error-detection-consideration
+}
+
+DeliveryOrder::= ENUMERATED {
+	delivery-order-requested,
+	delivery-order-not-requested
+}
+
+DeltaRAListofIdleModeUEs ::= SEQUENCE {
+	newRAListofIdleModeUEs					NewRAListofIdleModeUEs	OPTIONAL,
+	rAListwithNoIdleModeUEsAnyMore			RAListwithNoIdleModeUEsAnyMore	OPTIONAL,
+	iE-Extensions			ProtocolExtensionContainer { {DeltaRAListofIdleModeUEs-ExtIEs} } OPTIONAL
+}
+
+NewRAListofIdleModeUEs ::= SEQUENCE (SIZE (1..maxMBMSRA)) OF
+	RAC
+
+RAListwithNoIdleModeUEsAnyMore ::= SEQUENCE (SIZE (1..maxMBMSRA)) OF
+	RAC
+
+DeltaRAListofIdleModeUEs-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+{ ID id-newLAListofIdleModeUEs		CRITICALITY reject	EXTENSION LAListofIdleModeUEs				PRESENCE conditional	}|
+	-- This IE shall be present if the New RA List of Idle Mode UEs IE is included. --
+{ ID id-LAListwithNoIdleModeUEsAnyMore		CRITICALITY reject	EXTENSION LAListofIdleModeUEs				PRESENCE conditional	},
+	-- This IE shall be presentif the RA List with No Idle Mode UEs Any More IE is included. --
+	...
+}
+
+ForwardingIndication::=ENUMERATED{
+	forwarding-admitted,
+	...
+}
+
+DL-GTP-PDU-SequenceNumber		::= INTEGER (0..65535)
+
+DL-N-PDU-SequenceNumber 		::= INTEGER (0..65535)
+
+D-RNTI					::= INTEGER (0..1048575)
+
+DRX-CycleLengthCoefficient			::= INTEGER (6..9)
+
+DSCH-ID ::= INTEGER (0..255)
+
+
+-- E
+
+EARFCN-Extended		::= INTEGER (65536..262143, ...)
+
+E-DCH-MAC-d-Flow-ID		::= INTEGER (0.. maxNrOfEDCHMACdFlows-1)
+
+ENB-ID ::= CHOICE {
+	macroENB-ID			BIT STRING (SIZE(20)),
+	homeENB-ID			BIT STRING (SIZE(28)),
+	...,
+	short-macroENB-ID		BIT STRING (SIZE(18)),
+	long-macroENB-ID		BIT STRING (SIZE(21))
+
+}
+
+EncryptionAlgorithm 			::= INTEGER { no-encryption (0), standard-UMTS-encryption-algorith-UEA1 (1), standard-UMTS-encryption-algorithm-UEA2 (2) } (0..15)
+
+EncryptionInformation ::= SEQUENCE {
+	permittedAlgorithms		PermittedEncryptionAlgorithms,
+	key				EncryptionKey,
+	iE-Extensions			ProtocolExtensionContainer { {EncryptionInformation-ExtIEs} } OPTIONAL
+}
+
+EncryptionInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+EncryptionKey 				::= BIT STRING (SIZE (128))
+-- Reference: 33.102
+
+End-Of-CSFB ::= ENUMERATED{
+	end-of-CSFB,
+	...
+}
+
+EquipmentsToBeTraced ::= CHOICE {
+	iMEIlist				IMEIList,
+	iMEISVlist				IMEISVList,
+	iMEIgroup				IMEIGroup,
+	iMEISVgroup				IMEISVGroup,
+	...
+}
+
+E-UTRAN-Service-Handover ::= ENUMERATED {
+	handover-to-E-UTRAN-shall-not-be-performed,
+	...
+}
+
+Event ::= ENUMERATED {
+	stop-change-of-service-area,
+	direct,
+	change-of-servicearea,
+	...,
+	stop-direct,
+	periodic,
+	stop-periodic
+}
+
+Event1F-Parameters		::=	SEQUENCE {
+	measurementQuantity		MeasurementQuantity,
+	threshold				INTEGER(-120..165),
+	...
+}
+
+Event1I-Parameters		::=	SEQUENCE {
+	threshold				INTEGER(-120..-25),
+	...
+}
+
+ExtendedGuaranteedBitrate			::= INTEGER (16000001..256000000)
+-- Unit is bits per sec
+
+ExtendedMaxBitrate			::= INTEGER (16000001..256000000)
+-- Unit is bits per sec
+
+ExtendedRNC-ID					::= INTEGER (4096..65535)
+
+-- F
+
+FrameSequenceNumber		::=	INTEGER(0..15)
+
+FrequenceLayerConvergenceFlag ::= ENUMERATED {
+	no-FLC-flag,
+	...
+}
+
+-- G
+
+GANSS-PositioningDataSet ::= SEQUENCE(SIZE(1..maxGANSSSet)) OF GANSS-PositioningMethodAndUsage
+
+GANSS-PositioningMethodAndUsage ::= OCTET STRING (SIZE(1))
+
+GeographicalArea ::= CHOICE {
+	point				GA-Point,
+	pointWithUnCertainty		GA-PointWithUnCertainty,
+	polygon				GA-Polygon,
+	...,
+	pointWithUncertaintyEllipse		GA-PointWithUnCertaintyEllipse,
+	pointWithAltitude		GA-PointWithAltitude,
+	pointWithAltitudeAndUncertaintyEllipsoid		GA-PointWithAltitudeAndUncertaintyEllipsoid,
+	ellipsoidArc		GA-EllipsoidArc
+}
+
+GeographicalCoordinates ::= SEQUENCE {
+	latitudeSign			ENUMERATED { north, south },
+	latitude			INTEGER (0..8388607),
+	longitude			INTEGER (-8388608..8388607),
+	iE-Extensions			ProtocolExtensionContainer { {GeographicalCoordinates-ExtIEs} } OPTIONAL,
+	...
+}
+
+GeographicalCoordinates-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+GA-AltitudeAndDirection ::= SEQUENCE {
+	directionOfAltitude		ENUMERATED {height, depth},
+	altitude		INTEGER (0..32767),
+	...
+}
+
+GA-EllipsoidArc ::= SEQUENCE {
+	geographicalCoordinates		GeographicalCoordinates,
+	innerRadius					INTEGER (0..65535),
+	uncertaintyRadius			INTEGER (0..127),
+	offsetAngle					INTEGER (0..179),
+	includedAngle				INTEGER (0..179),
+	confidence					INTEGER (0..127),
+	iE-Extensions				ProtocolExtensionContainer { { GA-EllipsoidArc-ExtIEs} } OPTIONAL,
+	...
+}
+
+GA-EllipsoidArc-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+GA-Point ::= SEQUENCE {
+	geographicalCoordinates		GeographicalCoordinates,
+	iE-Extensions			ProtocolExtensionContainer { {GA-Point-ExtIEs} } OPTIONAL,
+	...
+}
+
+GA-Point-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+GA-PointWithAltitude ::= SEQUENCE {
+	geographicalCoordinates		GeographicalCoordinates,
+	altitudeAndDirection		GA-AltitudeAndDirection,
+	iE-Extensions				ProtocolExtensionContainer { { GA-PointWithAltitude-ExtIEs} } OPTIONAL,
+	...
+}
+
+GA-PointWithAltitude-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+GA-PointWithAltitudeAndUncertaintyEllipsoid ::= SEQUENCE {
+	geographicalCoordinates		GeographicalCoordinates,
+	altitudeAndDirection		GA-AltitudeAndDirection,
+	uncertaintyEllipse			GA-UncertaintyEllipse,
+	uncertaintyAltitude			INTEGER (0..127),
+	confidence					INTEGER (0..127),
+	iE-Extensions				ProtocolExtensionContainer { { GA-PointWithAltitudeAndUncertaintyEllipsoid-ExtIEs} } OPTIONAL,
+	...
+}
+
+GA-PointWithAltitudeAndUncertaintyEllipsoid-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+GA-PointWithUnCertainty ::=SEQUENCE {
+	geographicalCoordinates		GeographicalCoordinates,
+	iE-Extensions			ProtocolExtensionContainer { {GA-PointWithUnCertainty-ExtIEs} } OPTIONAL,
+	uncertaintyCode			INTEGER (0..127)
+}
+
+GA-PointWithUnCertainty-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+GA-PointWithUnCertaintyEllipse ::= SEQUENCE {
+	geographicalCoordinates		GeographicalCoordinates,
+	uncertaintyEllipse			GA-UncertaintyEllipse,
+	confidence					INTEGER (0..127),
+	iE-Extensions				ProtocolExtensionContainer { { GA-PointWithUnCertaintyEllipse-ExtIEs} } OPTIONAL,
+	...
+}
+
+GA-PointWithUnCertaintyEllipse-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+GA-Polygon ::= SEQUENCE (SIZE (1..maxNrOfPoints)) OF
+	SEQUENCE {
+		geographicalCoordinates		GeographicalCoordinates,
+		iE-Extensions			ProtocolExtensionContainer { {GA-Polygon-ExtIEs} } OPTIONAL,
+		...
+	}
+
+GA-Polygon-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+GA-UncertaintyEllipse ::= SEQUENCE {
+	uncertaintySemi-major		INTEGER (0..127),
+	uncertaintySemi-minor		INTEGER (0..127),
+	orientationOfMajorAxis		INTEGER (0..179), 	-- The values 90..179 shall not be used.
+	...
+}
+
+GERAN-BSC-Container				::= OCTET STRING
+	-- GERAN BSC Container as defined in TS 48.008 [11] --
+
+
+GERAN-Cell-ID ::= SEQUENCE {
+	lAI				LAI,
+	rAC				RAC,
+	cI				CI,
+	iE-Extensions			ProtocolExtensionContainer { {GERAN-Cell-ID-ExtIEs} } OPTIONAL
+}
+
+GERAN-Cell-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+GERAN-Classmark	 				::= OCTET STRING
+	-- GERAN Classmark as defined in TS 48.008 [11] --
+
+GlobalCN-ID ::= SEQUENCE {
+	pLMNidentity				PLMNidentity,
+	cN-ID				CN-ID
+}
+
+
+GlobalRNC-ID ::= SEQUENCE {
+	pLMNidentity				PLMNidentity,
+	rNC-ID				RNC-ID
+}
+
+GTP-TEI					::= OCTET STRING (SIZE (4))
+
+GuaranteedBitrate			::= INTEGER (0..16000000)
+-- Unit is bits per sec
+
+-- H
+
+HigherBitratesThan16MbpsFlag ::= ENUMERATED{
+	allowed,
+	not-allowed,
+	...
+}
+
+HS-DSCH-MAC-d-Flow-ID		::= INTEGER (0.. maxNrOfHSDSCHMACdFlows-1)
+
+-- I
+
+
+IMEI					::= OCTET STRING (SIZE (8))
+-- Reference: 23.003
+
+IMEIGroup	::= SEQUENCE {
+	iMEI				IMEI,
+	iMEIMask			BIT STRING (SIZE (7)),
+	iE-Extensions		ProtocolExtensionContainer { { IMEIGroup-ExtIEs} } OPTIONAL
+}
+
+IMEIGroup-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+IMEIList	::= SEQUENCE (SIZE (1..maxNrOfUEsToBeTraced)) OF IMEI
+
+IMEISV					::= OCTET STRING (SIZE (8))
+-- Reference: 23.003
+
+IMEISVGroup	::= SEQUENCE {
+	iMEISV				IMEISV,
+	iMEISVMask			BIT STRING (SIZE (7)),
+	iE-Extensions		ProtocolExtensionContainer { { IMEISVGroup-ExtIEs} } OPTIONAL
+}
+
+IMEISVGroup-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+IMEISVList	::= SEQUENCE (SIZE (1..maxNrOfUEsToBeTraced)) OF IMEISV
+
+ImmediateMDT	::= SEQUENCE {
+	measurementsToActivate		MeasurementsToActivate,
+	m1report					M1Report				OPTIONAL,
+	-- Included in case of event-triggered reporting for measurement M1
+	m2report					M2Report				OPTIONAL,
+	-- Included in case of event-triggered reporting for measurement M2
+	...,
+	iE-Extensions		ProtocolExtensionContainer { { ImmediateMDT-ExtIEs} } OPTIONAL
+}
+
+ImmediateMDT-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	{ID id-M4Report		CRITICALITY ignore	EXTENSION M4Report		PRESENCE optional}|
+	-- Included in case that measurement M4 is activated
+	{ID id-M5Report		CRITICALITY ignore	EXTENSION M5Report		PRESENCE optional}|
+	-- Included in case that measurement M5 is activated
+	{ID id-M6Report		CRITICALITY ignore	EXTENSION M6Report		PRESENCE optional}|
+	-- Included in case that measurement M6 is activated
+	{ID id-M7Report		CRITICALITY ignore	EXTENSION M7Report		PRESENCE optional},
+	-- Included in case that measurement M7 is activated
+	...
+}
+
+IMSI					::= TBCD-STRING (SIZE (3..8))
+-- Reference: 23.003
+
+IncludeVelocity		::= ENUMERATED {
+	requested
+}
+
+InformationExchangeID ::= INTEGER (0.. 1048575)
+
+InformationExchangeType ::= ENUMERATED {
+	transfer,
+	request,
+	...
+}
+
+InformationRequested ::= CHOICE {
+	requestedMBMSIPMulticastAddressandAPNRequest		RequestedMBMSIPMulticastAddressandAPNRequest,
+	requestedMulticastServiceList						RequestedMulticastServiceList,
+	...
+}
+
+
+InformationRequestType ::= CHOICE {
+	mBMSIPMulticastAddressandAPNRequest		MBMSIPMulticastAddressandAPNRequest,
+	permanentNAS-UE-ID						PermanentNAS-UE-ID,
+	...
+}
+
+InformationTransferID ::= INTEGER (0.. 1048575)
+
+InformationTransferType ::= CHOICE {
+	rNCTraceInformation			RNCTraceInformation,
+	...
+}
+
+IntegrityProtectionAlgorithm		::= INTEGER {
+	standard-UMTS-integrity-algorithm-UIA1 (0), standard-UMTS-integrity-algorithm-UIA2 (1),
+	no-value (15)
+} (0..15)
+
+IntegrityProtectionInformation ::= SEQUENCE {
+	permittedAlgorithms		PermittedIntegrityProtectionAlgorithms,
+	key				IntegrityProtectionKey,
+	iE-Extensions			ProtocolExtensionContainer { {IntegrityProtectionInformation-ExtIEs} } OPTIONAL
+}
+
+IntegrityProtectionInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+IntegrityProtectionKey			::= BIT STRING (SIZE (128))
+
+InterSystemInformationTransferType ::= CHOICE {
+	rIM-Transfer					RIM-Transfer,
+	...
+}
+
+InterSystemInformation-TransparentContainer ::= SEQUENCE {
+	downlinkCellLoadInformation			CellLoadInformation		OPTIONAL,
+	uplinkCellLoadInformation			CellLoadInformation		OPTIONAL,
+	iE-Extensions			ProtocolExtensionContainer { { InterSystemInformation-TransparentContainer-ExtIEs} } OPTIONAL,
+	...
+}
+
+InterSystemInformation-TransparentContainer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+...
+}
+
+IPMulticastAddress ::= OCTET STRING (SIZE (4..16))
+-- Reference: 23.003
+
+IuSignallingConnectionIdentifier	::= BIT STRING (SIZE (24))
+
+IuTransportAssociation ::= CHOICE {
+	gTP-TEI				GTP-TEI,
+	bindingID			BindingID,
+	...
+}
+
+-- J
+-- K
+
+KeyStatus	::= ENUMERATED {
+	old,
+	new,
+	...
+}
+-- L
+
+LA-LIST ::= SEQUENCE (SIZE (1..maxNrOfLAs)) OF
+	SEQUENCE {
+		lAC						LAC,
+		listOF-SNAs				ListOF-SNAs,
+		iE-Extensions			ProtocolExtensionContainer { { LA-LIST-ExtIEs} } OPTIONAL,
+		...
+	}
+
+LA-LIST-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+LAC					::= OCTET STRING (SIZE (2))
+
+LAI ::= SEQUENCE {
+	pLMNidentity				PLMNidentity,
+	lAC				LAC,
+	iE-Extensions			ProtocolExtensionContainer { {LAI-ExtIEs} } OPTIONAL
+}
+
+LAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+LastKnownServiceArea	::= SEQUENCE {
+	sAI			SAI,
+	ageOfSAI	INTEGER (0..32767),
+	iE-Extensions	ProtocolExtensionContainer { {LastKnownServiceArea-ExtIEs} } OPTIONAL,
+	...
+}
+
+LastKnownServiceArea-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+LastVisitedUTRANCell-Item ::= SEQUENCE {
+	uTRAN-CellID					UTRAN-CellID,
+	cellType						CellType,
+	time-UE-StayedInCell			Time-UE-StayedInCell,
+	iE-Extensions					ProtocolExtensionContainer { {LastVisitedUTRANCell-Item-ExtIEs} } OPTIONAL,
+	...
+}
+
+LastVisitedUTRANCell-Item-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Rel-11 to support enhanced granularity for time UE stayed in cell --
+	{ ID id-Time-UE-StayedInCell-EnhancedGranularity	CRITICALITY ignore	EXTENSION Time-UE-StayedInCell-EnhancedGranularity		PRESENCE	optional }|
+	{ ID id-HO-Cause									CRITICALITY ignore	EXTENSION Cause														PRESENCE	optional },
+	...
+}
+
+LHN-ID ::= OCTET STRING (SIZE (32..256))
+
+Links-to-log ::= ENUMERATED {uplink, downlink, both-uplink-and-downlink, ...}
+
+ListOF-SNAs ::= SEQUENCE (SIZE (1..maxNrOfSNAs)) OF SNAC
+
+ListOfInterfacesToTrace ::= SEQUENCE (SIZE (1..maxNrOfInterfaces)) OF InterfacesToTraceItem
+
+InterfacesToTraceItem ::= SEQUENCE {
+	interface				ENUMERATED {iu-cs, iu-ps, iur, iub, uu, ...},
+	iE-Extensions			ProtocolExtensionContainer { {InterfacesToTraceItem-ExtIEs} }	OPTIONAL,
+	...
+}
+
+InterfacesToTraceItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+LoadValue	::= INTEGER (0..100)
+
+LocationRelatedDataRequestType	::= SEQUENCE {
+	requestedLocationRelatedDataType			RequestedLocationRelatedDataType,
+	requestedGPSAssistanceData					RequestedGPSAssistanceData	OPTIONAL,
+	-- This IE shall be present if the Requested Location Related Data Type IE is set to ‘Dedicated Assistance Data for Assisted GPS’ or
+	-- `Dedicated Assistance Data for Assisted GPS and GANSSÂ’
+	...
+}
+
+LocationRelatedDataRequestTypeSpecificToGERANIuMode	::= ENUMERATED {
+	decipheringKeysEOTD,
+	dedicatedMobileAssistedEOTDAssistanceData,
+	dedicatedMobileBasedEOTDAssistanceData,
+	...
+}
+
+LocationReportingTransferInformation	::=	SEQUENCE {
+	reportChangeOfSAI				ReportChangeOfSAI			OPTIONAL,
+	periodicReportingIndicator		PeriodicReportingIndicator	OPTIONAL,
+	directReportingIndicator		DirectReportingIndicator	OPTIONAL,
+	verticalAccuracyCode			VerticalAccuracyCode		OPTIONAL,
+	positioningPriorityChangeSAI	PositioningPriority			OPTIONAL,
+	positioningPriorityDirect		PositioningPriority			OPTIONAL,
+	clientTypePeriodic				ClientType					OPTIONAL,
+	clientTypeDirect				ClientType					OPTIONAL,
+	responseTime					ResponseTime				OPTIONAL,
+	includeVelocity					IncludeVelocity				OPTIONAL,
+	periodicLocationInfo			PeriodicLocationInfo		OPTIONAL,
+	iE-Extensions		ProtocolExtensionContainer { { LocationReportingTransferInformation-ExtIEs } }		OPTIONAL,
+	...
+}
+
+LocationReportingTransferInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+ReportChangeOfSAI			::=	ENUMERATED {
+									requested,
+									...
+								}
+
+PeriodicReportingIndicator::=	ENUMERATED {
+									periodicSAI,
+									periodicGeo,
+									...
+								}
+
+DirectReportingIndicator::=	ENUMERATED {
+									directSAI,
+									directGeo,
+									...
+								}
+
+L3-Information				::= OCTET STRING
+
+-- M
+
+M1Report	::= CHOICE {
+	periodic			MDT-Report-Parameters,
+	event1F				Event1F-Parameters,
+	...
+}
+
+M2Report	::= CHOICE {
+	periodic			MDT-Report-Parameters,
+	event1I				Event1I-Parameters,
+	...
+}
+
+M4Report	::= CHOICE {
+	all							NULL,
+	m4-collection-parameters	M4-Collection-Parameters,
+	...
+}
+
+M4-Collection-Parameters ::= SEQUENCE {
+	m4-period		M4-Period,
+	m4-threshold	M4-Threshold	OPTIONAL,
+	iE-Extensions	ProtocolExtensionContainer { { M4-Collection-Parameters-ExtIEs} } OPTIONAL,
+	...
+}
+
+M4-Collection-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+M4-Period  ::= ENUMERATED {ms100, ms250, ms500, ms1000, ms2000, ms3000, ms4000, ms6000, ...}
+
+
+M4-Threshold ::= INTEGER (0..31)
+
+
+M5Report	::= CHOICE {
+	when-available		NULL,
+	m5-period			M5-Period,
+	...
+}
+M5-Period ::= ENUMERATED {ms100, ms250, ms500, ms1000, ms2000, ms3000, ms4000, ms6000, ...}
+
+
+
+M6Report ::= SEQUENCE {
+	m6-period			M6-Period,
+	m6-links-to-log		Links-to-log,
+	iE-Extensions		ProtocolExtensionContainer { { M6Report-ExtIEs} } OPTIONAL,
+	...
+}
+
+M6Report-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+M6-Period ::= ENUMERATED {ms1000, ms2000, ms3000, ms4000, ms6000, ms8000, ms12000, ms16000, ms20000, ms24000, ms28000, ms32000, ms64000, ...}
+
+M7Report ::= SEQUENCE {
+	m7-period			M7-Period,
+	m7-links-to-log		Links-to-log,
+	iE-Extensions		ProtocolExtensionContainer { { M7Report-ExtIEs} } OPTIONAL,
+	...
+}
+
+M7Report-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+M7-Period ::= ENUMERATED {ms1000, ms2000, ms3000, ms4000, ms6000, ms8000, ms12000, ms16000, ms20000, ms24000, ms28000, ms32000, ms64000, ...}
+
+Management-Based-MDT-Allowed ::= ENUMERATED {
+	allowed, ... }
+
+MaxBitrate				::= INTEGER (1..16000000)
+-- Unit is bits per sec
+
+MaxSDU-Size				::= INTEGER (0..32768)
+-- MaxSDU-Size
+-- Unit is bit
+
+MBMS-PTP-RAB-ID ::= BIT STRING (SIZE (8))
+
+MBMSBearerServiceType ::= ENUMERATED {
+	multicast,
+	broadcast,
+	...
+}
+
+MBMSCNDe-Registration ::= ENUMERATED {
+	normalsessionstop,
+	deregister,
+	...
+}
+
+
+MBMSCountingInformation ::= ENUMERATED {
+	counting,
+	notcounting,
+	...
+}
+
+MBMSHCIndicator ::= ENUMERATED {
+	uncompressed-header,
+	compressed-header,
+	...
+}
+
+MBMSIPMulticastAddressandAPNRequest ::= SEQUENCE (SIZE (1..maxnoofMulticastServicesPerRNC)) OF
+	TMGI
+
+MBMSLinkingInformation ::= ENUMERATED {
+	uE-has-joined-multicast-services,
+	...
+}
+
+MBMSRegistrationRequestType ::= ENUMERATED {
+	register,
+	deregister,
+	...
+}
+
+MBMSServiceArea ::= OCTET STRING
+
+MBMSSessionDuration ::= OCTET STRING (SIZE (3))
+
+
+
+MBMSSessionIdentity ::= OCTET STRING (SIZE (1))
+
+MBMSSessionRepetitionNumber ::= OCTET STRING (SIZE (1))
+
+MDT-Activation		::=	ENUMERATED { immediateMDTonly,
+									 loggedMDTonly,
+									 immediateMDTandTrace,
+									... }
+
+MDTAreaScope		::=	CHOICE {
+	cellbased			CellBased,
+	labased				LABased,
+	rabased				RABased,
+	plmn-area-based		NULL,
+	...
+}
+
+MDT-Configuration	::= SEQUENCE {
+		mdtActivation					MDT-Activation,
+		mdtAreaScope					MDTAreaScope,
+		mdtMode							MDTMode,
+		iE-Extensions		ProtocolExtensionContainer { { MDT-Configuration-ExtIEs} } OPTIONAL,
+		...
+}
+
+MDT-Configuration-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	{ ID id-SignallingBasedMDTPLMNList				CRITICALITY ignore	EXTENSION MDT-PLMN-List		PRESENCE optional },
+...
+}
+
+MDTMode ::= CHOICE {
+	immediateMDT		ImmediateMDT,
+	loggedMDT			LoggedMDT,
+	...
+}
+
+MDT-PLMN-List ::= SEQUENCE (SIZE (1..maxnoofMDTPLMNs)) OF
+	PLMNidentity
+
+MDT-Report-Parameters ::= SEQUENCE {
+	reportInterval			ReportInterval,
+	reportAmount			ReportAmount,
+	...
+}
+
+MeasurementQuantity ::= ENUMERATED {
+		cpichEcNo,
+		cpichRSCP,
+		pathloss,
+		...
+}
+
+MeasurementsToActivate::= BIT STRING (SIZE (8))
+
+MSISDN ::= OCTET STRING (SIZE (1..9))
+
+-- N
+
+
+NAS-PDU ::= OCTET STRING
+
+NAS-SequenceNumber ::= BIT STRING (SIZE (2))
+-- Reference: 24.008
+
+NAS-SynchronisationIndicator ::= BIT STRING (SIZE (4))
+
+NewBSS-To-OldBSS-Information ::= OCTET STRING
+
+NonSearchingIndication ::= ENUMERATED {
+	non-searching,
+	searching
+}
+
+NRTLoadInformationValue ::= INTEGER (0..3)
+
+Null-NRI ::= BIT STRING (SIZE (10))
+
+NumberOfIuInstances ::= INTEGER (1..2)
+
+NumberOfSteps ::= INTEGER (1..16)
+
+-- O
+
+Offload-RAB-Parameters ::= SEQUENCE {
+	accessPointName				Offload-RAB-Parameters-APN,
+	chargingCharacteristics		Offload-RAB-Parameters-ChargingCharacteristics,
+	iE-Extensions				ProtocolExtensionContainer { { Offload-RAB-Parameters-ExtIEs} } 	OPTIONAL,
+	...
+}
+
+Offload-RAB-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+Offload-RAB-Parameters-APN ::= OCTET STRING (SIZE (1..255))
+
+Offload-RAB-Parameters-ChargingCharacteristics ::= OCTET STRING (SIZE (2))
+
+OldBSS-ToNewBSS-Information ::= OCTET STRING
+
+OMC-ID					::= OCTET STRING (SIZE (3..22))
+-- Reference: GSM TS 12.20 [25]
+
+Out-Of-UTRAN ::= ENUMERATED{
+	cell-reselection-to-EUTRAN,
+	...
+}
+
+-- P
+
+PagingAreaID ::= CHOICE {
+	lAI				LAI,
+	rAI				RAI,
+	...
+}
+
+PagingCause ::= ENUMERATED {
+	terminating-conversational-call,
+	terminating-streaming-call,
+	terminating-interactive-call,
+	terminating-background-call,
+	terminating-low-priority-signalling,
+	...,
+	terminating-high-priority-signalling
+}
+
+PDP-TypeInformation ::= SEQUENCE (SIZE (1..maxNrOfPDPDirections)) OF
+	PDP-Type
+
+PDP-Type ::= ENUMERATED {
+	empty,
+	ppp,
+	osp-ihoss	-- this value shall not be used -- ,
+	ipv4,
+	ipv6,
+	...
+}
+PDP-TypeInformation-extension ::= SEQUENCE (SIZE (1..maxNrOfPDPDirections)) OF
+	PDP-Type-extension
+
+PDP-Type-extension ::= ENUMERATED {
+	ipv4-and-ipv6,
+	...
+}
+
+PDUType14FrameSequenceNumber		::=	INTEGER(0..3)
+
+PeriodicLocationInfo ::= SEQUENCE {
+	reportingAmount				INTEGER (1..8639999, ...),
+	reportingInterval			INTEGER (1..8639999, ...),
+	iE-Extensions				ProtocolExtensionContainer { { PeriodicLocationInfo-ExtIEs } }	OPTIONAL,
+	...
+}
+
+PeriodicLocationInfo-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+
+PermanentNAS-UE-ID ::= CHOICE {
+	iMSI				IMSI,
+	...
+}
+
+PermittedEncryptionAlgorithms ::= SEQUENCE (SIZE (1..16)) OF
+	EncryptionAlgorithm
+
+PermittedIntegrityProtectionAlgorithms ::= SEQUENCE (SIZE (1..16)) OF
+	IntegrityProtectionAlgorithm
+
+LABased	::= SEQUENCE {
+	laiList			LAI-List,
+	iE-Extensions		ProtocolExtensionContainer { {LABased-ExtIEs} } OPTIONAL,
+	...
+}
+
+LABased-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+
+LAI-List	::= SEQUENCE (SIZE (1..maxNrOfLAIs)) OF
+	LAI
+
+
+
+LoggedMDT	::=	SEQUENCE {
+	loggingInterval		LoggingInterval,
+	loggingDuration		LoggingDuration,
+	iE-Extensions		ProtocolExtensionContainer { {LoggedMDT-ExtIEs} } OPTIONAL,
+	...
+}
+
+LoggedMDT-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+LoggingInterval	::=	ENUMERATED {
+	s1d28,
+	s2d56,
+	s5d12,
+	s10d24,
+	s20d48,
+	s30d72,
+	s40d96,
+	s61d44,
+	...
+	}
+
+LoggingDuration	::=	ENUMERATED {
+		min10,
+		min20,
+		min40,
+		min60,
+		min90,
+		min120,
+...}
+
+
+
+PLMNBased::= SEQUENCE {
+	plmnList				PLMNList,
+	iE-Extensions		ProtocolExtensionContainer { {PLMNBased-ExtIEs} } OPTIONAL,
+	...
+}
+
+PLMNBased-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+PLMNList ::= SEQUENCE (SIZE (1.. maxnoofPLMNs)) OF
+	PLMNidentity
+
+
+
+PLMNidentity 				::= TBCD-STRING (SIZE (3))
+
+PLMNs-in-shared-network ::= SEQUENCE (SIZE (1..maxNrOfPLMNsSN)) OF
+	SEQUENCE {
+		pLMNidentity			PLMNidentity,
+		lA-LIST					LA-LIST,
+		iE-Extensions			ProtocolExtensionContainer { { PLMNs-in-shared-network-ExtIEs} } OPTIONAL,
+		...
+	}
+
+PLMNs-in-shared-network-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+Port-Number ::= OCTET STRING (SIZE (2))
+
+PositioningDataDiscriminator ::= BIT STRING (SIZE(4))
+
+PositioningDataSet ::= SEQUENCE(SIZE(1..maxSet)) OF PositioningMethodAndUsage
+
+PositioningMethodAndUsage ::= OCTET STRING (SIZE(1))
+
+PositioningPriority	::= ENUMERATED {
+	high-Priority,
+	normal-Priority,
+...
+}
+
+PositionData ::= SEQUENCE {
+	positioningDataDiscriminator		PositioningDataDiscriminator,
+	positioningDataSet					PositioningDataSet			OPTIONAL,
+-- This IE shall be present if the PositioningDataDiscriminator IE is set to the value "0000" --
+	iE-Extensions		ProtocolExtensionContainer { {PositionData-ExtIEs} } OPTIONAL,
+	...
+}
+
+PositionData-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	{ ID id-GANSS-PositioningDataSet			CRITICALITY ignore	EXTENSION GANSS-PositioningDataSet				PRESENCE optional}|
+	{ ID id-Additional-PositioningDataSet		CRITICALITY ignore	EXTENSION Additional-PositioningDataSet		PRESENCE optional},
+	...
+}
+
+PositionDataSpecificToGERANIuMode ::= OCTET STRING
+
+Pre-emptionCapability ::= ENUMERATED {
+	shall-not-trigger-pre-emption,
+	may-trigger-pre-emption
+}
+
+Pre-emptionVulnerability ::= ENUMERATED {
+	not-pre-emptable,
+	pre-emptable
+}
+
+PriorityLevel				::= INTEGER { spare (0), highest (1), lowest (14), no-priority (15) } (0..15)
+
+Priority-Class-Indicator ::= BIT STRING (SIZE(8))
+
+ProvidedData ::= CHOICE {
+	shared-network-information				Shared-Network-Information,
+	...
+}
+
+PowerSavingIndicator ::= ENUMERATED {
+	psmConfigured,
+	eDRXConfigured,
+	...
+}
+
+P-TMSI					::= OCTET STRING (SIZE (4))
+
+-- Q
+
+QueuingAllowed ::= ENUMERATED {
+	queueing-not-allowed,
+	queueing-allowed
+}
+
+-- R
+RAB-AsymmetryIndicator::= ENUMERATED {
+	symmetric-bidirectional,
+	asymmetric-unidirectional-downlink,
+	asymmetric-unidirectional-uplink,
+	asymmetric-bidirectional,
+	...
+}
+
+RABased	::= SEQUENCE {
+	raiList			RAI-List,
+	iE-Extensions	ProtocolExtensionContainer { {RABased-ExtIEs} } OPTIONAL,
+	...
+}
+
+RABased-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+
+RAI-List	::= SEQUENCE (SIZE (1..maxNrOfRAIs)) OF
+	RAI
+
+RABDataVolumeReport ::= SEQUENCE (SIZE (1..maxNrOfVol)) OF
+	SEQUENCE {
+		dl-UnsuccessfullyTransmittedDataVolume	UnsuccessfullyTransmittedDataVolume,
+		dataVolumeReference						DataVolumeReference	OPTIONAL,
+		iE-Extensions							ProtocolExtensionContainer { {RABDataVolumeReport-ExtIEs} }		OPTIONAL,
+		...
+	}
+
+RABDataVolumeReport-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+RAB-ID					::= BIT STRING (SIZE (8))
+
+RAB-Parameter-ExtendedGuaranteedBitrateList	::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedGuaranteedBitrate
+
+RAB-Parameter-ExtendedMaxBitrateList		::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedMaxBitrate
+
+
+RAB-Parameter-GuaranteedBitrateList	::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF GuaranteedBitrate
+--This IE shall be ignored if Supported Guaranteed Bit rate is present--
+
+RAB-Parameter-MaxBitrateList		::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF MaxBitrate
+--This IE shall be ignored if Supported Maximum Bit rate is present--
+
+RAB-Parameters ::= SEQUENCE {
+	trafficClass			TrafficClass,
+	rAB-AsymmetryIndicator			RAB-AsymmetryIndicator,
+	maxBitrate			RAB-Parameter-MaxBitrateList,
+	guaranteedBitRate		RAB-Parameter-GuaranteedBitrateList OPTIONAL
+	-- This IE shall be present the traffic class IE is set to "Conversational" or "Streaming" --,
+	deliveryOrder			DeliveryOrder,
+	maxSDU-Size			MaxSDU-Size,
+	sDU-Parameters			SDU-Parameters,
+	transferDelay			TransferDelay OPTIONAL
+	-- This IE shall be present the traffic class IE is set to "Conversational" or "Streaming" --,
+	trafficHandlingPriority		TrafficHandlingPriority OPTIONAL
+	-- This IE shall be present the traffic class IE is set to "Interactive" --,
+	allocationOrRetentionPriority	AllocationOrRetentionPriority OPTIONAL,
+	sourceStatisticsDescriptor	SourceStatisticsDescriptor OPTIONAL
+	-- This IE shall be present the traffic class IE is set to "Conversational" or "Streaming" --,
+	relocationRequirement	RelocationRequirement OPTIONAL,
+	iE-Extensions			ProtocolExtensionContainer { {RAB-Parameters-ExtIEs} } OPTIONAL,
+	...
+}
+
+RAB-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 5 to enable indication that Interactive User Plane data is of a signalling nature --
+	{ ID id-SignallingIndication	CRITICALITY ignore		EXTENSION SignallingIndication		PRESENCE optional }|
+-- Extension for Release 7 to indicate an Extended Guaranteed Bitrate --
+{ ID id-RAB-Parameter-ExtendedGuaranteedBitrateList	CRITICALITY reject		EXTENSION RAB-Parameter-ExtendedGuaranteedBitrateList		PRESENCE optional }|
+-- Extension for Release 7 to indicate an Extended Maximum Bitrate --
+{ ID id-RAB-Parameter-ExtendedMaxBitrateList	CRITICALITY reject		EXTENSION RAB-Parameter-ExtendedMaxBitrateList		PRESENCE optional }|
+-- Extension for Release 8 to indicate an Supported Maximum Bitrate --
+{ ID id-RAB-Parameter-SupportedMaxBitrateList	CRITICALITY reject		EXTENSION SupportedRAB-ParameterBitrateList		PRESENCE optional }|
+-- Extension for Release 8 to indicate an Supported Guaranteed Bitrate --
+{ ID id-RAB-Parameter-SupportedGuaranteedBitrateList	CRITICALITY reject		EXTENSION SupportedRAB-ParameterBitrateList		PRESENCE optional },
+	...
+}
+
+RABParametersList	::=	SEQUENCE (SIZE (1.. maxNrOfRABs)) OF SEQUENCE	{
+	rab-Id					RAB-ID,
+	cn-domain				CN-DomainIndicator,
+	rabDataVolumeReport		RABDataVolumeReport	OPTIONAL,
+	upInformation			UPInformation	OPTIONAL,
+	iE-Extensions			ProtocolExtensionContainer { { RABParametersList-ExtIEs } }		OPTIONAL,
+	...
+}
+
+RABParametersList-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+RAB-SubflowCombinationBitRate 	::= INTEGER (0..16000000)
+
+RAB-TrCH-Mapping ::=	SEQUENCE ( SIZE (1..maxNrOfRABs)) OF
+	RAB-TrCH-MappingItem
+
+RAB-TrCH-MappingItem ::= SEQUENCE {
+	rAB-ID			RAB-ID,
+	trCH-ID-List	TrCH-ID-List,
+	iE-Extensions			ProtocolExtensionContainer { { RAB-TrCH-MappingItem-ExtIEs} } OPTIONAL,
+	...
+}
+
+RAB-TrCH-MappingItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 99 to enable transfer of RAB Subflow mapping onto Iur transport channel Ids for a given indicated domain --
+	{	ID id-CN-DomainIndicator	CRITICALITY ignore		EXTENSION CN-DomainIndicator	PRESENCE optional	},
+	...
+}
+
+RAC					::= OCTET STRING (SIZE (1))
+
+RAI ::= SEQUENCE {
+	lAI				LAI,
+	rAC				RAC,
+	iE-Extensions			ProtocolExtensionContainer { {RAI-ExtIEs} } OPTIONAL,
+	...
+}
+
+RAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+RAListofIdleModeUEs ::= CHOICE {
+	notEmptyRAListofIdleModeUEs			NotEmptyRAListofIdleModeUEs,
+	emptyFullRAListofIdleModeUEs			ENUMERATED {emptylist,fulllist,...},
+	...
+}
+
+NotEmptyRAListofIdleModeUEs ::= SEQUENCE {
+	rAofIdleModeUEs			RAofIdleModeUEs,
+	iE-Extensions			ProtocolExtensionContainer { {NotEmptyRAListofIdleModeUEs-ExtIEs} } OPTIONAL
+}
+
+RAofIdleModeUEs ::= SEQUENCE (SIZE (1..maxMBMSRA)) OF
+	RAC
+
+NotEmptyRAListofIdleModeUEs-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+{ ID id-LAofIdleModeUEs		CRITICALITY reject	EXTENSION LAListofIdleModeUEs PRESENCE conditional },
+	-- This IE shall be present if the RA of Idle Mode UEs IE is included. --
+	...
+}
+
+LAListofIdleModeUEs ::= SEQUENCE (SIZE (1..maxMBMSRA)) OF
+	LAI
+
+RAT-Type ::= ENUMERATED {
+	utran,
+	geran,
+	...
+}
+
+RateControlAllowed ::= ENUMERATED {
+	not-allowed,
+	allowed
+}
+
+RedirectAttemptFlag 	::= NULL
+
+RedirectionCompleted	::= ENUMERATED {
+	redirection-completed,
+	...
+}
+
+RejectCauseValue ::= ENUMERATED {
+	pLMN-Not-Allowed,
+	location-Area-Not-Allowed,
+	roaming-Not-Allowed-In-This-Location-Area,
+	no-Suitable-Cell-In-Location-Area,
+	gPRS-Services-Not-Allowed-In-This-PLMN,
+	cS-PS-coordination-required,
+	...,
+	network-failure,
+	not-authorized-for-this-CSG
+}
+
+
+RelocationRequirement ::= ENUMERATED {
+	lossless,
+	none,
+	...,
+	realtime
+}
+
+RelocationType ::= ENUMERATED {
+	ue-not-involved,
+	ue-involved,
+	...
+}
+
+RepetitionNumber0 ::= INTEGER (0..255)
+
+RepetitionNumber1 ::= INTEGER (1..256)
+
+
+ReportArea ::= ENUMERATED {
+	service-area,
+	geographical-area,
+	...
+}
+
+ReportInterval		::=	ENUMERATED {
+						ms250,
+						ms500,
+						ms1000,
+						ms2000,
+						ms3000,
+						ms4000,
+						ms6000,
+						ms12000,
+						ms16000,
+						ms20000,
+						ms24000,
+						ms32000,
+						ms64000,
+						...,
+						ms8000,
+						ms28000
+}
+
+ReportAmount		::=	ENUMERATED { n1, n2, n4, n8, n16, n32, n64, infinity, ... }
+
+RequestedGPSAssistanceData 	::= OCTET STRING (SIZE (1 .. 38 ))
+	-- gpsAssistanceData as defined in 24.080 --
+
+RequestedGANSSAssistanceData 	::= OCTET STRING (SIZE (1 .. 201 ))
+	-- ganssAssistanceData as defined in 24.080 --
+
+RequestedLocationRelatedDataType ::= ENUMERATED {
+	decipheringKeysUEBasedOTDOA,
+	decipheringKeysAssistedGPS,
+	dedicatedAssistanceDataUEBasedOTDOA,
+	dedicatedAssistanceDataAssistedGPS,
+	...,
+-- Release 7 extension elements --
+	decipheringKeysAssistedGANSS,
+	dedicatedAssistanceDataAssistedGANSS,
+	decipheringKeysAssistedGPSandGANSS,
+	dedicatedAssistanceDataAssistedGPSandGANSS
+}
+
+RequestedMBMSIPMulticastAddressandAPNRequest ::= SEQUENCE (SIZE (1..maxnoofMulticastServicesPerRNC)) OF
+	MBMSIPMulticastAddressandAPNlist
+
+MBMSIPMulticastAddressandAPNlist ::= SEQUENCE {
+	tMGI					TMGI,
+	iPMulticastAddress		IPMulticastAddress,
+	aPN						APN,
+	iE-Extensions			ProtocolExtensionContainer { {MBMSIPMulticastAddressandAPNlist-ExtIEs} } 	OPTIONAL,
+	...
+}
+
+MBMSIPMulticastAddressandAPNlist-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+RequestedMulticastServiceList ::= SEQUENCE (SIZE (1.. maxnoofMulticastServicesPerUE)) OF
+	TMGI
+
+Requested-RAB-Parameter-Values ::= SEQUENCE {
+	requestedMaxBitrates				Requested-RAB-Parameter-MaxBitrateList			OPTIONAL,
+	requestedGuaranteedBitrates				Requested-RAB-Parameter-GuaranteedBitrateList			OPTIONAL,
+	iE-Extensions			ProtocolExtensionContainer { { Requested-RAB-Parameter-Values-ExtIEs} } 	OPTIONAL,
+	...
+}
+
+Requested-RAB-Parameter-Values-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 6 to enable RNC to request the execution of an alternative RAB configuration --
+	{ ID id-AlternativeRABConfigurationRequest		CRITICALITY ignore	EXTENSION AlternativeRABConfigurationRequest	PRESENCE optional }|
+-- Extension for Release 7 to request an Extended Maximum Bitrate --
+	{ ID id-Requested-RAB-Parameter-ExtendedMaxBitrateList		CRITICALITY reject	EXTENSION Requested-RAB-Parameter-ExtendedMaxBitrateList	PRESENCE optional }|
+-- Extension for Release 7 to request an Extended Guaranteed Bitrate --
+	{ ID id-Requested-RAB-Parameter-ExtendedGuaranteedBitrateList		CRITICALITY reject	EXTENSION Requested-RAB-Parameter-ExtendedGuaranteedBitrateList	PRESENCE optional }|
+-- Extension for Release 8 to request an Supported Maximum Bitrate --
+	{ ID id-Requested-RAB-Parameter-SupportedMaxBitrateList		CRITICALITY reject	EXTENSION SupportedRAB-ParameterBitrateList		PRESENCE optional }|
+-- Extension for Release 8 to request an Supported Guaranteed Bitrate --
+	{ ID id-Requested-RAB-Parameter-SupportedGuaranteedBitrateList		CRITICALITY reject	EXTENSION SupportedRAB-ParameterBitrateList	PRESENCE optional },
+	...
+}
+
+Requested-RAB-Parameter-ExtendedMaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedMaxBitrate
+
+Requested-RAB-Parameter-ExtendedGuaranteedBitrateList	::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF ExtendedGuaranteedBitrate
+
+Requested-RAB-Parameter-MaxBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF MaxBitrate
+
+Requested-RAB-Parameter-GuaranteedBitrateList	::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF GuaranteedBitrate
+
+
+RequestType ::= SEQUENCE {
+	event				Event,
+	reportArea			ReportArea,
+	accuracyCode		INTEGER (0..127)	OPTIONAL,
+	...
+}
+
+ResidualBitErrorRatio ::= SEQUENCE {
+	mantissa			INTEGER (1..9),
+	exponent			INTEGER (1..8),
+	iE-Extensions			ProtocolExtensionContainer { {ResidualBitErrorRatio-ExtIEs} } OPTIONAL
+}
+-- ResidualBitErrorRatio = mantissa * 10^-exponent
+
+ResidualBitErrorRatio-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+ResponseTime	::= ENUMERATED {
+	lowdelay,
+	delaytolerant,
+...
+}
+
+RIMInformation					::= OCTET STRING
+
+RIM-Transfer ::= SEQUENCE {
+	rIMInformation				RIMInformation,
+	rIMRoutingAddress			RIMRoutingAddress	OPTIONAL,
+	iE-Extensions			ProtocolExtensionContainer { {RIM-Transfer-ExtIEs} } OPTIONAL
+}
+
+RIM-Transfer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+RIMRoutingAddress ::= CHOICE {
+	targetRNC-ID					TargetRNC-ID,
+	gERAN-Cell-ID					GERAN-Cell-ID,
+	... ,
+	targeteNB-ID					TargetENB-ID
+}
+
+
+RNC-ID					::= INTEGER (0..4095)
+-- RNC-ID					::= BIT STRING (SIZE (12))
+-- Harmonized with RNSAP and NBAP definitions
+
+
+RNCTraceInformation::= SEQUENCE {
+	traceReference					TraceReference,
+	traceActivationIndicator		ENUMERATED {activated,deactivated},
+	equipmentsToBeTraced			EquipmentsToBeTraced												OPTIONAL,
+	-- This IE shall be present if the Trace Activation Indicator IE is set to "Activated".
+	iE-Extensions					ProtocolExtensionContainer { { RNCTraceInformation-ExtIEs} }		OPTIONAL
+}
+
+RNCTraceInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 11 to enable anonymization MDT for area based MDT --
+	{ID id-TraceRecordingSessionReference		CRITICALITY ignore	EXTENSION TraceRecordingSessionReference	PRESENCE optional}|
+	{ID id-IMSI									CRITICALITY ignore	EXTENSION IMSI									PRESENCE optional}|
+	{ID id-Trace-Collection-Entity-IP-Addess	CRITICALITY ignore	EXTENSION TransportLayerAddress				PRESENCE optional}|
+	{ID id-Serving-Cell-Identifier				CRITICALITY ignore	EXTENSION UTRAN-CellID							PRESENCE optional},
+	...
+}
+
+RNSAPRelocationParameters			::=	SEQUENCE {
+	rabParmetersList			RABParametersList 						OPTIONAL,
+	locationReporting			LocationReportingTransferInformation	OPTIONAL,
+	traceInformation			TraceInformation 						OPTIONAL,
+	sourceSAI					SAI										OPTIONAL,
+	iE-Extensions		ProtocolExtensionContainer { { RNSAPRelocationParameters-ExtIEs } }		OPTIONAL,
+	...
+}
+
+RNSAPRelocationParameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+RRC-Container				::= OCTET STRING
+
+RTLoadValue	::= INTEGER (0..100)
+
+RSRVCC-HO-Indication ::= ENUMERATED {
+	ps-only,
+	...
+}
+
+RSRVCC-Information ::= SEQUENCE {
+	nonce					BIT STRING (SIZE (128)),
+	iMSInformation			OCTET STRING(SIZE(1.. maxSizeOfIMSInfo)),
+	iE-Extensions			ProtocolExtensionContainer { { RSRVCC-Information-ExtIEs} } OPTIONAL,
+	...
+
+}
+
+RSRVCC-Information-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+RSRVCC-Operation-Possible ::= ENUMERATED {
+	rsrvcc-possible,
+	...
+}
+
+-- S
+
+SAC					::= OCTET STRING (SIZE (2))
+SAI ::= SEQUENCE {
+	pLMNidentity				PLMNidentity,
+	lAC				LAC,
+	sAC				SAC,
+	iE-Extensions			ProtocolExtensionContainer { {SAI-ExtIEs} } OPTIONAL
+}
+
+SAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+SAPI ::= ENUMERATED {
+	sapi-0,
+	sapi-3,
+	...
+}
+
+SessionUpdateID ::= INTEGER (0.. 1048575)
+Shared-Network-Information ::= SEQUENCE {
+		pLMNs-in-shared-network			PLMNs-in-shared-network,
+		iE-Extensions			ProtocolExtensionContainer { {Shared-Network-Information-ExtIEs} } OPTIONAL,
+		...
+	}
+
+Session-Re-establishment-Indicator	::= ENUMERATED {true, ...}
+
+Shared-Network-Information-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+SignallingIndication ::= ENUMERATED {
+	signalling,
+	...
+}
+
+SDU-ErrorRatio ::= SEQUENCE {
+	mantissa			INTEGER (1..9),
+	exponent			INTEGER (1..6),
+	iE-Extensions			ProtocolExtensionContainer { {SDU-ErrorRatio-ExtIEs} } OPTIONAL
+}
+-- SDU-ErrorRatio = mantissa * 10^-exponent
+
+SDU-ErrorRatio-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+SDU-FormatInformationParameters ::= SEQUENCE (SIZE (1..maxRAB-SubflowCombination)) OF
+	SEQUENCE {
+		subflowSDU-Size			SubflowSDU-Size 	OPTIONAL,
+		rAB-SubflowCombinationBitRate	RAB-SubflowCombinationBitRate 	OPTIONAL,
+		iE-Extensions			ProtocolExtensionContainer { {SDU-FormatInformationParameters-ExtIEs} } OPTIONAL,
+		...
+	}
+
+SDU-FormatInformationParameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+SDU-Parameters ::= SEQUENCE (SIZE (1..maxRAB-Subflows)) OF
+	SEQUENCE {
+		sDU-ErrorRatio			SDU-ErrorRatio OPTIONAL
+		-- This IE shall be present if the Delivery Of Erroneous SDU IE is set to "Yes" or "No" --,
+		residualBitErrorRatio		ResidualBitErrorRatio,
+		deliveryOfErroneousSDU		DeliveryOfErroneousSDU,
+		sDU-FormatInformationParameters	SDU-FormatInformationParameters OPTIONAL,
+		iE-Extensions			ProtocolExtensionContainer { {SDU-Parameters-ExtIEs} } OPTIONAL,
+		...
+	}
+
+SDU-Parameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+SGSN-Group-Identity ::= CHOICE {
+	null-NRI				Null-NRI,
+	sGSN-Group-ID			SGSN-Group-ID
+}
+
+SGSN-Group-ID ::= OCTET STRING (SIZE (2))
+
+SNA-Access-Information ::= SEQUENCE {
+		authorisedPLMNs			AuthorisedPLMNs,
+		iE-Extensions			ProtocolExtensionContainer { {SNA-Access-Information-ExtIEs} } OPTIONAL,
+		...
+	}
+
+SNA-Access-Information-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+SNAC				::= INTEGER (0..65535)
+
+Service-Handover ::= ENUMERATED {
+	handover-to-GSM-should-be-performed,
+	handover-to-GSM-should-not-be-performed,
+	handover-to-GSM-shall-not-be-performed,
+	...
+}
+
+Source-ToTarget-TransparentContainer ::= OCTET STRING
+-- This IE is a transparent container, the IE shall be encoded not as an OCTET STRING but according to the type specifications of the target system.
+-- Note: In the current version of this specification, this IE may either carry the Source RNC to
+-- Target RNC Transparent Container or the Source eNB to Target eNB Transparent Container IE as
+-- defined in TS 36.413 [49]
+
+SourceeNodeB-ToTargeteNodeB-TransparentContainer ::= OCTET STRING
+
+
+SourceCellID ::= CHOICE {
+	sourceUTRANCellID			SourceUTRANCellID,
+	sourceGERANCellID			CGI,
+	...
+}
+
+SourceBSS-ToTargetBSS-TransparentContainer		::= OCTET STRING
+
+SourceID ::= CHOICE {
+	sourceRNC-ID			SourceRNC-ID,
+	sAI				SAI,
+	...
+}
+
+
+SourceRNC-ID ::= SEQUENCE {
+	pLMNidentity				PLMNidentity,
+	rNC-ID				RNC-ID,
+	iE-Extensions			ProtocolExtensionContainer { {SourceRNC-ID-ExtIEs} } OPTIONAL
+}
+
+SourceRNC-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 7 to indicate extended RNC-ID --
+	{ ID id-ExtendedRNC-ID				CRITICALITY reject	EXTENSION ExtendedRNC-ID		PRESENCE optional	},
+	...
+}
+
+SourceRNC-ToTargetRNC-TransparentContainer ::= SEQUENCE {
+	rRC-Container			RRC-Container,
+	numberOfIuInstances		NumberOfIuInstances,
+	relocationType 			RelocationType,
+	chosenIntegrityProtectionAlgorithm ChosenIntegrityProtectionAlgorithm	OPTIONAL,
+	integrityProtectionKey		IntegrityProtectionKey			OPTIONAL,
+	chosenEncryptionAlgorithForSignalling ChosenEncryptionAlgorithm		OPTIONAL,
+	cipheringKey			EncryptionKey				OPTIONAL,
+	chosenEncryptionAlgorithForCS	ChosenEncryptionAlgorithm		OPTIONAL,
+	chosenEncryptionAlgorithForPS	ChosenEncryptionAlgorithm		OPTIONAL,
+	d-RNTI				D-RNTI 					OPTIONAL
+	-- This IE shall be present if the Relocation type IE is set to "UE not involved in relocation of SRNS" --,
+	targetCellId			TargetCellId				OPTIONAL
+	-- This IE shall be present if the Relocation type IE is set to "UE involved in relocation of SRNS" --,
+	rAB-TrCH-Mapping			RAB-TrCH-Mapping				OPTIONAL,
+	iE-Extensions			ProtocolExtensionContainer { {SourceRNC-ToTargetRNC-TransparentContainer-ExtIEs} } OPTIONAL,
+	...
+}
+
+SourceRNC-ToTargetRNC-TransparentContainer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 99 to enable transfer of SRB mapping onto Iur transport channel Ids --
+	{ID id-SRB-TrCH-Mapping						CRITICALITY reject	EXTENSION SRB-TrCH-Mapping							PRESENCE optional}|
+-- Extension for Release 5 to enable Inter RAN Load Information Exchange over Iu --
+	{ID id-CellLoadInformationGroup				CRITICALITY ignore	EXTENSION CellLoadInformationGroup				PRESENCE optional}|
+-- Extension for Release 6 to provide Trace Recording Session Information to the Target RNC --
+	{ID id-TraceRecordingSessionInformation		CRITICALITY ignore	EXTENSION TraceRecordingSessionInformation	PRESENCE optional}|
+-- Extension for Release 6 to indicate to the Target RNC that the UE has activated Multicast Service --
+	{ID id-MBMSLinkingInformation				CRITICALITY ignore	EXTENSION MBMSLinkingInformation					PRESENCE optional}|
+	{ID id-d-RNTI-for-NoIuCSUP					CRITICALITY reject	EXTENSION D-RNTI									PRESENCE optional}|
+	{ID id-UE-History-Information				CRITICALITY ignore	EXTENSION UE-History-Information					PRESENCE optional}|
+	{ID id-SubscriberProfileIDforRFP			CRITICALITY ignore	EXTENSION SubscriberProfileIDforRFP				PRESENCE optional}|
+-- Extension for Release 8 to transfer to the Target RNC parameters required for SRVCC operation --
+	{ID id-SRVCC-Information 					CRITICALITY reject	EXTENSION SRVCC-Information							PRESENCE optional}|
+	{ID id-PSRABtobeReplaced 					CRITICALITY reject	EXTENSION RAB-ID									PRESENCE optional}|
+-- Extension for Release 9 to transfer to the Target RNC parameters required for CSFB operation --
+	{ID id-CSFB-Information 					CRITICALITY ignore	EXTENSION CSFB-Information 							PRESENCE optional}|
+-- Extension for Release 10 to indicate to the Target RNC the need of continued IRAT measurement --
+	{ID id-IRAT-Measurement-Configuration		CRITICALITY ignore	EXTENSION IRAT-Measurement-Configuration		PRESENCE optional}|
+-- Extension for Release 10 to indicate Management Based MDT Allowed --
+	{ID id-Management-Based-MDT-Allowed			CRITICALITY ignore	EXTENSION Management-Based-MDT-Allowed			PRESENCE optional}|
+-- Extension for Release 11 to indicate Management Based MDT PLMN List --
+	{ID id-Management-Based-MDT-PLMN-List		CRITICALITY ignore	EXTENSION MDT-PLMN-List								PRESENCE optional}|
+-- Extension for Release 11 to indicate the last E-UTRAN PLMN Identity --
+	{ID id-LastE-UTRANPLMNIdentity				CRITICALITY ignore	EXTENSION PLMNidentity								PRESENCE optional},
+	...
+}
+
+IRAT-Measurement-Configuration ::= SEQUENCE {
+	rSRP						INTEGER (0..97)			OPTIONAL,
+	rSRQ						INTEGER (0..34)			OPTIONAL,
+	iRATmeasurementParameters	IRATmeasurementParameters,
+	iE-Extensions				ProtocolExtensionContainer { {IRAT-Measurement-Configuration-ExtIEs} } OPTIONAL}
+
+IRAT-Measurement-Configuration-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	{ID id-RSRQ-Type						CRITICALITY ignore	EXTENSION RSRQ-Type						PRESENCE optional}|
+	{ID id-RSRQ-Extension					CRITICALITY ignore	EXTENSION RSRQ-Extension				PRESENCE optional},
+	...
+}
+
+IRATmeasurementParameters::= SEQUENCE {
+	measurementDuration		INTEGER (1..100),
+	eUTRANFrequencies		EUTRANFrequencies		OPTIONAL,
+	iE-Extensions			ProtocolExtensionContainer { { IRATmeasurementParameters-ExtIEs} } OPTIONAL}
+
+IRATmeasurementParameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+RSRQ-Type ::= SEQUENCE {
+	allSymbols							BOOLEAN,
+	wideBand							BOOLEAN
+}
+
+RSRQ-Extension ::= INTEGER (-30..46, ...)
+
+EUTRANFrequencies ::= SEQUENCE (SIZE (1..maxNrOfEUTRAFreqs)) OF SEQUENCE {
+	earfcn					INTEGER (0..65535),
+	measBand				MeasBand			OPTIONAL,
+	iE-Extensions			ProtocolExtensionContainer { {EUTRANFrequencies-ExtIEs} } OPTIONAL}
+
+MeasBand ::= ENUMERATED {
+	v6,
+	v15,
+	v25,
+	v50,
+	v75,
+	v100
+}
+
+EUTRANFrequencies-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	{ ID id-EARFCN-Extended			CRITICALITY reject	EXTENSION EARFCN-Extended		PRESENCE optional},
+	...
+}
+
+SubscriberProfileIDforRFP ::= INTEGER (1..256)
+
+SourceStatisticsDescriptor ::= ENUMERATED {
+	speech,
+	unknown,
+	...
+}
+
+SupportedRAB-ParameterBitrateList ::= SEQUENCE (SIZE (1..maxNrOfSeparateTrafficDirections)) OF SupportedBitrate
+
+SupportedBitrate ::= INTEGER (1..1000000000, ...)
+-- Unit is bits per sec
+
+SourceUTRANCellID ::= SEQUENCE {
+	pLMNidentity			PLMNidentity,
+	uTRANcellID				TargetCellId,
+	iE-Extensions			ProtocolExtensionContainer { {SourceUTRANCellID-ExtIEs} } OPTIONAL
+}
+
+SourceUTRANCellID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+SRB-ID ::= INTEGER (1..32)
+
+SRB-TrCH-Mapping ::=	SEQUENCE ( SIZE (1..maxNrOfSRBs)) OF
+	SRB-TrCH-MappingItem
+
+SRB-TrCH-MappingItem ::= SEQUENCE {
+	sRB-ID			SRB-ID,
+	trCH-ID			TrCH-ID,
+	iE-Extensions			ProtocolExtensionContainer { { SRB-TrCH-MappingItem-ExtIEs} } OPTIONAL,
+	...
+}
+
+
+SRB-TrCH-MappingItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+SRVCC-HO-Indication ::= ENUMERATED {
+	ps-and-cs,
+	cs-only,
+	...
+}
+
+SRVCC-Information ::= SEQUENCE {
+	nonce			BIT STRING (SIZE (128)),
+	iE-Extensions			ProtocolExtensionContainer { { SRVCC-Information-ExtIEs} } OPTIONAL,
+	...
+}
+
+SRVCC-Information-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+SRVCC-Operation-Possible ::= ENUMERATED {
+	srvcc-possible,
+	...
+}
+
+SubflowSDU-Size				::= INTEGER (0..4095)
+-- Unit is bit
+
+
+-- T
+TAC ::= OCTET STRING (SIZE (2))
+
+TAI ::= SEQUENCE {
+	pLMNidentity			PLMNidentity,
+	tAC						TAC,
+	iE-Extensions			ProtocolExtensionContainer { {TAI-ExtIEs} } OPTIONAL
+}
+
+TAI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+
+Target-ToSource-TransparentContainer ::= OCTET STRING
+-- This IE is a transparent container, the IE shall be encoded not as an OCTET STRING but according to the type specifications of the target system.
+-- Note: In the current version of this specification, this IE may either carry the Target RNC to
+-- Source RNC Transparent Container or the Target eNB to Source eNB Transparent Container IE as
+-- defined in TS 36.413 [49]
+
+TargeteNodeB-ToSourceeNodeB-TransparentContainer ::= OCTET STRING
+
+TargetBSS-ToSourceBSS-TransparentContainer		::= OCTET STRING
+
+TargetCellId				::= INTEGER (0..268435455)
+
+TargetID ::= CHOICE {
+	targetRNC-ID			TargetRNC-ID,
+	cGI				CGI,
+
+	...,
+	targeteNB-ID	TargetENB-ID
+}
+
+TargetENB-ID ::= SEQUENCE {
+	pLMNidentity			PLMNidentity,
+	eNB-ID					ENB-ID,
+	iE-Extensions			ProtocolExtensionContainer { {TargetENB-ID-ExtIEs} } OPTIONAL,
+	selectedTAI		TAI,
+	...
+}
+
+TargetENB-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+
+TargetRNC-ID ::= SEQUENCE {
+	lAI				LAI,
+	rAC				RAC 		OPTIONAL,
+	rNC-ID				RNC-ID,
+	iE-Extensions			ProtocolExtensionContainer { {TargetRNC-ID-ExtIEs} } OPTIONAL
+}
+
+TargetRNC-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 7 to indicate extended RNC-ID --
+	{ ID id-ExtendedRNC-ID				CRITICALITY reject	EXTENSION ExtendedRNC-ID		PRESENCE optional	},
+	...
+}
+
+TargetRNC-ToSourceRNC-TransparentContainer ::= SEQUENCE {
+	rRC-Container			RRC-Container,
+	d-RNTI					D-RNTI 					OPTIONAL
+	-- May be included to allow the triggering of the Relocation Detect procedure from the Iur Interface --,
+	iE-Extensions			ProtocolExtensionContainer { {TargetRNC-ToSourceRNC-TransparentContainer-ExtIEs} } OPTIONAL,
+	...
+}
+
+TargetRNC-ToSourceRNC-TransparentContainer-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+TBCD-STRING 				::= OCTET STRING
+
+TemporaryUE-ID ::= CHOICE {
+	tMSI				TMSI,
+	p-TMSI				P-TMSI,
+	...
+}
+
+Time-UE-StayedInCell ::= INTEGER (0..4095)
+
+Time-UE-StayedInCell-EnhancedGranularity ::= INTEGER (0..40950)
+
+TimeToMBMSDataTransfer		::= OCTET STRING(SIZE(1))
+
+TimingDifferenceULDL	::= OCTET STRING (SIZE(1))
+
+TMGI ::= SEQUENCE {
+	pLMNidentity			PLMNidentity,
+	serviceID				OCTET STRING (SIZE (3)),
+	iE-Extensions			ProtocolExtensionContainer { {TMGI-ExtIEs} } OPTIONAL
+}
+
+TMGI-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+TMSI					::= OCTET STRING (SIZE (4))
+
+TraceDepth ::= ENUMERATED {
+	minimum,
+	medium,
+	maximum,
+	...
+}
+
+TraceInformation	::= SEQUENCE {
+	traceReference				TraceReference,
+	ue-identity					UE-ID,
+	tracePropagationParameters	TracePropagationParameters OPTIONAL,
+	iE-Extensions		ProtocolExtensionContainer { { TraceInformation-ExtIEs } } OPTIONAL,
+	...
+}
+
+TraceInformation-ExtIEs	RANAP-PROTOCOL-EXTENSION ::= {
+...
+}
+
+TracePropagationParameters ::= SEQUENCE {
+	traceRecordingSessionReference		TraceRecordingSessionReference,
+	traceDepth							TraceDepth,
+	listOfInterfacesToTrace				ListOfInterfacesToTrace		OPTIONAL,
+	iE-Extensions			ProtocolExtensionContainer { { TracePropagationParameters-ExtIEs} } OPTIONAL,
+	...
+}
+
+TracePropagationParameters-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+TraceRecordingSessionInformation	::= SEQUENCE {
+	traceReference						TraceReference,
+	traceRecordingSessionReference		TraceRecordingSessionReference,
+	iE-Extensions						ProtocolExtensionContainer { { TraceRecordingSessionInformation-ExtIEs} } OPTIONAL,
+	...
+}
+
+TraceRecordingSessionInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+TraceRecordingSessionReference		::= INTEGER (0..65535)
+
+TraceReference				::= OCTET STRING (SIZE (2..3))
+
+TraceType				::= OCTET STRING (SIZE (1))
+-- Reference: GSM TS 12.08
+
+TrafficClass ::= ENUMERATED {
+	conversational,
+	streaming,
+	interactive,
+	background,
+	...
+}
+
+TrafficHandlingPriority 		::= INTEGER { spare (0), highest (1), lowest (14), no-priority-used (15) } (0..15)
+
+TransferDelay 				::= INTEGER (0..65535)
+-- Unit is millisecond
+
+UnsuccessfullyTransmittedDataVolume	::= INTEGER (0..4294967295)
+
+TransportLayerAddress 			::= BIT STRING (SIZE (1..160, ...))
+
+TrCH-ID ::= SEQUENCE {
+	dCH-ID				DCH-ID		OPTIONAL,
+	dSCH-ID				DSCH-ID		OPTIONAL,
+	uSCH-ID				USCH-ID		OPTIONAL,
+	iE-Extensions			ProtocolExtensionContainer { { TrCH-ID-ExtIEs} } OPTIONAL,
+	...
+}
+
+TrCH-ID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 5 to enable transfer of HS-DSCH-MAC-d-Flow-ID onto Iur transport channel ID --
+	{ID id-hS-DSCH-MAC-d-Flow-ID	CRITICALITY ignore		EXTENSION HS-DSCH-MAC-d-Flow-ID		PRESENCE optional}|
+-- Extension for Release 6 to enable transfer of E-DCH-MAC-d-Flow-ID onto Iur transport channel ID --
+	{ID id-E-DCH-MAC-d-Flow-ID	CRITICALITY ignore		EXTENSION E-DCH-MAC-d-Flow-ID PRESENCE optional},
+	...
+}
+
+TrCH-ID-List ::= SEQUENCE (SIZE (1..maxRAB-Subflows)) OF
+	TrCH-ID
+
+TriggerID				::= OCTET STRING (SIZE (3..22))
+
+TunnelInformation ::= SEQUENCE {
+	transportLayerAddress	TransportLayerAddress,
+	uDP-Port-Number			Port-Number				OPTIONAL,
+	iE-Extensions			ProtocolExtensionContainer { {Tunnel-Information-ExtIEs} } OPTIONAL,
+	...
+}
+
+Tunnel-Information-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+
+TypeOfError ::= ENUMERATED {
+	not-understood,
+	missing,
+	...
+}
+
+
+-- U
+
+UE-AggregateMaximumBitRate ::= SEQUENCE {
+	uE-AggregateMaximumBitRateDownlink		UE-AggregateMaximumBitRateDownlink	OPTIONAL,
+	uE-AggregateMaximumBitRateUplink		UE-AggregateMaximumBitRateUplink	OPTIONAL,
+	...
+}
+
+UE-AggregateMaximumBitRateDownlink			::= INTEGER (1..1000000000)
+-- Unit is bits per sec
+
+UE-AggregateMaximumBitRateUplink			::= INTEGER (1..1000000000)
+-- Unit is bits per sec
+
+
+UE-History-Information ::= OCTET STRING
+
+UE-ID ::= CHOICE {
+	imsi				IMSI,
+	imei				IMEI,
+	...,
+	imeisv				IMEISV
+
+}
+
+UE-IsNotServed::= SEQUENCE {
+	permanentNAS-UE-ID		PermanentNAS-UE-ID,
+	iE-Extensions			ProtocolExtensionContainer { { UE-IsNotServed-ExtIEs } }		OPTIONAL,
+	...
+}
+
+UE-IsNotServed-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+
+UE-IsServed::= SEQUENCE {
+	permanentNAS-UE-ID		PermanentNAS-UE-ID,
+	pLMNidentity			PLMNidentity,
+	iE-Extensions			ProtocolExtensionContainer { { UE-IsServed-ExtIEs } }		OPTIONAL,
+	...
+}
+
+UE-IsServed-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+UE-Usage-Type ::= INTEGER (0..255)
+
+UERegistrationQueryResult ::= CHOICE {
+	uE-IsServed			UE-IsServed,
+	uE-IsNotServed		UE-IsNotServed
+}
+
+UESBI-Iu ::= SEQUENCE {
+	uESBI-IuA		UESBI-IuA	OPTIONAL,
+	uESBI-IuB		UESBI-IuB	OPTIONAL,
+	iE-Extensions		ProtocolExtensionContainer { {UESBI-Iu-ExtIEs} } OPTIONAL,
+	...
+}
+
+UESBI-Iu-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+UESBI-IuA				::= BIT STRING (SIZE(1..128))
+-- Reference: TR25.994 --
+UESBI-IuB				::= BIT STRING (SIZE(1..128))
+-- Reference: TR25.995 --
+
+UL-GTP-PDU-SequenceNumber		::= INTEGER (0..65535)
+
+UL-N-PDU-SequenceNumber 		::= INTEGER (0..65535)
+
+UPInformation		::=		SEQUENCE {
+	frameSeqNoUL			FrameSequenceNumber,
+	frameSeqNoDL			FrameSequenceNumber,
+	pdu14FrameSeqNoUL		PDUType14FrameSequenceNumber,
+	pdu14FrameSeqNoDL		PDUType14FrameSequenceNumber,
+	dataPDUType				DataPDUType,
+	upinitialisationFrame	UPInitialisationFrame,
+	iE-Extensions			ProtocolExtensionContainer { { UPInformation-ExtIEs } }		OPTIONAL,
+	...
+}
+
+UPInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	{ID id-TimingDifferenceULDL		CRITICALITY ignore	EXTENSION TimingDifferenceULDL		PRESENCE optional},
+
+	...
+}
+
+UPInitialisationFrame	::=	OCTET STRING
+
+UP-ModeVersions				::= BIT STRING (SIZE (16))
+
+USCH-ID						::= INTEGER (0..255)
+
+UserPlaneMode ::= ENUMERATED {
+	transparent-mode,
+	support-mode-for-predefined-SDU-sizes,
+	...
+}
+
+UTRAN-CellID ::= SEQUENCE {
+	pLMNidentity			PLMNidentity,
+	cellID					TargetCellId,
+	iE-Extensions			ProtocolExtensionContainer { { UTRAN-CellID-ExtIEs} } OPTIONAL
+}
+
+UTRAN-CellID-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+
+-- V
+
+VelocityEstimate ::= CHOICE {
+	horizontalVelocity								HorizontalVelocity,
+	horizontalWithVerticalVelocity					HorizontalWithVerticalVelocity,
+	horizontalVelocityWithUncertainty				HorizontalVelocityWithUncertainty,
+	horizontalWithVeritcalVelocityAndUncertainty	HorizontalWithVerticalVelocityAndUncertainty,
+	...
+}
+
+HorizontalVelocity	::= SEQUENCE {
+	horizontalSpeedAndBearing						HorizontalSpeedAndBearing,
+	iE-Extensions		ProtocolExtensionContainer { { HorizontalVelocity-ExtIEs} } OPTIONAL,
+	...
+}
+
+HorizontalVelocity-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+HorizontalWithVerticalVelocity ::= SEQUENCE {
+	horizontalSpeedAndBearing							HorizontalSpeedAndBearing,
+	veritcalVelocity									VerticalVelocity,
+	iE-Extensions		ProtocolExtensionContainer { { HorizontalWithVerticalVelocity-ExtIEs} } OPTIONAL,
+	...
+}
+
+HorizontalWithVerticalVelocity-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+
+HorizontalVelocityWithUncertainty ::= SEQUENCE {
+	horizontalSpeedAndBearing							HorizontalSpeedAndBearing,
+	uncertaintySpeed									INTEGER (0..255),
+	iE-Extensions		ProtocolExtensionContainer { { HorizontalVelocityWithUncertainty-ExtIEs} } OPTIONAL,
+	...
+}
+
+HorizontalVelocityWithUncertainty-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+HorizontalWithVerticalVelocityAndUncertainty ::= SEQUENCE {
+	horizontalSpeedAndBearing							HorizontalSpeedAndBearing,
+	veritcalVelocity									VerticalVelocity,
+	horizontalUncertaintySpeed							INTEGER (0..255),
+	verticalUncertaintySpeed							INTEGER (0..255),
+	iE-Extensions		ProtocolExtensionContainer { { HorizontalWithVerticalVelocityAndUncertainty-ExtIEs} } OPTIONAL,
+	...
+}
+
+HorizontalWithVerticalVelocityAndUncertainty-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+HorizontalSpeedAndBearing ::= SEQUENCE {
+	bearing											INTEGER (0..359),
+	horizontalSpeed									INTEGER (0..2047)
+}
+
+VerticalVelocity ::= SEQUENCE {
+	veritcalSpeed									INTEGER (0..255),
+	veritcalSpeedDirection							VerticalSpeedDirection
+}
+
+VerticalSpeedDirection ::= ENUMERATED {
+	upward,
+	downward
+}
+
+VerticalAccuracyCode			::= INTEGER (0..127)
+
+VoiceSupportMatchIndicator ::= ENUMERATED {
+	supported,
+	not-supported,
+	...
+}
+
+END
diff --git a/library/ranap/RANAP_PDU_Contents.asn b/library/ranap/RANAP_PDU_Contents.asn
new file mode 100644
index 0000000..840fd69
--- /dev/null
+++ b/library/ranap/RANAP_PDU_Contents.asn
@@ -0,0 +1,3736 @@
+-- RANAP-PDU-Contents.asn
+--
+-- 3GPP TS 25.413 V14.0.0 (2017-03)
+-- http://www.3gpp.org/ftp/Specs/html-info/25413.htm
+--
+-- 9.3.3	PDU Definitions
+--
+
+-- **************************************************************
+--
+-- PDU definitions for RANAP.
+--
+-- **************************************************************
+
+RANAP-PDU-Contents {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) ranap (0) version1 (1) ranap-PDU-Contents (1) }
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+	AccuracyFulfilmentIndicator,
+	UE-Application-Layer-Measurement-Configuration,
+	UE-Application-Layer-Measurement-Configuration-For-Relocation,
+	APN,
+	BroadcastAssistanceDataDecipheringKeys,
+	LocationRelatedDataRequestType,
+	LocationRelatedDataRequestTypeSpecificToGERANIuMode,
+	DataVolumeReference,
+	CellLoadInformation,
+	AreaIdentity,
+	CN-DomainIndicator,
+	Cause,
+	Cell-Access-Mode,
+	ClientType,
+	CriticalityDiagnostics,
+	ChosenEncryptionAlgorithm,
+	ChosenIntegrityProtectionAlgorithm,
+	ClassmarkInformation2,
+	ClassmarkInformation3,
+	CSG-Id,
+	CSG-Id-List,
+	CSG-Membership-Status,
+	DL-GTP-PDU-SequenceNumber,
+	DL-N-PDU-SequenceNumber,
+	DataVolumeReportingIndication,
+	DeltaRAListofIdleModeUEs,
+	DRX-CycleLengthCoefficient,
+	EncryptionInformation,
+	EncryptionKey,
+	E-UTRAN-Service-Handover,
+	ExtendedRNC-ID,
+	FrequenceLayerConvergenceFlag,
+	GERAN-BSC-Container,
+	GERAN-Classmark,
+	GlobalCN-ID,
+	GlobalRNC-ID,
+	GTP-TEI,
+	IncludeVelocity,
+	InformationExchangeID,
+	InformationExchangeType,
+	InformationRequested,
+	InformationRequestType,
+	InformationTransferID,
+	InformationTransferType,
+	InterSystemInformationTransferType,
+	IntegrityProtectionInformation,
+	IntegrityProtectionKey,
+	InterSystemInformation-TransparentContainer,
+	IPMulticastAddress,
+	IuSignallingConnectionIdentifier,
+	IuTransportAssociation,
+	KeyStatus,
+	L3-Information,
+	LAI,
+	LastKnownServiceArea,
+	Correlation-ID,
+	MBMS-PTP-RAB-ID,
+	MBMSBearerServiceType,
+	MBMSCountingInformation,
+	MBMSCNDe-Registration,
+	MBMSHCIndicator,
+	MBMSRegistrationRequestType,
+	MBMSServiceArea,
+	MBMSSessionDuration,
+	MBMSSessionIdentity,
+	MBMSSessionRepetitionNumber,
+	MSISDN,
+	NAS-PDU,
+	NAS-SequenceNumber,
+	NAS-SynchronisationIndicator,
+	NewBSS-To-OldBSS-Information,
+	NonSearchingIndication,
+	NumberOfSteps,
+	Offload-RAB-Parameters,
+	Offload-RAB-Parameters-APN,
+	Offload-RAB-Parameters-ChargingCharacteristics,
+	OMC-ID,
+	OldBSS-ToNewBSS-Information,
+	PagingAreaID,
+	PagingCause,
+	PDP-TypeInformation,
+	PDP-TypeInformation-extension,
+	PermanentNAS-UE-ID,
+	PLMNidentity,
+	PositionData,
+	PositionDataSpecificToGERANIuMode,
+	PositioningPriority,
+	ProvidedData,
+	PowerSavingIndicator,
+	RAB-ID,
+	RAB-Parameters,
+	RAC,
+	RAListofIdleModeUEs,
+	RAT-Type,
+	RedirectAttemptFlag,
+	RedirectionCompleted,
+	RejectCauseValue,
+	RelocationType,
+	RequestedGANSSAssistanceData,
+	RequestType,
+	Requested-RAB-Parameter-Values,
+	ResponseTime,
+	RRC-Container,
+	RSRVCC-Operation-Possible,
+	RSRQ-Type,
+	RSRQ-Extension,
+	SAI,
+	SAPI,
+	Service-Handover,
+	SessionUpdateID,
+	SNA-Access-Information,
+	SourceBSS-ToTargetBSS-TransparentContainer,
+	SourceID,
+	Source-ToTarget-TransparentContainer,
+	SourceRNC-ToTargetRNC-TransparentContainer,
+	SRVCC-HO-Indication,
+	SRVCC-Information,
+	SRVCC-Operation-Possible,
+	TargetBSS-ToSourceBSS-TransparentContainer,
+	TargetID,
+	Target-ToSource-TransparentContainer,
+	TargetRNC-ToSourceRNC-TransparentContainer,
+	TemporaryUE-ID,
+	TimeToMBMSDataTransfer,
+	TMGI,
+	TracePropagationParameters,
+	TraceReference,
+	TraceType,
+	UnsuccessfullyTransmittedDataVolume,
+	TransportLayerAddress,
+	TriggerID,
+	UE-AggregateMaximumBitRate,
+	UE-ID,
+	UESBI-Iu,
+	UL-GTP-PDU-SequenceNumber,
+	UL-N-PDU-SequenceNumber,
+	UP-ModeVersions,
+	UserPlaneMode,
+	VelocityEstimate,
+	VerticalAccuracyCode,
+	VoiceSupportMatchIndicator,
+	Alt-RAB-Parameters,
+	Ass-RAB-Parameters,
+	PeriodicLocationInfo,
+	SubscriberProfileIDforRFP,
+	RNSAPRelocationParameters,
+	RABParametersList,
+	MDT-Configuration,
+	Priority-Class-Indicator,
+	Management-Based-MDT-Allowed,
+	HigherBitratesThan16MbpsFlag,
+	End-Of-CSFB,
+	Out-Of-UTRAN,
+	RSRVCC-HO-Indication,
+	RSRVCC-Information,
+	MDT-PLMN-List,
+	TunnelInformation,
+	LHN-ID,
+	Session-Re-establishment-Indicator,
+	Additional-CSPS-coordination-information,
+	UERegistrationQueryResult,
+	SGSN-Group-Identity,
+	P-TMSI,
+	BarometricPressure,
+	CivicAddress,
+	UE-Usage-Type,
+	DCN-ID
+
+FROM RANAP-IEs
+
+	PrivateIE-Container{},
+	ProtocolExtensionContainer{},
+	ProtocolIE-ContainerList{},
+	ProtocolIE-ContainerPair{},
+	ProtocolIE-ContainerPairList{},
+	ProtocolIE-Container{},
+	RANAP-PRIVATE-IES,
+	RANAP-PROTOCOL-EXTENSION,
+	RANAP-PROTOCOL-IES,
+	RANAP-PROTOCOL-IES-PAIR
+FROM RANAP-Containers
+
+	maxNrOfDTs,
+	maxNrOfErrors,
+	maxNrOfIuSigConIds,
+	maxNrOfRABs,
+	maxNrOfVol,
+	maxnoofMulticastServicesPerUE,
+
+	id-AccuracyFulfilmentIndicator,
+	id-UE-Application-Layer-Measurement-Configuration,
+	id-UE-Application-Layer-Measurement-Configuration-For-Relocation,
+	id-APN,
+	id-AreaIdentity,
+	id-Alt-RAB-Parameters,
+	id-Ass-RAB-Parameters,
+	id-BroadcastAssistanceDataDecipheringKeys,
+	id-LocationRelatedDataRequestType,
+	id-CN-DomainIndicator,
+	id-Cause,
+	id-Cell-Access-Mode,
+	id-ChosenEncryptionAlgorithm,
+	id-ChosenIntegrityProtectionAlgorithm,
+	id-ClassmarkInformation2,
+	id-ClassmarkInformation3,
+	id-ClientType,
+	id-CNMBMSLinkingInformation,
+	id-CriticalityDiagnostics,
+	id-CSG-Id,
+	id-CSG-Id-List,
+	id-CSG-Membership-Status,
+	id-DeltaRAListofIdleModeUEs,
+	id-DRX-CycleLengthCoefficient,
+	id-DirectTransferInformationItem-RANAP-RelocInf,
+	id-DirectTransferInformationList-RANAP-RelocInf,
+	id-DL-GTP-PDU-SequenceNumber,
+	id-EncryptionInformation,
+	id-EncryptionKey,
+	id-ExtendedRNC-ID,
+	id-FrequenceLayerConvergenceFlag,
+	id-GERAN-BSC-Container,
+	id-GERAN-Classmark,
+	id-GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item,
+	id-GERAN-Iumode-RAB-FailedList-RABAssgntResponse,
+	id-GlobalCN-ID,
+	id-GlobalCN-IDCS,
+	id-GlobalCN-IDPS,
+	id-GlobalRNC-ID,
+	id-IncludeVelocity,
+	id-InformationExchangeID,
+	id-InformationExchangeType,
+	id-InformationRequested,
+	id-InformationRequestType,
+	id-InformationTransferID,
+	id-InformationTransferType,
+	id-IntegrityProtectionInformation,
+	id-IntegrityProtectionKey,
+	id-InterSystemInformationTransferType,
+	id-InterSystemInformation-TransparentContainer,
+	id-IPMulticastAddress,
+	id-IuSigConId,
+	id-OldIuSigConId,
+	id-OldIuSigConIdCS,
+	id-OldIuSigConIdPS,
+	id-IuSigConIdItem,
+	id-IuSigConIdList,
+	id-IuTransportAssociation,
+	id-JoinedMBMSBearerServicesList,
+	id-KeyStatus,
+	id-L3-Information,
+	id-LAI,
+	id-LastKnownServiceArea,
+	id-LeftMBMSBearerServicesList,
+	id-LocationRelatedDataRequestTypeSpecificToGERANIuMode,
+	id-MBMSBearerServiceType,
+	id-MBMSCountingInformation,
+	id-MBMSCNDe-Registration,
+	id-MBMSRegistrationRequestType,
+	id-MBMSSynchronisationInformation,
+	id-MBMSServiceArea,
+	id-MBMSSessionDuration,
+	id-MBMSSessionIdentity,
+	id-MBMSSessionRepetitionNumber,
+	id-MSISDN,
+	id-NAS-PDU,
+	id-NAS-SequenceNumber,
+	id-NewBSS-To-OldBSS-Information,
+	id-NonSearchingIndication,
+	id-NumberOfSteps,
+	id-Offload-RAB-Parameters,
+	id-OMC-ID,
+	id-OldBSS-ToNewBSS-Information,
+	id-PagingAreaID,
+	id-PagingCause,
+	id-PDP-TypeInformation,
+	id-PDP-TypeInformation-extension,
+	id-PermanentNAS-UE-ID,
+	id-PositionData,
+	id-PositionDataSpecificToGERANIuMode,
+	id-PositioningPriority,
+	id-ProvidedData,
+	id-RAB-ContextItem,
+	id-RAB-ContextList,
+	id-RAB-ContextFailedtoTransferItem,
+	id-RAB-ContextFailedtoTransferList,
+	id-RAB-ContextItem-RANAP-RelocInf,
+	id-RAB-ContextList-RANAP-RelocInf,
+	id-RAB-DataForwardingItem,
+	id-RAB-DataForwardingItem-SRNS-CtxReq,
+	id-RAB-DataForwardingList,
+	id-RAB-DataForwardingList-SRNS-CtxReq,
+	id-RAB-DataVolumeReportItem,
+	id-RAB-DataVolumeReportList,
+	id-RAB-DataVolumeReportRequestItem,
+	id-RAB-DataVolumeReportRequestList,
+	id-RAB-FailedItem,
+	id-RAB-FailedList,
+	id-RAB-FailedList-EnhRelocInfoRes,
+	id-RAB-FailedItem-EnhRelocInfoRes,
+	id-RAB-FailedtoReportItem,
+	id-RAB-FailedtoReportList,
+	id-RAB-ID,
+	id-RAB-ModifyList,
+	id-RAB-ModifyItem,
+	id-RAB-Parameters,
+	id-RAB-QueuedItem,
+	id-RAB-QueuedList,
+	id-RAB-ReleaseFailedList,
+	id-RAB-ReleaseItem,
+	id-RAB-ReleasedItem-IuRelComp,
+	id-RAB-ReleaseList,
+	id-RAB-ReleasedItem,
+	id-RAB-ReleasedList,
+	id-RAB-ReleasedList-IuRelComp,
+	id-RAB-RelocationReleaseItem,
+	id-RAB-RelocationReleaseList,
+	id-RAB-SetupItem-RelocReq,
+	id-RAB-SetupItem-RelocReqAck,
+	id-RAB-SetupList-RelocReq,
+	id-RAB-SetupList-RelocReqAck,
+	id-RAB-SetupList-EnhRelocInfoReq,
+	id-RAB-SetupItem-EnhRelocInfoReq,
+	id-RAB-SetupList-EnhRelocInfoRes,
+	id-RAB-SetupItem-EnhRelocInfoRes,
+	id-RAB-SetupList-EnhancedRelocCompleteReq,
+	id-RAB-SetupItem-EnhancedRelocCompleteReq,
+	id-RAB-SetupList-EnhancedRelocCompleteRes,
+	id-RAB-SetupItem-EnhancedRelocCompleteRes,
+	id-RAB-SetupOrModifiedItem,
+	id-RAB-SetupOrModifiedList,
+	id-RAB-SetupOrModifyItem,
+	id-RAB-SetupOrModifyList,
+	id-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes,
+	id-RAB-ToBeReleasedList-EnhancedRelocCompleteRes,
+	id-RAC,
+	id-RAListofIdleModeUEs,
+	id-RAT-Type,
+	id-RedirectAttemptFlag,
+	id-RedirectionCompleted,
+	id-RedirectionIndication,
+	id-RejectCauseValue,
+	id-RelocationType,
+	id-Relocation-SourceRNC-ID,
+	id-Relocation-SourceExtendedRNC-ID,
+	id-Relocation-TargetRNC-ID,
+	id-Relocation-TargetExtendedRNC-ID,
+	id-RequestedGANSSAssistanceData,
+	id-RequestType,
+	id-ResponseTime,
+	id-RSRVCC-Operation-Possible,
+	id-SAI,
+	id-SAPI,
+	id-SelectedPLMN-ID,
+	id-SessionUpdateID,
+	id-SNA-Access-Information,
+	id-SourceBSS-ToTargetBSS-TransparentContainer,
+	id-SourceRNC-ID,
+	id-SourceExtendedRNC-ID,
+	id-SourceID,
+	id-Source-ToTarget-TransparentContainer,
+	id-SourceRNC-PDCP-context-info,
+	id-SRVCC-HO-Indication,
+	id-SRVCC-Information,
+	id-SRVCC-Operation-Possible,
+	id-TargetBSS-ToSourceBSS-TransparentContainer,
+	id-TargetID,
+	id-Target-ToSource-TransparentContainer,
+	id-TemporaryUE-ID,
+	id-TimeToMBMSDataTransfer,
+	id-TMGI,
+	id-TracePropagationParameters,
+	id-TraceReference,
+	id-TraceType,
+	id-TransportLayerAddress,
+	id-TransportLayerInformation,
+	id-TriggerID,
+	id-UE-AggregateMaximumBitRate,
+	id-UE-ID,
+	id-UESBI-Iu,
+	id-UL-GTP-PDU-SequenceNumber,
+	id-UnsuccessfulLinkingList,
+	id-VelocityEstimate,
+	id-VerticalAccuracyCode,
+	id-VoiceSupportMatchIndicator,
+	id-PeriodicLocationInfo,
+	id-BroadcastGANSSAssistanceDataDecipheringKeys,
+	id-SubscriberProfileIDforRFP,
+	id-E-UTRAN-Service-Handover,
+	id-IP-Source-Address,
+	id-LGW-TransportLayerAddress,
+	id-Correlation-ID,
+	id-MDT-Configuration,
+	id-RNSAPRelocationParameters,
+	id-RABParametersList,
+	id-Priority-Class-Indicator,
+	id-Management-Based-MDT-Allowed,
+	id-HigherBitratesThan16MbpsFlag,
+	id-Trace-Collection-Entity-IP-Addess,
+	id-End-Of-CSFB,
+	id-Out-Of-UTRAN,
+	id-RSRVCC-HO-Indication,
+	id-RSRVCC-Information,
+	id-AnchorPLMN-ID,
+	id-Management-Based-MDT-PLMN-List,
+	id-Tunnel-Information-for-BBF,
+	id-SIPTO-Correlation-ID,
+	id-SIPTO-LGW-TransportLayerAddress,
+	id-LHN-ID,
+	id-LastE-UTRANPLMNIdentity,
+	id-Session-Re-establishment-Indicator,
+	id-Additional-CSPS-coordination-information,
+	id-UERegistrationQueryResult,
+	id-IuSigConIdRangeEnd,
+	id-SGSN-Group-Identity,
+	id-P-TMSI,
+	id-RANAP-Message,
+	id-PowerSavingIndicator,
+	id-BarometricPressure,
+	id-CivicAddress,
+	id-UE-Usage-Type,
+	id-DCN-ID
+
+FROM RANAP-Constants;
+
+-- **************************************************************
+--
+-- Common Container Lists
+--
+-- **************************************************************
+
+RAB-IE-ContainerList			{ RANAP-PROTOCOL-IES		: IEsSetParam }	::= ProtocolIE-ContainerList		{ 1, maxNrOfRABs,				{IEsSetParam} }
+RAB-IE-ContainerPairList		{ RANAP-PROTOCOL-IES-PAIR	: IEsSetParam }	::= ProtocolIE-ContainerPairList	{ 1, maxNrOfRABs,				{IEsSetParam} }
+ProtocolError-IE-ContainerList	{ RANAP-PROTOCOL-IES		: IEsSetParam }	::= ProtocolIE-ContainerList		{ 1, maxNrOfRABs,				{IEsSetParam} }
+IuSigConId-IE-ContainerList		{ RANAP-PROTOCOL-IES		: IEsSetParam }	::= ProtocolIE-ContainerList		{ 1, maxNrOfIuSigConIds,	{IEsSetParam} }
+DirectTransfer-IE-ContainerList	{ RANAP-PROTOCOL-IES		: IEsSetParam }	::= ProtocolIE-ContainerList		{ 1, maxNrOfDTs,				{IEsSetParam} }
+
+-- **************************************************************
+--
+-- Iu RELEASE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Iu Release Command
+--
+-- **************************************************************
+
+Iu-ReleaseCommand ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {Iu-ReleaseCommandIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {Iu-ReleaseCommandExtensions} } 				OPTIONAL,
+	...
+}
+
+Iu-ReleaseCommandIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-Cause					CRITICALITY ignore	TYPE Cause	 				PRESENCE mandatory	},
+	...
+}
+
+Iu-ReleaseCommandExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	{ ID id-End-Of-CSFB				CRITICALITY ignore	EXTENSION End-Of-CSFB		PRESENCE optional }|
+	{ ID id-Out-Of-UTRAN			CRITICALITY ignore	EXTENSION Out-Of-UTRAN		PRESENCE optional }|
+	{ ID id-LastE-UTRANPLMNIdentity	CRITICALITY ignore	EXTENSION PLMNidentity		PRESENCE optional },
+	...
+}
+
+-- **************************************************************
+--
+-- Iu Release Complete
+--
+-- **************************************************************
+
+Iu-ReleaseComplete ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {Iu-ReleaseCompleteIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {Iu-ReleaseCompleteExtensions} }				OPTIONAL,
+	...
+}
+
+Iu-ReleaseCompleteIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-DataVolumeReportList		CRITICALITY ignore	TYPE RAB-DataVolumeReportList 			PRESENCE optional	} |
+	{ ID id-RAB-ReleasedList-IuRelComp		CRITICALITY ignore	TYPE RAB-ReleasedList-IuRelComp			PRESENCE optional	} |
+	{ ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics 			PRESENCE optional 	},
+	...
+}
+
+RAB-DataVolumeReportList 				::= RAB-IE-ContainerList { {RAB-DataVolumeReportItemIEs} }
+
+RAB-DataVolumeReportItemIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-DataVolumeReportItem		CRITICALITY ignore	TYPE RAB-DataVolumeReportItem			PRESENCE mandatory	},
+	...
+}
+
+RAB-DataVolumeReportItem ::= SEQUENCE {
+	rAB-ID						RAB-ID,
+	dl-UnsuccessfullyTransmittedDataVolume		DataVolumeList		OPTIONAL
+	-- This IE shall always be present although its presence is optional --,
+	iE-Extensions					ProtocolExtensionContainer { {RAB-DataVolumeReportItem-ExtIEs} }			OPTIONAL,
+	...
+}
+
+RAB-DataVolumeReportItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+RAB-ReleasedList-IuRelComp				::= RAB-IE-ContainerList { {RAB-ReleasedItem-IuRelComp-IEs} }
+
+RAB-ReleasedItem-IuRelComp-IEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-ReleasedItem-IuRelComp			CRITICALITY ignore	TYPE RAB-ReleasedItem-IuRelComp				PRESENCE mandatory	},
+	...
+}
+
+RAB-ReleasedItem-IuRelComp	::= SEQUENCE {
+		rAB-ID						RAB-ID,
+		dL-GTP-PDU-SequenceNumber	DL-GTP-PDU-SequenceNumber 	OPTIONAL,
+		uL-GTP-PDU-SequenceNumber	UL-GTP-PDU-SequenceNumber 	OPTIONAL,
+		iE-Extensions				ProtocolExtensionContainer { {RAB-ReleasedItem-IuRelComp-ExtIEs} }			OPTIONAL,
+	...
+}
+
+RAB-ReleasedItem-IuRelComp-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+
+Iu-ReleaseCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- RELOCATION PREPARATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Relocation Required
+--
+-- **************************************************************
+
+RelocationRequired ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {RelocationRequiredIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {RelocationRequiredExtensions} }				OPTIONAL,
+...
+}
+
+RelocationRequiredIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RelocationType				CRITICALITY reject	TYPE RelocationType 				PRESENCE mandatory	} |
+	{ ID id-Cause					CRITICALITY ignore	TYPE Cause		 			PRESENCE mandatory	} |
+	{ ID id-SourceID				CRITICALITY ignore	TYPE SourceID	 				PRESENCE mandatory	} |
+	{ ID id-TargetID				CRITICALITY reject	TYPE TargetID	 				PRESENCE mandatory	} |
+	{ ID id-ClassmarkInformation2			CRITICALITY reject	TYPE ClassmarkInformation2			PRESENCE conditional
+	-- This IE shall be present if the Target ID IE contains a CGI IE and Source BSS To Target BSS Transparent Container is not included --		} |
+	{ ID id-ClassmarkInformation3			CRITICALITY ignore	TYPE ClassmarkInformation3			PRESENCE conditional
+	-- This IE shall be present if the Target ID IE contains a CGI IE and Source BSS To Target BSS Transparent Container is not included --		} |
+	{ ID id-Source-ToTarget-TransparentContainer
+							CRITICALITY reject	TYPE Source-ToTarget-TransparentContainer PRESENCE conditional
+	-- This IE shall be present if the Target ID IE contains a RNC-ID IE or eNB-ID --												} |
+	{ ID id-OldBSS-ToNewBSS-Information		CRITICALITY ignore	TYPE OldBSS-ToNewBSS-Information		PRESENCE optional		} ,
+	...
+}
+
+RelocationRequiredExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 5 to enable GERAN support over Iu-cs --
+	{ ID id-GERAN-Classmark								CRITICALITY ignore	EXTENSION GERAN-Classmark										PRESENCE optional} |
+-- Extension for Release 6 to enable Inter-RAT PS Handover between UTRAN and GERAN A/Gb --
+	{ ID id-SourceBSS-ToTargetBSS-TransparentContainer	CRITICALITY ignore	EXTENSION SourceBSS-ToTargetBSS-TransparentContainer	PRESENCE optional} |
+-- Extension for Release 8 for SRVCC operation --
+	{ ID id-SRVCC-HO-Indication							CRITICALITY reject	EXTENSION SRVCC-HO-Indication									PRESENCE optional} |
+-- Extension for Release 9 to communicate to the CN the CSG id of the target cell --
+	{ ID id-CSG-Id										CRITICALITY reject	EXTENSION CSG-Id 													PRESENCE optional} |
+-- Extension for Release 9 to communicate to the CN the hybrid access status of the target cell --
+	{ ID id-Cell-Access-Mode							CRITICALITY reject	EXTENSION Cell-Access-Mode										PRESENCE optional} |
+-- Extension for Release 11 for rSRVCC operation --
+	{ ID id-RSRVCC-HO-Indication						CRITICALITY reject	EXTENSION RSRVCC-HO-Indication									PRESENCE optional}|
+-- Extension for Release 14 to support QoE function --
+	{ID id-UE-Application-Layer-Measurement-Configuration-For-Relocation CRITICALITY ignore	EXTENSION UE-Application-Layer-Measurement-Configuration-For-Relocation	PRESENCE optional},
+
+	...
+}
+
+-- **************************************************************
+--
+-- Relocation Command
+--
+-- **************************************************************
+
+RelocationCommand ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {RelocationCommandIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {RelocationCommandExtensions} }				OPTIONAL,
+	...
+}
+
+RelocationCommandIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-Target-ToSource-TransparentContainer
+							CRITICALITY reject	TYPE Target-ToSource-TransparentContainer PRESENCE optional	} |
+	{ ID id-L3-Information				CRITICALITY ignore	TYPE L3-Information				PRESENCE optional	} |
+	{ ID id-RAB-RelocationReleaseList		CRITICALITY ignore	TYPE RAB-RelocationReleaseList 			PRESENCE optional	} |
+	{ ID id-RAB-DataForwardingList			CRITICALITY ignore	TYPE RAB-DataForwardingList			PRESENCE optional	} |
+	{ ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics 			PRESENCE optional	},
+	...
+}
+
+RAB-RelocationReleaseList 				::= RAB-IE-ContainerList { {RAB-RelocationReleaseItemIEs} }
+
+RAB-RelocationReleaseItemIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-RelocationReleaseItem		CRITICALITY ignore	TYPE RAB-RelocationReleaseItem			PRESENCE mandatory	},
+	...
+}
+
+RAB-RelocationReleaseItem ::= SEQUENCE {
+	rAB-ID						RAB-ID,
+	iE-Extensions					ProtocolExtensionContainer { {RAB-RelocationReleaseItem-ExtIEs} }			OPTIONAL,
+	...
+}
+
+RAB-RelocationReleaseItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+RAB-DataForwardingList 					::= RAB-IE-ContainerList { {RAB-DataForwardingItemIEs} }
+
+RAB-DataForwardingItemIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-DataForwardingItem			CRITICALITY ignore	TYPE RAB-DataForwardingItem			PRESENCE mandatory	},
+	...
+}
+
+RAB-DataForwardingItem ::= SEQUENCE {
+	rAB-ID						RAB-ID,
+	transportLayerAddress				TransportLayerAddress,
+	iuTransportAssociation				IuTransportAssociation,
+	iE-Extensions					ProtocolExtensionContainer { {RAB-DataForwardingItem-ExtIEs} }			OPTIONAL,
+	...
+}
+
+RAB-DataForwardingItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 5 to allow transfer of a second pair of TLA and association --
+	{ID id-TransportLayerAddress	CRITICALITY ignore	EXTENSION TransportLayerAddress	PRESENCE optional} |
+	{ID id-IuTransportAssociation	CRITICALITY ignore	EXTENSION IuTransportAssociation	PRESENCE optional},
+	...
+}
+
+RelocationCommandExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 5 to enable Inter RAN Load Information Exchange over Iu --
+	{ ID id-InterSystemInformation-TransparentContainer	CRITICALITY ignore	EXTENSION InterSystemInformation-TransparentContainer	PRESENCE optional} |
+-- Extension for Release 6 to enable Inter-RAT PS Handover between UTRAN and GERAN A/Gb --
+	{ ID id-TargetBSS-ToSourceBSS-TransparentContainer	CRITICALITY ignore	EXTENSION TargetBSS-ToSourceBSS-TransparentContainer	PRESENCE optional} |
+-- Extension for Release 8 for SRVCC operation --
+	{ ID id-SRVCC-Information							CRITICALITY reject	EXTENSION SRVCC-Information										PRESENCE optional} |
+-- Extension for Release 11 for rSRVCC operation --
+	{ ID id-RSRVCC-Information							CRITICALITY reject	EXTENSION RSRVCC-Information									PRESENCE optional},
+	...
+}
+
+-- **************************************************************
+--
+-- Relocation Preparation Failure
+--
+-- **************************************************************
+
+RelocationPreparationFailure ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {RelocationPreparationFailureIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {RelocationPreparationFailureExtensions} }			OPTIONAL,
+...
+}
+
+RelocationPreparationFailureIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-Cause					CRITICALITY ignore	TYPE Cause					PRESENCE mandatory	} |
+	{ ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics 			PRESENCE optional	},
+	...
+}
+
+RelocationPreparationFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 5 to enable Inter RAN Load Information Exchange over Iu --
+	{ ID id-InterSystemInformation-TransparentContainer		CRITICALITY ignore	EXTENSION InterSystemInformation-TransparentContainer				PRESENCE optional	},
+	...
+}
+
+-- **************************************************************
+--
+-- RELOCATION RESOURCE ALLOCATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Relocation Request
+--
+-- **************************************************************
+
+RelocationRequest ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {RelocationRequestIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {RelocationRequestExtensions} }				OPTIONAL,
+	...
+}
+
+RelocationRequestIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-PermanentNAS-UE-ID			CRITICALITY ignore	TYPE PermanentNAS-UE-ID 			PRESENCE optional	} |
+	{ ID id-Cause					CRITICALITY ignore	TYPE Cause					PRESENCE mandatory	} |
+	{ ID id-CN-DomainIndicator			CRITICALITY reject	TYPE CN-DomainIndicator				PRESENCE mandatory	} |
+	{ ID id-Source-ToTarget-TransparentContainer
+							CRITICALITY reject	TYPE SourceRNC-ToTargetRNC-TransparentContainer	PRESENCE mandatory	} |
+	{ ID id-RAB-SetupList-RelocReq			CRITICALITY reject	TYPE RAB-SetupList-RelocReq			PRESENCE optional	} |
+	{ ID id-IntegrityProtectionInformation		CRITICALITY ignore	TYPE IntegrityProtectionInformation 		PRESENCE optional	} |
+	{ ID id-EncryptionInformation			CRITICALITY ignore	TYPE EncryptionInformation 			PRESENCE optional	} |
+	{ ID id-IuSigConId	CRITICALITY ignore TYPE IuSignallingConnectionIdentifier PRESENCE mandatory },
+	...
+}
+
+RAB-SetupList-RelocReq 					::= RAB-IE-ContainerList { {RAB-SetupItem-RelocReq-IEs} }
+
+RAB-SetupItem-RelocReq-IEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-SetupItem-RelocReq			CRITICALITY reject	TYPE RAB-SetupItem-RelocReq			PRESENCE mandatory 	},
+	...
+}
+
+RAB-SetupItem-RelocReq ::= SEQUENCE {
+	rAB-ID						RAB-ID,
+	nAS-SynchronisationIndicator	NAS-SynchronisationIndicator	OPTIONAL,
+	rAB-Parameters					RAB-Parameters,
+	dataVolumeReportingIndication			DataVolumeReportingIndication 	OPTIONAL
+	-- This IE shall be present if the CN domain indicator IE is set to "PS domain" --,
+	pDP-TypeInformation				PDP-TypeInformation		OPTIONAL
+	-- This IE shall be present if the CN domain indicator IE is set to "PS domain" --,
+	userPlaneInformation				UserPlaneInformation,
+	transportLayerAddress				TransportLayerAddress,
+	iuTransportAssociation				IuTransportAssociation,
+	service-Handover				Service-Handover		OPTIONAL,
+	iE-Extensions					ProtocolExtensionContainer { {RAB-SetupItem-RelocReq-ExtIEs} }			OPTIONAL,
+	...
+}
+
+RAB-SetupItem-RelocReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 4 to enable RAB Quality of Service negotiation over Iu --
+	{ ID id-Alt-RAB-Parameters					CRITICALITY ignore	EXTENSION Alt-RAB-Parameters					PRESENCE optional}|
+-- Extension for Release 5 to enable GERAN support over Iu-cs --
+	{ ID id-GERAN-BSC-Container					CRITICALITY ignore	EXTENSION GERAN-BSC-Container					PRESENCE optional}|
+-- Extension for Release 8 to enable handover restriction to E-UTRAN --
+	{ ID id-E-UTRAN-Service-Handover			CRITICALITY ignore	EXTENSION E-UTRAN-Service-Handover			PRESENCE optional}|
+-- Extension for Release 9 to enable a new value --
+	{ ID id-PDP-TypeInformation-extension 		CRITICALITY ignore	EXTENSION PDP-TypeInformation-extension	PRESENCE optional}|
+-- Extension for Release 10 to enable offload at Iu-PS for UTRAN --
+	{ ID id-Offload-RAB-Parameters				CRITICALITY ignore	EXTENSION Offload-RAB-Parameters				PRESENCE optional},
+	...
+}
+
+UserPlaneInformation ::= SEQUENCE {
+	userPlaneMode					UserPlaneMode,
+	uP-ModeVersions					UP-ModeVersions,
+	iE-Extensions					ProtocolExtensionContainer { {UserPlaneInformation-ExtIEs} }			OPTIONAL,
+	...
+}
+
+UserPlaneInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+RelocationRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 4 --
+	{ ID id-GlobalCN-ID						CRITICALITY reject	EXTENSION GlobalCN-ID					PRESENCE optional}|
+-- Extension for Release 5 to enable shared networks in connected mode --
+	{ ID id-SNA-Access-Information			CRITICALITY ignore	EXTENSION SNA-Access-Information		PRESENCE optional}|
+-- Extension for Release 5 to enable specific behaviour by the RNC in relation with early UE handling --
+	{ ID id-UESBI-Iu						CRITICALITY ignore	EXTENSION UESBI-Iu						PRESENCE optional}|
+-- Extension for Release 6 to convey the selected PLMN id in network sharing mobility scenarios --
+	{ ID id-SelectedPLMN-ID	 				CRITICALITY ignore	EXTENSION PLMNidentity					PRESENCE optional}|
+-- Extension for Release 6 to enable MBMS UE linking at relocation --
+	{ ID id-CNMBMSLinkingInformation		CRITICALITY ignore	EXTENSION CNMBMSLinkingInformation	PRESENCE optional}|
+	{ ID id-UE-AggregateMaximumBitRate		CRITICALITY ignore	EXTENSION UE-AggregateMaximumBitRate	PRESENCE optional}|
+-- Extension for Release 9 to communicate to the target cell the CSG id reported by the source --
+	{ ID id-CSG-Id 							CRITICALITY reject	EXTENSION CSG-Id 						PRESENCE optional}|
+-- Extension for Release 9 for enabling UE prioritisation during access to hybrid cells --
+	{ ID id-CSG-Membership-Status			CRITICALITY ignore	EXTENSION CSG-Membership-Status			PRESENCE optional}|
+-- Extension for Release 10 to enable offload at Iu-PS for UTRAN --
+	{ ID id-MSISDN							CRITICALITY ignore	EXTENSION MSISDN						PRESENCE optional}|
+-- Extension for Release 11 to support rSRVCC in case of network sharing –
+	{ ID id-AnchorPLMN-ID					CRITICALITY ignore	EXTENSION PLMNidentity					PRESENCE optional}|
+	{ ID id-PowerSavingIndicator			CRITICALITY ignore	EXTENSION PowerSavingIndicator			PRESENCE optional}|
+-- Extension for Release 14 to support QoE function --
+	{ID id-UE-Application-Layer-Measurement-Configuration-For-Relocation CRITICALITY ignore	EXTENSION UE-Application-Layer-Measurement-Configuration-For-Relocation	PRESENCE optional},
+
+	...
+}
+
+CNMBMSLinkingInformation ::= SEQUENCE {
+	joinedMBMSBearerService-IEs		JoinedMBMSBearerService-IEs,
+	iE-Extensions					ProtocolExtensionContainer { {CNMBMSLinkingInformation-ExtIEs} }		OPTIONAL,
+	...
+}
+
+CNMBMSLinkingInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+JoinedMBMSBearerService-IEs ::= SEQUENCE (SIZE (1.. maxnoofMulticastServicesPerUE)) OF
+	SEQUENCE {
+		tMGI				TMGI,
+		mBMS-PTP-RAB-ID		MBMS-PTP-RAB-ID,
+		iE-Extensions		ProtocolExtensionContainer { {JoinedMBMSBearerService-ExtIEs} } OPTIONAL,
+		...
+	}
+
+JoinedMBMSBearerService-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- Relocation Request Acknowledge
+--
+-- **************************************************************
+
+RelocationRequestAcknowledge ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {RelocationRequestAcknowledgeIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {RelocationRequestAcknowledgeExtensions} }			OPTIONAL,
+	...
+}
+
+RelocationRequestAcknowledgeIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-Target-ToSource-TransparentContainer
+							CRITICALITY ignore	TYPE TargetRNC-ToSourceRNC-TransparentContainer PRESENCE optional	} |
+	{ ID id-RAB-SetupList-RelocReqAck		CRITICALITY ignore	TYPE RAB-SetupList-RelocReqAck			PRESENCE optional} |
+	{ ID id-RAB-FailedList				CRITICALITY ignore	TYPE RAB-FailedList				PRESENCE optional }|
+	{ ID id-ChosenIntegrityProtectionAlgorithm	CRITICALITY ignore	TYPE ChosenIntegrityProtectionAlgorithm		PRESENCE optional	} |
+	{ ID id-ChosenEncryptionAlgorithm		CRITICALITY ignore	TYPE ChosenEncryptionAlgorithm			PRESENCE optional	} |
+	{ ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics 			PRESENCE optional	},
+	...
+}
+
+RAB-SetupList-RelocReqAck 				::= RAB-IE-ContainerList { {RAB-SetupItem-RelocReqAck-IEs} }
+
+RAB-SetupItem-RelocReqAck-IEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-SetupItem-RelocReqAck		CRITICALITY reject	TYPE RAB-SetupItem-RelocReqAck			PRESENCE mandatory 	},
+	...
+}
+
+RAB-SetupItem-RelocReqAck ::= SEQUENCE {
+	rAB-ID						RAB-ID,
+	transportLayerAddress				TransportLayerAddress	OPTIONAL,
+	iuTransportAssociation				IuTransportAssociation	OPTIONAL,
+	iE-Extensions					ProtocolExtensionContainer { {RAB-SetupItem-RelocReqAck-ExtIEs} }			OPTIONAL,
+	...
+}
+
+RAB-SetupItem-RelocReqAck-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 4 to enable RAB Quality of Service negotiation over Iu --
+	{ID id-Ass-RAB-Parameters	CRITICALITY ignore		EXTENSION Ass-RAB-Parameters		PRESENCE optional	} |
+-- Extension for Release 5 to allow transfer of a second pair of TLA and association --
+	{ID id-TransportLayerAddress	CRITICALITY ignore	EXTENSION TransportLayerAddress	PRESENCE optional} |
+	{ID id-IuTransportAssociation	CRITICALITY ignore	EXTENSION IuTransportAssociation	PRESENCE optional},
+	...
+}
+
+RAB-FailedList 						::= RAB-IE-ContainerList { {RAB-FailedItemIEs} }
+
+RAB-FailedItemIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-FailedItem				CRITICALITY ignore	TYPE RAB-FailedItem				PRESENCE mandatory	},
+	...
+}
+
+RAB-FailedItem ::= SEQUENCE {
+	rAB-ID						RAB-ID,
+	cause						Cause,
+	iE-Extensions					ProtocolExtensionContainer { {RAB-FailedItem-ExtIEs} }			OPTIONAL,
+	...
+}
+
+RAB-FailedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+RelocationRequestAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 5 to enable Inter RAN Load Information Exchange over Iu --
+	{ID id-NewBSS-To-OldBSS-Information	CRITICALITY ignore	EXTENSION NewBSS-To-OldBSS-Information		PRESENCE optional	 }|
+	{ID id-CSG-Id						CRITICALITY	ignore	EXTENSION CSG-Id								PRESENCE optional	},
+	...
+}
+
+-- **************************************************************
+--
+-- Relocation Failure
+--
+-- **************************************************************
+
+RelocationFailure ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {RelocationFailureIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {RelocationFailureExtensions} }				OPTIONAL,
+	...
+}
+
+RelocationFailureIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-Cause					CRITICALITY ignore	TYPE Cause					PRESENCE mandatory	} |
+	{ ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics 			PRESENCE optional	},
+	...
+}
+
+RelocationFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 5 to enable Inter RAN Load Information Exchange over Iu --
+	{ ID id-NewBSS-To-OldBSS-Information		CRITICALITY ignore	EXTENSION NewBSS-To-OldBSS-Information		PRESENCE optional	} |
+-- Extension for Release 5 to enable GERAN support over Iu-cs --
+	{ ID id-GERAN-Classmark					CRITICALITY ignore	EXTENSION GERAN-Classmark			PRESENCE optional	},
+	...
+}
+
+-- **************************************************************
+--
+-- RELOCATION CANCEL ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Relocation Cancel
+--
+-- **************************************************************
+
+RelocationCancel ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {RelocationCancelIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {RelocationCancelExtensions} }				OPTIONAL,
+	...
+}
+
+RelocationCancelIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-Cause					CRITICALITY ignore	TYPE Cause					PRESENCE mandatory	},
+	...
+}
+
+RelocationCancelExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- Relocation Cancel Acknowledge
+--
+-- **************************************************************
+
+RelocationCancelAcknowledge ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {RelocationCancelAcknowledgeIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {RelocationCancelAcknowledgeExtensions} } 			OPTIONAL,
+	...
+}
+
+RelocationCancelAcknowledgeIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional	},
+	...
+}
+
+RelocationCancelAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- SRNS CONTEXT TRANSFER OPEARATION
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- SRNS Context Request
+--
+-- **************************************************************
+
+SRNS-ContextRequest ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {SRNS-ContextRequestIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {SRNS-ContextRequestExtensions} }				OPTIONAL,
+	...
+}
+
+SRNS-ContextRequestIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-DataForwardingList-SRNS-CtxReq	CRITICALITY ignore	TYPE RAB-DataForwardingList-SRNS-CtxReq		PRESENCE mandatory	},
+	...
+}
+
+RAB-DataForwardingList-SRNS-CtxReq 			::= RAB-IE-ContainerList { {RAB-DataForwardingItem-SRNS-CtxReq-IEs} }
+
+RAB-DataForwardingItem-SRNS-CtxReq-IEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-DataForwardingItem-SRNS-CtxReq	CRITICALITY reject	TYPE RAB-DataForwardingItem-SRNS-CtxReq		PRESENCE mandatory	},
+	...
+}
+
+RAB-DataForwardingItem-SRNS-CtxReq ::= SEQUENCE {
+	rAB-ID						RAB-ID,
+	iE-Extensions					ProtocolExtensionContainer { {RAB-DataForwardingItem-SRNS-CtxReq-ExtIEs} }			OPTIONAL,
+	...
+}
+
+RAB-DataForwardingItem-SRNS-CtxReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+SRNS-ContextRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- The SGSN may include the IE, when available to indicate the RAT from which the context request originates, to correct measurement points in SRNC. --
+	{ID id-RAT-Type		CRITICALITY ignore	EXTENSION 	RAT-Type		PRESENCE optional },
+	...
+}
+
+-- **************************************************************
+--
+-- SRNS Context Response
+--
+-- **************************************************************
+
+SRNS-ContextResponse ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {SRNS-ContextResponseIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {SRNS-ContextResponseExtensions} }				OPTIONAL,
+	...
+}
+
+SRNS-ContextResponseIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-ContextList				CRITICALITY ignore	TYPE RAB-ContextList				PRESENCE optional	} |
+	{ ID id-RAB-ContextFailedtoTransferList		CRITICALITY ignore	TYPE RAB-ContextFailedtoTransferList		PRESENCE optional	}|
+	{ ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional	},
+	...
+}
+
+RAB-ContextList 					::= RAB-IE-ContainerList { {RAB-ContextItemIEs} }
+
+RAB-ContextItemIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-ContextItem				CRITICALITY ignore	TYPE RAB-ContextItem				PRESENCE mandatory	},
+	...
+}
+
+RAB-ContextItem ::= SEQUENCE {
+	rAB-ID						RAB-ID,
+	dl-GTP-PDU-SequenceNumber			DL-GTP-PDU-SequenceNumber 	OPTIONAL,
+	ul-GTP-PDU-SequenceNumber			UL-GTP-PDU-SequenceNumber 	OPTIONAL,
+	dl-N-PDU-SequenceNumber				DL-N-PDU-SequenceNumber 	OPTIONAL,
+	ul-N-PDU-SequenceNumber				UL-N-PDU-SequenceNumber 	OPTIONAL,
+	iE-Extensions					ProtocolExtensionContainer { {RAB-ContextItem-ExtIEs} }			OPTIONAL,
+	...
+}
+
+RAB-ContextItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+RAB-ContextFailedtoTransferList 				::= RAB-IE-ContainerList { {RABs-ContextFailedtoTransferItemIEs} }
+
+RABs-ContextFailedtoTransferItemIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-ContextFailedtoTransferItem		CRITICALITY ignore	TYPE RABs-ContextFailedtoTransferItem			PRESENCE mandatory	},
+	...
+}
+
+RABs-ContextFailedtoTransferItem::= SEQUENCE {
+	rAB-ID						RAB-ID,
+	cause						Cause,
+	iE-Extensions					ProtocolExtensionContainer { { RABs-ContextFailedtoTransferItem-ExtIEs} }			OPTIONAL,
+	...
+}
+
+
+RABs-ContextFailedtoTransferItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+SRNS-ContextResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- SECURITY MODE CONTROL ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Security Mode Command
+--
+-- **************************************************************
+
+SecurityModeCommand ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {SecurityModeCommandIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {SecurityModeCommandExtensions} }				OPTIONAL,
+	...
+}
+
+SecurityModeCommandIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-IntegrityProtectionInformation		CRITICALITY reject	TYPE IntegrityProtectionInformation		PRESENCE mandatory	} |
+	{ ID id-EncryptionInformation			CRITICALITY ignore	TYPE EncryptionInformation			PRESENCE optional	} |
+	{ ID id-KeyStatus						CRITICALITY reject	TYPE KeyStatus						PRESENCE mandatory},
+	...
+}
+
+SecurityModeCommandExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- Security Mode Complete
+--
+-- **************************************************************
+
+SecurityModeComplete ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {SecurityModeCompleteIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {SecurityModeCompleteExtensions} }				OPTIONAL,
+	...
+}
+
+SecurityModeCompleteIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-ChosenIntegrityProtectionAlgorithm	CRITICALITY reject	TYPE ChosenIntegrityProtectionAlgorithm 	PRESENCE mandatory	} |
+	{ ID id-ChosenEncryptionAlgorithm		CRITICALITY ignore	TYPE ChosenEncryptionAlgorithm			PRESENCE optional	} |
+	{ ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional	},
+	...
+}
+
+SecurityModeCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- Security Mode Reject
+--
+-- **************************************************************
+
+SecurityModeReject ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {SecurityModeRejectIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {SecurityModeRejectExtensions} }				OPTIONAL,
+	...
+}
+
+SecurityModeRejectIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-Cause					CRITICALITY ignore	TYPE Cause					PRESENCE mandatory	} |
+	{ ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics 			PRESENCE optional	},
+	...
+}
+
+SecurityModeRejectExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- DATA VOLUME REPORT ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Data Volume Report Request
+--
+-- **************************************************************
+
+DataVolumeReportRequest ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {DataVolumeReportRequestIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {DataVolumeReportRequestExtensions} }			OPTIONAL,
+	...
+}
+
+DataVolumeReportRequestIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-DataVolumeReportRequestList		CRITICALITY ignore	TYPE RAB-DataVolumeReportRequestList		PRESENCE mandatory	},
+	...
+}
+
+RAB-DataVolumeReportRequestList 			::= RAB-IE-ContainerList { {RAB-DataVolumeReportRequestItemIEs} }
+
+RAB-DataVolumeReportRequestItemIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-DataVolumeReportRequestItem		CRITICALITY reject	TYPE RAB-DataVolumeReportRequestItem		PRESENCE mandatory	},
+	...
+}
+
+RAB-DataVolumeReportRequestItem ::= SEQUENCE {
+	rAB-ID						RAB-ID,
+	iE-Extensions					ProtocolExtensionContainer { {RAB-DataVolumeReportRequestItem-ExtIEs} }			OPTIONAL,
+	...
+}
+
+RAB-DataVolumeReportRequestItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+DataVolumeReportRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- Data Volume Report
+--
+-- **************************************************************
+
+DataVolumeReport ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {DataVolumeReportIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {DataVolumeReportExtensions} }				OPTIONAL,
+	...
+}
+
+DataVolumeReportIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-DataVolumeReportList		CRITICALITY ignore	TYPE RAB-DataVolumeReportList			PRESENCE optional	} |
+	{ ID id-RAB-FailedtoReportList			CRITICALITY ignore	TYPE RAB-FailedtoReportList			PRESENCE optional	} |
+	{ ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional	},
+	...
+}
+
+DataVolumeReportExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+RAB-FailedtoReportList 				::= RAB-IE-ContainerList { {RABs-failed-to-reportItemIEs} }
+
+RABs-failed-to-reportItemIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-FailedtoReportItem		CRITICALITY ignore	TYPE RABs-failed-to-reportItem			PRESENCE mandatory	},
+	...
+}
+
+RABs-failed-to-reportItem::= SEQUENCE {
+	rAB-ID						RAB-ID,
+	cause						Cause,
+	iE-Extensions					ProtocolExtensionContainer { { RABs-failed-to-reportItem-ExtIEs} }			OPTIONAL,
+	...
+}
+
+
+RABs-failed-to-reportItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+
+-- **************************************************************
+--
+-- RESET ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Reset
+--
+-- **************************************************************
+
+Reset ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {ResetIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {ResetExtensions} }					OPTIONAL,
+	...
+}
+
+ResetIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-Cause					CRITICALITY ignore	TYPE Cause					PRESENCE mandatory	} |
+	{ ID id-CN-DomainIndicator			CRITICALITY reject	TYPE CN-DomainIndicator				PRESENCE mandatory	} |
+	{ ID id-GlobalRNC-ID				CRITICALITY ignore	TYPE GlobalRNC-ID				PRESENCE optional	},
+	...
+}
+
+ResetExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 4 --
+	{ ID id-GlobalCN-ID				CRITICALITY ignore		EXTENSION GlobalCN-ID				PRESENCE optional}|
+-- Extension for Release 7 to indicate extended RNC-ID --
+	{ ID id-ExtendedRNC-ID				CRITICALITY reject	EXTENSION ExtendedRNC-ID		PRESENCE optional	},
+	...
+}
+
+-- **************************************************************
+--
+-- Reset Acknowledge
+--
+-- **************************************************************
+
+ResetAcknowledge ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {ResetAcknowledgeIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {ResetAcknowledgeExtensions} }				OPTIONAL,
+	...
+}
+
+ResetAcknowledgeIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-CN-DomainIndicator			CRITICALITY reject	TYPE CN-DomainIndicator				PRESENCE mandatory	} |
+	 { ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional	} |
+	{ ID id-GlobalRNC-ID				CRITICALITY ignore	TYPE GlobalRNC-ID				PRESENCE optional	},
+	...
+}
+
+ResetAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 4 --
+	{ ID id-GlobalCN-ID				CRITICALITY ignore		EXTENSION GlobalCN-ID				PRESENCE optional}|
+-- Extension for Release 7 to indicate extended RNC-ID --
+	{ ID id-ExtendedRNC-ID				CRITICALITY reject	EXTENSION ExtendedRNC-ID		PRESENCE optional	},
+	...
+}
+-- **************************************************************
+--
+-- RESET RESOURCE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+
+-- **************************************************************
+--
+-- Reset Resource
+--
+-- **************************************************************
+
+ResetResource ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {ResetResourceIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {ResetResourceExtensions} }					OPTIONAL,
+	...
+}
+
+ResetResourceIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-CN-DomainIndicator			CRITICALITY reject	TYPE CN-DomainIndicator				PRESENCE mandatory	} |
+	{ ID id-Cause					CRITICALITY ignore	TYPE Cause					PRESENCE mandatory	} |
+	{ ID id-IuSigConIdList				CRITICALITY ignore	TYPE ResetResourceList				PRESENCE mandatory	} |
+	{ ID id-GlobalRNC-ID				CRITICALITY ignore	TYPE GlobalRNC-ID				PRESENCE optional	},
+	...
+}
+
+ResetResourceList 	::=	IuSigConId-IE-ContainerList{ {ResetResourceItemIEs} }
+
+ResetResourceItemIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-IuSigConIdItem				CRITICALITY reject	TYPE	ResetResourceItem			PRESENCE mandatory	},
+	...
+}
+
+ResetResourceItem ::= SEQUENCE {
+	iuSigConId					IuSignallingConnectionIdentifier,
+	iE-Extensions				ProtocolExtensionContainer { { ResetResourceItem-ExtIEs} }			OPTIONAL,
+	...
+}
+
+ResetResourceItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	{ ID id-IuSigConIdRangeEnd		CRITICALITY reject	EXTENSION IuSignallingConnectionIdentifier	PRESENCE optional},
+	...
+}
+
+ResetResourceExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 4 --
+	{ ID id-GlobalCN-ID				CRITICALITY ignore		EXTENSION GlobalCN-ID				PRESENCE optional}|
+-- Extension for Release 7 to indicate extended RNC-ID --
+	{ ID id-ExtendedRNC-ID			CRITICALITY reject		EXTENSION ExtendedRNC-ID			PRESENCE optional	},
+	...
+}
+
+-- **************************************************************
+--
+-- Reset Resource Acknowledge
+--
+-- **************************************************************
+
+ResetResourceAcknowledge ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {ResetResourceAcknowledgeIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {ResetResourceAcknowledgeExtensions} }				OPTIONAL,
+	...
+}
+
+ResetResourceAcknowledgeIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-CN-DomainIndicator			CRITICALITY reject	TYPE CN-DomainIndicator				PRESENCE mandatory	} |
+	{ ID id-IuSigConIdList				CRITICALITY ignore	TYPE ResetResourceAckList			PRESENCE mandatory	} |
+	{ ID id-GlobalRNC-ID				CRITICALITY ignore	TYPE GlobalRNC-ID				PRESENCE optional	} |
+	{ ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional	},
+	...
+}
+ResetResourceAckList 	::=	IuSigConId-IE-ContainerList{ {ResetResourceAckItemIEs} }
+
+ResetResourceAckItemIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-IuSigConIdItem				CRITICALITY reject	TYPE	ResetResourceAckItem			PRESENCE mandatory	},
+	...
+}
+
+ResetResourceAckItem ::= SEQUENCE {
+	iuSigConId					IuSignallingConnectionIdentifier,
+	iE-Extensions				ProtocolExtensionContainer { { ResetResourceAckItem-ExtIEs} }			OPTIONAL,
+	...
+}
+
+ResetResourceAckItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	{ ID id-IuSigConIdRangeEnd	CRITICALITY ignore	EXTENSION IuSignallingConnectionIdentifier		PRESENCE optional},
+	...
+}
+
+ResetResourceAcknowledgeExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 4 --
+	{ ID id-GlobalCN-ID				CRITICALITY ignore		EXTENSION GlobalCN-ID				PRESENCE optional}|
+-- Extension for Release 7 to indicate extended RNC-ID --
+	{ ID id-ExtendedRNC-ID				CRITICALITY reject	EXTENSION ExtendedRNC-ID		PRESENCE optional},
+	...
+}
+
+-- **************************************************************
+--
+-- RAB RELEASE REQUEST ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- RAB Release Request
+--
+-- **************************************************************
+
+RAB-ReleaseRequest ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {RAB-ReleaseRequestIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {RAB-ReleaseRequestExtensions} }				OPTIONAL,
+	...
+}
+
+RAB-ReleaseRequestIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-ReleaseList				CRITICALITY ignore	TYPE RAB-ReleaseList				PRESENCE mandatory	},
+	...
+}
+
+RAB-ReleaseList 					::= RAB-IE-ContainerList { {RAB-ReleaseItemIEs} }
+
+RAB-ReleaseItemIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-ReleaseItem				CRITICALITY ignore	TYPE RAB-ReleaseItem				PRESENCE mandatory	},
+	...
+}
+
+RAB-ReleaseItem ::= SEQUENCE {
+	rAB-ID						RAB-ID,
+	cause						Cause,
+	iE-Extensions					ProtocolExtensionContainer { {RAB-ReleaseItem-ExtIEs} }			OPTIONAL,
+	...
+}
+
+RAB-ReleaseItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+RAB-ReleaseRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- Iu RELEASE REQUEST ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Iu Release Request
+--
+-- **************************************************************
+
+Iu-ReleaseRequest ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {Iu-ReleaseRequestIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {Iu-ReleaseRequestExtensions} }				OPTIONAL,
+	...
+}
+
+Iu-ReleaseRequestIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-Cause					CRITICALITY ignore	TYPE Cause					PRESENCE mandatory	},
+	...
+}
+
+Iu-ReleaseRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- RELOCATION DETECT ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Relocation Detect
+--
+-- **************************************************************
+
+RelocationDetect ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {RelocationDetectIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {RelocationDetectExtensions} }				OPTIONAL,
+	...
+}
+
+RelocationDetectIEs RANAP-PROTOCOL-IES ::= {
+	...
+}
+
+RelocationDetectExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- RELOCATION COMPLETE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Relocation Complete
+--
+-- **************************************************************
+
+RelocationComplete ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {RelocationCompleteIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {RelocationCompleteExtensions} }				OPTIONAL,
+	...
+}
+
+RelocationCompleteIEs RANAP-PROTOCOL-IES ::= {
+	...
+}
+
+RelocationCompleteExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 9 to enable the CN to handle potential UE NAS QoS issues related to higher bitrates --
+	{ ID id-HigherBitratesThan16MbpsFlag		CRITICALITY ignore	EXTENSION HigherBitratesThan16MbpsFlag		PRESENCE optional}|
+-- Extension for Release 11 to support BBAI --
+	{ ID id-Tunnel-Information-for-BBF			CRITICALITY ignore	EXTENSION TunnelInformation						PRESENCE optional}|
+-- Extension for Release 12 to support SIPTO@LN Stand-Alone --
+	{ ID id-LHN-ID								CRITICALITY ignore	EXTENSION LHN-ID								PRESENCE optional},
+	...
+}
+
+-- **************************************************************
+--
+-- ENHANCED RELOCATION COMPLETE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Enhanced Relocation Complete Request
+--
+-- **************************************************************
+
+EnhancedRelocationCompleteRequest ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {EnhancedRelocationCompleteRequestIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {EnhancedRelocationCompleteRequestExtensions} }				OPTIONAL,
+	...
+}
+
+EnhancedRelocationCompleteRequestIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-OldIuSigConId							CRITICALITY reject	TYPE IuSignallingConnectionIdentifier				PRESENCE mandatory } |
+	{ ID id-IuSigConId								CRITICALITY reject	TYPE IuSignallingConnectionIdentifier				PRESENCE mandatory } |
+	{ ID id-Relocation-SourceRNC-ID					CRITICALITY ignore	TYPE GlobalRNC-ID										PRESENCE mandatory } |
+	{ ID id-Relocation-SourceExtendedRNC-ID			CRITICALITY ignore	TYPE ExtendedRNC-ID										PRESENCE optional } |
+	{ ID id-Relocation-TargetRNC-ID					CRITICALITY reject	TYPE GlobalRNC-ID										PRESENCE mandatory } |
+	{ ID id-Relocation-TargetExtendedRNC-ID			CRITICALITY reject	TYPE ExtendedRNC-ID										PRESENCE optional } |
+	{ ID id-RAB-SetupList-EnhancedRelocCompleteReq	CRITICALITY reject	TYPE RAB-SetupList-EnhancedRelocCompleteReq		PRESENCE optional },
+	...
+}
+
+RAB-SetupList-EnhancedRelocCompleteReq 				::= RAB-IE-ContainerList { { RAB-SetupItem-EnhancedRelocCompleteReq-IEs} }
+
+RAB-SetupItem-EnhancedRelocCompleteReq-IEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-SetupItem-EnhancedRelocCompleteReq		CRITICALITY reject	TYPE RAB-SetupItem-EnhancedRelocCompleteReq			PRESENCE mandatory 	},
+	...
+}
+
+RAB-SetupItem-EnhancedRelocCompleteReq ::= SEQUENCE {
+	rAB-ID									RAB-ID,
+	transportLayerAddressReq1				TransportLayerAddress	OPTIONAL,
+	iuTransportAssociationReq1				IuTransportAssociation	OPTIONAL,
+	ass-RAB-Parameters						Ass-RAB-Parameters OPTIONAL,
+	iE-Extensions					ProtocolExtensionContainer { { RAB-SetupItem-EnhancedRelocCompleteReq-ExtIEs} }			OPTIONAL,
+	...
+}
+
+RAB-SetupItem-EnhancedRelocCompleteReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+EnhancedRelocationCompleteRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	{ ID id-ChosenIntegrityProtectionAlgorithm	CRITICALITY ignore	EXTENSION ChosenIntegrityProtectionAlgorithm		PRESENCE optional}|
+	{ ID id-ChosenEncryptionAlgorithm			CRITICALITY ignore	EXTENSION ChosenEncryptionAlgorithm					PRESENCE optional}|
+-- Extension for Release 9 to enable the CN to handle potential UE NAS QoS issues related to higher bitrates --
+	{ ID id-HigherBitratesThan16MbpsFlag		CRITICALITY ignore	EXTENSION HigherBitratesThan16MbpsFlag				PRESENCE optional}|
+-- Extensions for Release 11 to enable enhanced relocation from RNC to hybrid cell –
+	{ ID id-CSG-Id								CRITICALITY reject	EXTENSION CSG-Id										PRESENCE optional}|
+	{ ID id-Cell-Access-Mode					CRITICALITY reject	EXTENSION Cell-Access-Mode								PRESENCE optional}|
+-- Extension for Release 11 to support BBAI --
+	{ ID id-Tunnel-Information-for-BBF			CRITICALITY ignore	EXTENSION TunnelInformation								PRESENCE optional}|
+-- Extension for Release 12 to support SIPTO@LN Stand-Alone --
+	{ ID id-LHN-ID								CRITICALITY ignore	EXTENSION LHN-ID										PRESENCE optional},
+	...
+}
+
+-- **************************************************************
+--
+-- Enhanced Relocation Complete Response
+--
+-- **************************************************************
+
+EnhancedRelocationCompleteResponse ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {EnhancedRelocationCompleteResponseIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {EnhancedRelocationCompleteResponseExtensions} }			OPTIONAL,
+	...
+}
+
+EnhancedRelocationCompleteResponseIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-SetupList-EnhancedRelocCompleteRes		CRITICALITY ignore	TYPE RAB-SetupList-EnhancedRelocCompleteRes	PRESENCE optional} |
+	{ ID id-RAB-ToBeReleasedList-EnhancedRelocCompleteRes		CRITICALITY ignore	TYPE RAB-ToBeReleasedList-EnhancedRelocCompleteRes	PRESENCE optional} |
+	{ ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics 			PRESENCE optional	},
+	...
+}
+
+RAB-SetupList-EnhancedRelocCompleteRes ::= RAB-IE-ContainerList { {RAB-SetupItem-EnhancedRelocCompleteRes-IEs} }
+
+RAB-SetupItem-EnhancedRelocCompleteRes-IEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-SetupItem-EnhancedRelocCompleteRes		CRITICALITY reject	TYPE RAB-SetupItem-EnhancedRelocCompleteRes		PRESENCE mandatory 	},
+	...
+}
+
+RAB-SetupItem-EnhancedRelocCompleteRes ::= SEQUENCE {
+	rAB-ID									RAB-ID,
+	rAB-Parameters							RAB-Parameters	OPTIONAL,
+	userPlaneInformation					UserPlaneInformation,
+	transportLayerAddressRes1				TransportLayerAddress	OPTIONAL,
+	iuTransportAssociationRes1				IuTransportAssociation	OPTIONAL,
+	rab2beReleasedList						RAB-ToBeReleasedList-EnhancedRelocCompleteRes OPTIONAL,
+	iE-Extensions							ProtocolExtensionContainer { { RAB-SetupItem-EnhancedRelocCompleteRes-ExtIEs} }			OPTIONAL,
+	...
+}
+
+RAB-SetupItem-EnhancedRelocCompleteRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	-- Extension for Release 10 to enable Offload at Iu-ps for UTRAN --
+	{ ID id-Offload-RAB-Parameters			CRITICALITY ignore	EXTENSION Offload-RAB-Parameters			PRESENCE optional},
+	...
+}
+
+RAB-ToBeReleasedList-EnhancedRelocCompleteRes ::= RAB-IE-ContainerList { {RAB-ToBeReleasedItem-EnhancedRelocCompleteRes-IEs} }
+
+RAB-ToBeReleasedItem-EnhancedRelocCompleteRes-IEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-ToBeReleasedItem-EnhancedRelocCompleteRes		CRITICALITY ignore	TYPE RAB-ToBeReleasedItem-EnhancedRelocCompleteRes		PRESENCE mandatory 	},
+	...
+}
+
+RAB-ToBeReleasedItem-EnhancedRelocCompleteRes ::= SEQUENCE {
+	rAB-ID						RAB-ID,
+	cause						Cause,
+	iE-Extensions				ProtocolExtensionContainer { { RAB-ToBeReleasedItem-EnhancedRelocCompleteRes-ExtIEs} }			OPTIONAL,
+	...
+}
+
+RAB-ToBeReleasedItem-EnhancedRelocCompleteRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+EnhancedRelocationCompleteResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	{ ID id-UE-AggregateMaximumBitRate		CRITICALITY ignore	EXTENSION UE-AggregateMaximumBitRate	PRESENCE optional}|
+-- Extension for Release 10 to enable Offload at Iu-ps for UTRAN --
+	{ ID id-MSISDN							CRITICALITY ignore	EXTENSION MSISDN						PRESENCE optional}|
+-- Extension for Release 11 to enable ehnahced relocation from RNC to hybrid cell –
+	{ ID id-CSG-Membership-Status			CRITICALITY ignore	EXTENSION CSG-Membership-Status			PRESENCE optional},
+	...
+}
+
+-- **************************************************************
+--
+-- Enhanced Relocation Complete Failure
+--
+-- **************************************************************
+
+EnhancedRelocationCompleteFailure ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {EnhancedRelocationCompleteFailureIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {EnhancedRelocationCompleteFailureExtensions} }				OPTIONAL,
+	...
+}
+
+EnhancedRelocationCompleteFailureIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-Cause					CRITICALITY ignore	TYPE Cause					PRESENCE mandatory	} |
+	{ ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics 			PRESENCE optional	},
+	...
+}
+
+EnhancedRelocationCompleteFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- Enhanced Relocation Complete Confirm
+--
+-- **************************************************************
+
+EnhancedRelocationCompleteConfirm ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {EnhancedRelocationCompleteConfirmIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {EnhancedRelocationCompleteConfirmExtensions} }				OPTIONAL,
+	...
+}
+
+EnhancedRelocationCompleteConfirmIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-FailedList				CRITICALITY ignore	TYPE RAB-FailedList				PRESENCE optional },
+	...
+}
+
+EnhancedRelocationCompleteConfirmExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+
+-- **************************************************************
+--
+-- PAGING ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Paging
+--
+-- **************************************************************
+
+Paging ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {PagingIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {PagingExtensions} }					OPTIONAL,
+	...
+}
+
+PagingIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-CN-DomainIndicator				CRITICALITY ignore	TYPE CN-DomainIndicator					PRESENCE mandatory	} |
+	{ ID id-PermanentNAS-UE-ID 				CRITICALITY ignore	TYPE PermanentNAS-UE-ID					PRESENCE mandatory	} |
+	{ ID id-TemporaryUE-ID					CRITICALITY ignore	TYPE TemporaryUE-ID						PRESENCE optional	} |
+	{ ID id-PagingAreaID					CRITICALITY ignore	TYPE PagingAreaID						PRESENCE optional	} |
+	{ ID id-PagingCause						CRITICALITY ignore	TYPE PagingCause						PRESENCE optional	} |
+	{ ID id-NonSearchingIndication			CRITICALITY ignore	TYPE NonSearchingIndication				PRESENCE optional	} |
+	{ ID id-DRX-CycleLengthCoefficient		CRITICALITY ignore	TYPE DRX-CycleLengthCoefficient			PRESENCE optional	} ,
+	...
+}
+
+PagingExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 5 to enable NNSF --
+	{ ID id-GlobalCN-ID				CRITICALITY ignore	EXTENSION GlobalCN-ID				PRESENCE optional	} |
+-- Extension for Release 8 to support CSG --
+	{ ID id-CSG-Id-List				CRITICALITY ignore	EXTENSION CSG-Id-List				PRESENCE optional	},
+	...
+}
+
+-- **************************************************************
+--
+-- COMMON ID ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Common ID
+--
+-- **************************************************************
+
+CommonID ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {CommonID-IEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {CommonIDExtensions} }					OPTIONAL,
+	...
+}
+
+CommonID-IEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-PermanentNAS-UE-ID			CRITICALITY ignore	TYPE PermanentNAS-UE-ID				PRESENCE mandatory	},
+	...
+}
+
+CommonIDExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 5 to enable shared networks in connected mode --
+	{ ID id-SNA-Access-Information			CRITICALITY ignore	EXTENSION SNA-Access-Information				PRESENCE optional }|
+-- Extension for Release 5 to enable specific behaviour by the RNC in relation with early UE handling --
+	{ ID id-UESBI-Iu						CRITICALITY ignore	EXTENSION UESBI-Iu								PRESENCE optional }|
+-- Extension for Release 6 to indicate the selected plmn in GWCN configuration for network sharing non-supporting UEs --
+	{ ID id-SelectedPLMN-ID					CRITICALITY ignore	EXTENSION PLMNidentity							PRESENCE optional }|
+-- Extension for Release 8 to indicate the Subscriber Profile ID for RAT/Frequency Selection Priority --
+	{ID id-SubscriberProfileIDforRFP		CRITICALITY ignore	EXTENSION SubscriberProfileIDforRFP			PRESENCE optional }|
+-- Extension for Release 8 for SRVCC operation --
+	{ ID id-SRVCC-Operation-Possible		CRITICALITY ignore	EXTENSION SRVCC-Operation-Possible			PRESENCE optional }|
+-- Extension for Release 9 to allow for UE prioritisation during access to hybrid cells --
+	{ ID id-CSG-Membership-Status			CRITICALITY ignore	EXTENSION CSG-Membership-Status					PRESENCE optional }|
+-- Extension for Release 10 to indicate Management Based MDT Allowed --
+	{ ID id-Management-Based-MDT-Allowed	CRITICALITY ignore	EXTENSION Management-Based-MDT-Allowed		PRESENCE optional }|
+-- Extension for Release 11 to indicate MDT PLMN List --
+	{ ID id-Management-Based-MDT-PLMN-List	CRITICALITY ignore	EXTENSION MDT-PLMN-List							PRESENCE optional }|
+-- Extension for Release 11 rSRVCC operation --
+	{ ID id-RSRVCC-Operation-Possible		CRITICALITY ignore	EXTENSION RSRVCC-Operation-Possible			PRESENCE optional }|
+-- Extension for Release 11 to inidcate the last E-UTRAN PLMN Identity --
+	{ ID id-LastE-UTRANPLMNIdentity			CRITICALITY ignore	EXTENSION PLMNidentity							PRESENCE optional }|
+	{ ID id-PowerSavingIndicator			CRITICALITY ignore	EXTENSION PowerSavingIndicator					PRESENCE optional },
+	...
+}
+
+-- **************************************************************
+--
+-- CN INVOKE TRACE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- CN Invoke Trace
+--
+-- **************************************************************
+
+CN-InvokeTrace ::= SEQUENCE {
+	protocolIEs				ProtocolIE-Container		{ {CN-InvokeTraceIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {CN-InvokeTraceExtensions} }				OPTIONAL,
+	...
+}
+
+CN-InvokeTraceIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-TraceType 				CRITICALITY ignore	TYPE TraceType 						PRESENCE optional	} |
+	-- This information is mandatory for GERAN Iu Mode, not applicable to UTRAN --
+	{ ID id-TraceReference			CRITICALITY ignore	TYPE TraceReference					PRESENCE mandatory	} |
+	{ ID id-TriggerID				CRITICALITY ignore	TYPE TriggerID						PRESENCE optional	} |
+	-- This information is mandatory for GERAN Iu Mode, not applicable to UTRAN --
+	{ ID id-UE-ID					CRITICALITY ignore	TYPE UE-ID							PRESENCE optional	} |
+	-- This information is mandatory for UTRAN, optional for GERAN Iu mode --
+	{ ID id-OMC-ID					CRITICALITY ignore	TYPE OMC-ID							PRESENCE optional	},
+	-- This information is mandatory for GERAN Iu Mode, not applicable to UTRAN --
+	...
+}
+
+CN-InvokeTraceExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 6 to enable signalling based activation for Subscriber and Equipment Trace over Iu interface --
+	{ ID id-TracePropagationParameters			CRITICALITY ignore	EXTENSION TracePropagationParameters		PRESENCE optional}|
+-- Extension for Release 10 to support MDT--
+	{ ID id-MDT-Configuration					CRITICALITY ignore	EXTENSION MDT-Configuration						PRESENCE optional}|
+-- Extension for Release 10 to support MDT--
+	{ ID id-Trace-Collection-Entity-IP-Addess	CRITICALITY ignore	EXTENSION TransportLayerAddress				PRESENCE optional}|
+-- Extension for Release 14 to support QoE function --
+	{ID id-UE-Application-Layer-Measurement-Configuration CRITICALITY ignore	EXTENSION UE-Application-Layer-Measurement-Configuration	PRESENCE optional},
+	...
+}
+
+-- **************************************************************
+--
+-- CN DEACTIVATE TRACE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- CN Deactivate Trace
+--
+-- **************************************************************
+
+CN-DeactivateTrace ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {CN-DeactivateTraceIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {CN-DeactivateTraceExtensions} }				OPTIONAL,
+	...
+}
+
+CN-DeactivateTraceIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-TraceReference				CRITICALITY ignore	TYPE TraceReference				PRESENCE mandatory } |
+	{ ID id-TriggerID					CRITICALITY ignore	TYPE TriggerID					PRESENCE optional },
+	-- This information is optional for GERAN Iu Mode, not applicable to UTRAN --
+	...
+}
+
+CN-DeactivateTraceExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- LOCATION REPORTING CONTROL ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Location Reporting Control
+--
+-- **************************************************************
+
+LocationReportingControl ::= SEQUENCE {
+	protocolIEs				ProtocolIE-Container		{ {LocationReportingControlIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {LocationReportingControlExtensions} }			OPTIONAL,
+	...
+}
+
+LocationReportingControlIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RequestType 				CRITICALITY ignore	TYPE RequestType 				PRESENCE mandatory	},
+	...
+}
+
+LocationReportingControlExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 4 to enhance the location request over Iu --
+	{ ID id-VerticalAccuracyCode 				CRITICALITY ignore	EXTENSION VerticalAccuracyCode 				PRESENCE optional	} |
+-- Extension for Release 4 to enhance the location request over Iu --
+	{ ID id-ResponseTime 						CRITICALITY ignore	EXTENSION ResponseTime 							PRESENCE optional	} |
+-- Extension for Release 4 to enhance the location request over Iu --
+	{ ID id-PositioningPriority 				CRITICALITY ignore	EXTENSION PositioningPriority 				PRESENCE optional	} |
+-- Extension for Release 4 to enhance the location request over Iu --
+	{ ID id-ClientType 							CRITICALITY ignore	EXTENSION ClientType 							PRESENCE optional	} |
+-- Extension for Release 7 to allow the request of velocity over Iu --
+	{ ID id-IncludeVelocity 					CRITICALITY ignore	EXTENSION IncludeVelocity 						PRESENCE optional } |
+-- Extension for Release 7 to allow periodic reporting over Iu --
+	{ ID id-PeriodicLocationInfo 				CRITICALITY ignore	EXTENSION PeriodicLocationInfo 				PRESENCE optional },
+	...
+}
+
+-- **************************************************************
+--
+-- LOCATION REPORT ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Location Report
+--
+-- **************************************************************
+
+LocationReport ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {LocationReportIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {LocationReportExtensions} }				OPTIONAL,
+	...
+}
+
+LocationReportIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-AreaIdentity				CRITICALITY ignore	TYPE AreaIdentity			PRESENCE optional	} |
+	{ ID id-Cause						CRITICALITY ignore	TYPE Cause					PRESENCE optional	} |
+	{ ID id-RequestType 				CRITICALITY ignore	TYPE RequestType 			PRESENCE optional	}	,
+	...
+}
+
+LocationReportExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 4 to enable report of Last Known Service Area with its Age over Iu --
+	{ ID id-LastKnownServiceArea				CRITICALITY ignore	EXTENSION LastKnownServiceArea						PRESENCE optional} |
+-- Extension for Release 5 to pass the positioning methods that have been used --
+	{ ID id-PositionData						CRITICALITY ignore	EXTENSION PositionData									PRESENCE optional}|
+-- Extension for Release 5 to pass the positioning methods that have been used for GERAN Iu mode --
+	{ ID id-PositionDataSpecificToGERANIuMode	CRITICALITY ignore	EXTENSION PositionDataSpecificToGERANIuMode		PRESENCE optional}|
+	-- This extension is optional for GERAN Iu mode only, not applicable for UTRAN --
+-- Extension for Release 6 to indicate whether the returned position estimate satisfies the requested accuracy or not --
+	{ ID id-AccuracyFulfilmentIndicator			CRITICALITY ignore	EXTENSION AccuracyFulfilmentIndicator				PRESENCE optional}|
+-- Extension for Release 7 to provide a velocity estimate --
+	{ ID id-VelocityEstimate					CRITICALITY ignore	EXTENSION VelocityEstimate								PRESENCE optional}|
+-- Extension for Release 13 to provide a barometric pressure --
+	{ ID id-BarometricPressure					CRITICALITY ignore	EXTENSION BarometricPressure							PRESENCE optional}|
+-- Extension for Release 13 to provide a civic address --
+	{ ID id-CivicAddress						CRITICALITY ignore	EXTENSION CivicAddress									PRESENCE optional},
+	...
+}
+
+-- **************************************************************
+--
+-- INITIAL UE MESSAGE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Initial UE Message
+--
+-- **************************************************************
+
+InitialUE-Message ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container				{ {InitialUE-MessageIEs} },
+	protocolExtensions		ProtocolExtensionContainer		{ {InitialUE-MessageExtensions} }				OPTIONAL,
+	...
+}
+
+InitialUE-MessageIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-CN-DomainIndicator			CRITICALITY ignore	TYPE CN-DomainIndicator		PRESENCE mandatory	} |
+	{ ID id-LAI							CRITICALITY ignore	TYPE LAI					PRESENCE mandatory	} |
+	{ ID id-RAC							CRITICALITY ignore	TYPE RAC					PRESENCE conditional
+	-- This IE shall be present if the CN Domain Indicator IE is set to "PS domain"		--												} |
+	{ ID id-SAI							CRITICALITY ignore	TYPE SAI					PRESENCE mandatory	} |
+	{ ID id-NAS-PDU						CRITICALITY ignore	TYPE NAS-PDU				PRESENCE mandatory	} |
+	{ ID id-IuSigConId					CRITICALITY ignore 	TYPE IuSignallingConnectionIdentifier		PRESENCE mandatory 	} |
+	{ ID id-GlobalRNC-ID				CRITICALITY ignore	TYPE GlobalRNC-ID			PRESENCE mandatory 	},
+	...
+}
+
+InitialUE-MessageExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 5 to enable GERAN support over Iu-cs --
+	{ ID id-GERAN-Classmark					CRITICALITY ignore	EXTENSION GERAN-Classmark					PRESENCE optional}|
+-- Extension for Release 6 to convey the selected PLMN id in shared networks --
+	{ ID id-SelectedPLMN-ID	 				CRITICALITY ignore	EXTENSION PLMNidentity						PRESENCE optional}|
+-- Extension for Release 6 to enable rerouting in MOCN configuration for network sharing non-supporting UEs --
+	{ ID id-PermanentNAS-UE-ID				CRITICALITY ignore	EXTENSION PermanentNAS-UE-ID				PRESENCE optional}|
+-- Extension for Release 6 to enable rerouting in MOCN configuration for network sharing non-supporting UEs --
+	{ ID id-NAS-SequenceNumber				CRITICALITY ignore	EXTENSION NAS-SequenceNumber				PRESENCE optional}|
+-- Extension for Release 6 to indicate rerouting in MOCN configuration for network sharing non-supporting UEs --
+	{ ID id-RedirectAttemptFlag				CRITICALITY ignore	EXTENSION RedirectAttemptFlag				PRESENCE optional}|
+-- Extension for Release 7 to indicate extended RNC-ID --
+	{ ID id-ExtendedRNC-ID					CRITICALITY reject	EXTENSION ExtendedRNC-ID					PRESENCE optional}|
+-- Extension for Release 8 to support CSG --
+	{ ID id-CSG-Id							CRITICALITY reject	EXTENSION CSG-Id							PRESENCE optional}|
+-- Extension for Release 9 to allow communication of the cell access mode --
+	{ ID id-Cell-Access-Mode				CRITICALITY reject	EXTENSION Cell-Access-Mode					PRESENCE optional}|
+-- Extension for Release 10 to support LIPA --
+	{ ID id-LGW-TransportLayerAddress		CRITICALITY ignore	EXTENSION TransportLayerAddress				PRESENCE optional}|
+-- Extension for Release 9 to enable the CN to handle potential UE NAS QoS issues related to higher bitrates --
+	{ ID id-HigherBitratesThan16MbpsFlag	CRITICALITY ignore	EXTENSION HigherBitratesThan16MbpsFlag	PRESENCE optional}|
+-- Extension for Release 11 to support BBAI --
+	{ ID id-Tunnel-Information-for-BBF		CRITICALITY ignore	EXTENSION TunnelInformation					PRESENCE optional}|
+-- Extension for Release 12 to support SIPTO@LN with collocated L-GW--
+	{ ID id-SIPTO-LGW-TransportLayerAddress	CRITICALITY ignore	EXTENSION TransportLayerAddress				PRESENCE optional}|
+-- Extension for Release 12 to support SIPTO@LN Stand-Alone --
+	{ ID id-LHN-ID							CRITICALITY ignore	EXTENSION LHN-ID							PRESENCE optional}|
+-- Extension for Release 13 to support DCN --
+	{ ID id-SGSN-Group-Identity				CRITICALITY ignore	EXTENSION SGSN-Group-Identity				PRESENCE optional}|
+	{ ID id-UE-Usage-Type					CRITICALITY ignore	EXTENSION UE-Usage-Type						PRESENCE optional}|
+	{ ID id-DCN-ID							CRITICALITY ignore	EXTENSION DCN-ID							PRESENCE optional},
+
+	...
+}
+
+-- **************************************************************
+--
+-- DIRECT TRANSFER ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Direct Transfer
+--
+-- **************************************************************
+
+DirectTransfer ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {DirectTransferIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {DirectTransferExtensions} }				OPTIONAL,
+	...
+}
+
+DirectTransferIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-NAS-PDU				CRITICALITY ignore	TYPE NAS-PDU				PRESENCE mandatory}|
+	{ ID id-LAI					CRITICALITY ignore	TYPE LAI					PRESENCE optional}|
+	{ ID id-RAC					CRITICALITY ignore	TYPE RAC					PRESENCE optional}|
+	{ ID id-SAI					CRITICALITY ignore	TYPE SAI					PRESENCE optional}|
+	{ ID id-SAPI				CRITICALITY ignore	TYPE SAPI					PRESENCE optional},
+	...
+}
+
+DirectTransferExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 6 to enable rerouting in MOCN configuration for network sharing non-supporting UEs --
+	{ ID id-RedirectionIndication				CRITICALITY ignore	EXTENSION RedirectionIndication				PRESENCE optional}|
+-- Extension for Release 6 to indicate the MOCN rerouting is completed --
+	{ ID id-RedirectionCompleted				CRITICALITY ignore	EXTENSION RedirectionCompleted				PRESENCE optional}|
+-- Extension for Release 8 to indicate the Subscriber Profile ID for RAT/Frequency Selection Priority --
+	{ ID id-SubscriberProfileIDforRFP			CRITICALITY ignore	EXTENSION SubscriberProfileIDforRFP			PRESENCE optional}|
+-- Extension for Release 10 to support LIPA --
+	{ ID id-LGW-TransportLayerAddress			CRITICALITY ignore	EXTENSION TransportLayerAddress				PRESENCE optional}|
+-- Extension for Release 12 to support SIPTO@LN with collocated L-GW --
+	{ ID id-SIPTO-LGW-TransportLayerAddress		CRITICALITY ignore	EXTENSION TransportLayerAddress				PRESENCE optional}|
+-- Extension for Release 12 to support SIPTO@LN Stand-Alone --
+	{ ID id-LHN-ID								CRITICALITY ignore	EXTENSION LHN-ID								PRESENCE optional},
+	...
+}
+
+RedirectionIndication ::= ProtocolIE-Container { {RedirectionIndication-IEs} }
+
+RedirectionIndication-IEs RANAP-PROTOCOL-IES ::= {
+	{	ID id-NAS-PDU										CRITICALITY ignore TYPE NAS-PDU													PRESENCE mandatory}|
+	{	ID id-RejectCauseValue								CRITICALITY ignore TYPE RejectCauseValue										PRESENCE mandatory}|
+	{	ID id-NAS-SequenceNumber							CRITICALITY ignore TYPE NAS-SequenceNumber									PRESENCE optional}|
+	{	ID id-PermanentNAS-UE-ID							CRITICALITY ignore TYPE PermanentNAS-UE-ID									PRESENCE optional}|
+	{	ID id-Additional-CSPS-coordination-information		CRITICALITY reject TYPE Additional-CSPS-coordination-information		PRESENCE optional},
+	...
+}
+
+-- **************************************************************
+--
+-- OVERLOAD CONTROL ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Overload
+--
+-- **************************************************************
+
+Overload ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {OverloadIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {OverloadExtensions} }					OPTIONAL,
+	...
+}
+
+OverloadIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-NumberOfSteps				CRITICALITY ignore	TYPE NumberOfSteps				PRESENCE optional	} |
+	{ ID id-GlobalRNC-ID				CRITICALITY ignore	TYPE GlobalRNC-ID				PRESENCE optional	},
+	...
+}
+
+OverloadExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 99 to enable the indication to the RNC which CN domain is suffering the signalling traffic overload --
+	{ ID id-CN-DomainIndicator			CRITICALITY ignore	EXTENSION CN-DomainIndicator		PRESENCE optional} |
+-- Extension for Release 5 to enable NNSF --
+	{ ID id-GlobalCN-ID					CRITICALITY ignore	EXTENSION GlobalCN-ID				PRESENCE optional} |
+-- Extension for Release 7 to indicate extended RNC-ID --
+	{ ID id-ExtendedRNC-ID				CRITICALITY reject	EXTENSION ExtendedRNC-ID			PRESENCE optional} |
+-- Extension for Release 10 to support Low Priority overload --
+	{ ID id-Priority-Class-Indicator	CRITICALITY ignore	EXTENSION Priority-Class-Indicator	PRESENCE optional},
+	...
+}
+
+-- **************************************************************
+--
+-- ERROR INDICATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Error Indication
+--
+-- **************************************************************
+
+ErrorIndication ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {ErrorIndicationIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {ErrorIndicationExtensions} }				OPTIONAL,
+	...
+}
+
+ErrorIndicationIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-Cause						CRITICALITY ignore	TYPE Cause						PRESENCE optional	} |
+	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	TYPE CriticalityDiagnostics		PRESENCE optional	} |
+	{ ID id-CN-DomainIndicator			CRITICALITY ignore	TYPE CN-DomainIndicator			PRESENCE optional	} |
+	{ ID id-GlobalRNC-ID				CRITICALITY ignore	TYPE GlobalRNC-ID				PRESENCE optional	},
+	...
+}
+
+ErrorIndicationExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 4 --
+	{ ID id-GlobalCN-ID				CRITICALITY ignore		EXTENSION GlobalCN-ID				PRESENCE optional}|
+-- Extension for Release 7 to indicate extended RNC-ID --
+	{ ID id-ExtendedRNC-ID			CRITICALITY reject		EXTENSION ExtendedRNC-ID			PRESENCE optional	},
+	...
+}
+
+-- **************************************************************
+--
+-- SRNS DATA FORWARD ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- SRNS Data Forward Command
+--
+-- **************************************************************
+
+SRNS-DataForwardCommand ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {SRNS-DataForwardCommandIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {SRNS-DataForwardCommandExtensions} }			OPTIONAL,
+	...
+}
+
+SRNS-DataForwardCommandIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-DataForwardingList			CRITICALITY ignore	TYPE RAB-DataForwardingList			PRESENCE optional	},
+	...
+}
+
+SRNS-DataForwardCommandExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- FORWARD SRNS CONTEXT ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Forward SRNS Context
+--
+-- **************************************************************
+
+ForwardSRNS-Context ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {ForwardSRNS-ContextIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {ForwardSRNS-ContextExtensions} }				OPTIONAL,
+	...
+}
+
+ForwardSRNS-ContextIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-ContextList				CRITICALITY ignore	TYPE RAB-ContextList				PRESENCE mandatory	},
+	...
+}
+
+ForwardSRNS-ContextExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 5 to enable relocation of Source RNC PDCP context info --
+	{ ID id-SourceRNC-PDCP-context-info		CRITICALITY ignore	EXTENSION RRC-Container	PRESENCE optional},
+	...
+}
+
+-- **************************************************************
+--
+-- RAB ASSIGNMENT ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- RAB Assignment Request
+--
+-- **************************************************************
+
+RAB-AssignmentRequest ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {RAB-AssignmentRequestIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {RAB-AssignmentRequestExtensions} }			OPTIONAL,
+	...
+}
+
+RAB-AssignmentRequestIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-SetupOrModifyList			CRITICALITY ignore	TYPE RAB-SetupOrModifyList			PRESENCE optional	} |
+	{ ID id-RAB-ReleaseList				CRITICALITY ignore	TYPE RAB-ReleaseList				PRESENCE optional	},
+	...
+}
+
+RAB-SetupOrModifyList 					::= RAB-IE-ContainerPairList { {RAB-SetupOrModifyItem-IEs} }
+
+RAB-SetupOrModifyItem-IEs RANAP-PROTOCOL-IES-PAIR ::= {
+	{ ID id-RAB-SetupOrModifyItem			FIRST CRITICALITY reject	FIRST TYPE RAB-SetupOrModifyItemFirst
+	 						SECOND CRITICALITY ignore	SECOND TYPE RAB-SetupOrModifyItemSecond
+																PRESENCE mandatory	},
+	...
+}
+
+RAB-SetupOrModifyItemFirst ::= SEQUENCE {
+	rAB-ID						RAB-ID,
+	nAS-SynchronisationIndicator	NAS-SynchronisationIndicator	OPTIONAL,
+	rAB-Parameters					RAB-Parameters		OPTIONAL,
+	userPlaneInformation				UserPlaneInformation		OPTIONAL,
+	transportLayerInformation				 TransportLayerInformation		OPTIONAL,
+	service-Handover					Service-Handover			OPTIONAL,
+	iE-Extensions					ProtocolExtensionContainer { {RAB-SetupOrModifyItemFirst-ExtIEs} }			OPTIONAL,
+	...
+}
+
+TransportLayerInformation ::= SEQUENCE {
+	transportLayerAddress			TransportLayerAddress,
+	iuTransportAssociation			IuTransportAssociation,
+	iE-Extensions					ProtocolExtensionContainer { {TransportLayerInformation-ExtIEs} }			OPTIONAL,
+	...
+}
+
+TransportLayerInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+RAB-SetupOrModifyItemFirst-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 8 to enable handover restriction to E-UTRAN --
+	{ ID id-E-UTRAN-Service-Handover		CRITICALITY ignore	EXTENSION E-UTRAN-Service-Handover	PRESENCE optional}|
+-- Extension for Release 10 to support LIPA --
+	{ ID id-Correlation-ID					CRITICALITY ignore	EXTENSION Correlation-ID				PRESENCE optional}|
+-- Extension for Release 12 to support SIPTO@LN with collocated L-GW --
+	{ ID id-SIPTO-Correlation-ID			CRITICALITY ignore	EXTENSION Correlation-ID				PRESENCE optional},
+	...
+}
+
+RAB-SetupOrModifyItemSecond ::= SEQUENCE {
+	pDP-TypeInformation				PDP-TypeInformation 			OPTIONAL,
+	dataVolumeReportingIndication			DataVolumeReportingIndication 	OPTIONAL,
+	dl-GTP-PDU-SequenceNumber			DL-GTP-PDU-SequenceNumber 	OPTIONAL,
+	ul-GTP-PDU-SequenceNumber			UL-GTP-PDU-SequenceNumber 	OPTIONAL,
+	dl-N-PDU-SequenceNumber				DL-N-PDU-SequenceNumber 	OPTIONAL,
+	ul-N-PDU-SequenceNumber				UL-N-PDU-SequenceNumber		OPTIONAL,
+	iE-Extensions					ProtocolExtensionContainer { {RAB-SetupOrModifyItemSecond-ExtIEs} }			OPTIONAL,
+	...
+}
+
+RAB-SetupOrModifyItemSecond-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 4 to enable RAB Quality of Service negotiation over Iu --
+	{ ID id-Alt-RAB-Parameters					CRITICALITY ignore	EXTENSION Alt-RAB-Parameters			PRESENCE optional}|
+-- Extension for Release 5 to enable GERAN support over Iu-cs --
+	{ ID id-GERAN-BSC-Container					CRITICALITY ignore	EXTENSION GERAN-BSC-Container			PRESENCE optional}|
+-- Extension for Release Release 9 to enable a new value --
+	{ ID id-PDP-TypeInformation-extension		CRITICALITY ignore	EXTENSION PDP-TypeInformation-extension	PRESENCE optional}|
+-- Extension for Release 10 to enable Offload at Iu-ps for UTRAN --
+	{ ID id-Offload-RAB-Parameters				CRITICALITY ignore	EXTENSION Offload-RAB-Parameters		PRESENCE optional},
+	...
+}
+
+RAB-AssignmentRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	{ ID id-UE-AggregateMaximumBitRate		CRITICALITY ignore	EXTENSION UE-AggregateMaximumBitRate	PRESENCE optional}|
+-- Extension for Release 10 to enable Offload at Iu-ps for UTRAN --
+	{ ID id-MSISDN							CRITICALITY ignore	EXTENSION MSISDN						PRESENCE optional},
+	...
+}
+
+-- **************************************************************
+--
+-- RAB Assignment Response
+--
+-- **************************************************************
+
+RAB-AssignmentResponse ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {RAB-AssignmentResponseIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {RAB-AssignmentResponseExtensions} }			OPTIONAL,
+	...
+}
+
+RAB-AssignmentResponseIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-SetupOrModifiedList			CRITICALITY ignore	TYPE RAB-SetupOrModifiedList			PRESENCE optional	} |
+	{ ID id-RAB-ReleasedList			CRITICALITY ignore	TYPE RAB-ReleasedList				PRESENCE optional	} |
+
+	{ ID id-RAB-QueuedList				CRITICALITY ignore	TYPE RAB-QueuedList				PRESENCE optional	} |
+	{ ID id-RAB-FailedList				CRITICALITY ignore	TYPE RAB-FailedList				PRESENCE optional	} |
+	{ ID id-RAB-ReleaseFailedList			CRITICALITY ignore	TYPE RAB-ReleaseFailedList			PRESENCE optional	} |
+	{ ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics		PRESENCE optional },
+	...
+}
+
+RAB-SetupOrModifiedList 				::= RAB-IE-ContainerList { {RAB-SetupOrModifiedItemIEs} }
+
+RAB-SetupOrModifiedItemIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-SetupOrModifiedItem			CRITICALITY ignore	TYPE RAB-SetupOrModifiedItem			PRESENCE mandatory	},
+	...
+}
+
+RAB-SetupOrModifiedItem ::= SEQUENCE {
+	rAB-ID						RAB-ID,
+	transportLayerAddress				TransportLayerAddress	OPTIONAL,
+	iuTransportAssociation				IuTransportAssociation	OPTIONAL,
+	dl-dataVolumes					DataVolumeList		OPTIONAL,
+	iE-Extensions					ProtocolExtensionContainer { {RAB-SetupOrModifiedItem-ExtIEs} }			OPTIONAL,
+	...
+}
+
+RAB-SetupOrModifiedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 4 to enable RAB Quality of Service negotiation over Iu --
+	{	ID id-Ass-RAB-Parameters	CRITICALITY ignore		EXTENSION Ass-RAB-Parameters		PRESENCE optional	},
+	...
+}
+
+RAB-ReleasedList 					::= RAB-IE-ContainerList { {RAB-ReleasedItemIEs} }
+
+RAB-ReleasedItemIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-ReleasedItem			CRITICALITY ignore	TYPE RAB-ReleasedItem				PRESENCE mandatory	},
+	...
+}
+
+RAB-ReleasedItem ::= SEQUENCE {
+	rAB-ID						RAB-ID,
+	dl-dataVolumes					DataVolumeList		OPTIONAL,
+	dL-GTP-PDU-SequenceNumber		DL-GTP-PDU-SequenceNumber			OPTIONAL,
+	uL-GTP-PDU-SequenceNumber		UL-GTP-PDU-SequenceNumber			OPTIONAL,
+	iE-Extensions					ProtocolExtensionContainer { {RAB-ReleasedItem-ExtIEs} }			OPTIONAL,
+	...
+}
+
+RAB-ReleasedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+DataVolumeList ::= SEQUENCE (SIZE (1..maxNrOfVol)) OF
+	SEQUENCE {
+		dl-UnsuccessfullyTransmittedDataVolume		UnsuccessfullyTransmittedDataVolume,
+		dataVolumeReference				DataVolumeReference	OPTIONAL,
+		iE-Extensions					ProtocolExtensionContainer { {DataVolumeList-ExtIEs} }			OPTIONAL,
+		...
+	}
+
+DataVolumeList-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+RAB-QueuedList 						::= RAB-IE-ContainerList { {RAB-QueuedItemIEs} }
+
+RAB-QueuedItemIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-QueuedItem				CRITICALITY ignore	TYPE RAB-QueuedItem				PRESENCE mandatory	},
+	...
+}
+
+RAB-QueuedItem ::= SEQUENCE {
+	rAB-ID						RAB-ID,
+	iE-Extensions					ProtocolExtensionContainer { {RAB-QueuedItem-ExtIEs} }			OPTIONAL,
+	...
+}
+
+RAB-QueuedItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+RAB-ReleaseFailedList ::= RAB-FailedList
+
+RAB-AssignmentResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 5 to enable GERAN support over Iu-cs --
+	{ ID id-GERAN-Iumode-RAB-FailedList-RABAssgntResponse		CRITICALITY ignore	EXTENSION GERAN-Iumode-RAB-FailedList-RABAssgntResponse			PRESENCE optional} ,
+	...
+}
+
+GERAN-Iumode-RAB-FailedList-RABAssgntResponse		::= RAB-IE-ContainerList { {GERAN-Iumode-RAB-Failed-RABAssgntResponse-ItemIEs} }
+
+GERAN-Iumode-RAB-Failed-RABAssgntResponse-ItemIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item		CRITICALITY ignore	TYPE GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item			PRESENCE mandatory	},
+	...
+}
+
+GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item ::= SEQUENCE {
+	rAB-ID						RAB-ID,
+	cause						Cause,
+	gERAN-Classmark				GERAN-Classmark		OPTIONAL,
+	iE-Extensions				ProtocolExtensionContainer { {GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item-ExtIEs} }			OPTIONAL,
+	...
+}
+
+GERAN-Iumode-RAB-Failed-RABAssgntResponse-Item-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- PRIVATE MESSAGE
+--
+-- **************************************************************
+
+PrivateMessage ::= SEQUENCE {
+	privateIEs		PrivateIE-Container		{ {PrivateMessage-IEs } },
+	...
+}
+
+PrivateMessage-IEs RANAP-PRIVATE-IES ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- RANAP RELOCATION INFORMATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+RANAP-RelocationInformation ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {RANAP-RelocationInformationIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {RANAP-RelocationInformationExtensions} }			OPTIONAL,
+	...
+}
+
+RANAP-RelocationInformationIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-DirectTransferInformationList-RANAP-RelocInf
+							CRITICALITY ignore	TYPE DirectTransferInformationList-RANAP-RelocInf
+																PRESENCE optional	} |
+	{ ID id-RAB-ContextList-RANAP-RelocInf		CRITICALITY ignore	TYPE RAB-ContextList-RANAP-RelocInf		PRESENCE optional	},
+	...
+}
+
+DirectTransferInformationList-RANAP-RelocInf		::= DirectTransfer-IE-ContainerList { {DirectTransferInformationItemIEs-RANAP-RelocInf} }
+
+DirectTransferInformationItemIEs-RANAP-RelocInf RANAP-PROTOCOL-IES ::= {
+	{ ID id-DirectTransferInformationItem-RANAP-RelocInf
+							CRITICALITY ignore	TYPE DirectTransferInformationItem-RANAP-RelocInf
+																PRESENCE mandatory	},
+	...
+}
+
+DirectTransferInformationItem-RANAP-RelocInf ::= SEQUENCE {
+	nAS-PDU						NAS-PDU,
+	sAPI						SAPI,
+	cN-DomainIndicator			CN-DomainIndicator,
+	iE-Extensions					ProtocolExtensionContainer { {RANAP-DirectTransferInformationItem-ExtIEs-RANAP-RelocInf} }			OPTIONAL,
+	...
+}
+
+RANAP-DirectTransferInformationItem-ExtIEs-RANAP-RelocInf RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+RAB-ContextList-RANAP-RelocInf 				::= RAB-IE-ContainerList { {RAB-ContextItemIEs-RANAP-RelocInf} }
+
+RAB-ContextItemIEs-RANAP-RelocInf RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-ContextItem-RANAP-RelocInf		CRITICALITY ignore	TYPE RAB-ContextItem-RANAP-RelocInf			PRESENCE mandatory	},
+	...
+}
+
+RAB-ContextItem-RANAP-RelocInf ::= SEQUENCE {
+	rAB-ID				RAB-ID,
+	dl-GTP-PDU-SequenceNumber			DL-GTP-PDU-SequenceNumber 	OPTIONAL,
+	ul-GTP-PDU-SequenceNumber			UL-GTP-PDU-SequenceNumber 	OPTIONAL,
+	dl-N-PDU-SequenceNumber				DL-N-PDU-SequenceNumber		OPTIONAL,
+	ul-N-PDU-SequenceNumber				UL-N-PDU-SequenceNumber		OPTIONAL,
+	iE-Extensions						ProtocolExtensionContainer { {RAB-ContextItem-ExtIEs-RANAP-RelocInf} }		OPTIONAL,
+	...
+}
+
+RAB-ContextItem-ExtIEs-RANAP-RelocInf RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+RANAP-RelocationInformationExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 5 to enable relocation of Source RNC PDCP context info --
+	{ ID id-SourceRNC-PDCP-context-info		CRITICALITY ignore	EXTENSION RRC-Container					PRESENCE optional} |
+-- Extension for Release 10 to enable RNSAP Relocation --
+	{ ID id-RNSAPRelocationParameters		CRITICALITY reject	EXTENSION RNSAPRelocationParameters	PRESENCE optional},
+	...
+}
+
+-- **************************************************************
+--
+-- RANAP ENHANCED RELOCATION INFORMATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- RANAP Enhanced Relocation Information Request
+--
+-- **************************************************************
+
+RANAP-EnhancedRelocationInformationRequest ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {RANAP-EnhancedRelocationInformationRequestIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {RANAP-EnhancedRelocationInformationRequestExtensions} }			OPTIONAL,
+	...
+}
+
+RANAP-EnhancedRelocationInformationRequestIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-Source-ToTarget-TransparentContainer
+							CRITICALITY reject	TYPE SourceRNC-ToTargetRNC-TransparentContainer	PRESENCE mandatory	} |
+	{ ID id-OldIuSigConIdCS	CRITICALITY ignore TYPE IuSignallingConnectionIdentifier	PRESENCE optional } |
+	{ ID id-GlobalCN-IDCS				CRITICALITY reject		TYPE GlobalCN-ID				PRESENCE optional} |
+	{ ID id-OldIuSigConIdPS	CRITICALITY ignore TYPE IuSignallingConnectionIdentifier	PRESENCE optional } |
+	{ ID id-GlobalCN-IDPS				CRITICALITY reject		TYPE GlobalCN-ID				PRESENCE optional} |
+	{ ID id-RAB-SetupList-EnhRelocInfoReq			CRITICALITY reject	TYPE RAB-SetupList-EnhRelocInfoReq			PRESENCE optional	} |
+	{ ID id-SNA-Access-Information	CRITICALITY ignore		TYPE SNA-Access-Information	PRESENCE optional} |
+	{ ID id-UESBI-Iu	CRITICALITY ignore		TYPE UESBI-Iu	PRESENCE optional}|
+	{ ID id-SelectedPLMN-ID	 	CRITICALITY ignore	TYPE PLMNidentity		PRESENCE optional 	}|
+	{ ID id-CNMBMSLinkingInformation	CRITICALITY ignore		TYPE CNMBMSLinkingInformation	PRESENCE optional},
+	...
+}
+
+RAB-SetupList-EnhRelocInfoReq 					::= RAB-IE-ContainerList { { RAB-SetupItem-EnhRelocInfoReq-IEs} }
+
+RAB-SetupItem-EnhRelocInfoReq-IEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-SetupItem-EnhRelocInfoReq			CRITICALITY reject	TYPE RAB-SetupItem-EnhRelocInfoReq			PRESENCE mandatory 	},
+	...
+}
+
+RAB-SetupItem-EnhRelocInfoReq ::= SEQUENCE {
+	rAB-ID								RAB-ID,
+	cN-DomainIndicator					CN-DomainIndicator,
+	rAB-Parameters						RAB-Parameters,
+	dataVolumeReportingIndication			DataVolumeReportingIndication 	OPTIONAL
+	-- This IE shall be present if the CN domain indicator IE is set to "PS domain" --,
+	pDP-TypeInformation					PDP-TypeInformation		OPTIONAL
+	-- This IE shall be present if the CN domain indicator IE is set to "PS domain" --,
+	userPlaneInformation				UserPlaneInformation,
+	dataForwardingInformation			TNLInformationEnhRelInfoReq	OPTIONAL,
+	sourceSideIuULTNLInfo				TNLInformationEnhRelInfoReq	OPTIONAL,
+
+	service-Handover					Service-Handover		OPTIONAL,
+	alt-RAB-Parameters					Alt-RAB-Parameters		OPTIONAL,
+	iE-Extensions						ProtocolExtensionContainer { { RAB-SetupItem-EnhRelocInfoReq-ExtIEs} }			OPTIONAL,
+	...
+}
+
+RAB-SetupItem-EnhRelocInfoReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 8 to enable handover restriction to E-UTRAN --
+	{ ID id-E-UTRAN-Service-Handover			CRITICALITY ignore	EXTENSION E-UTRAN-Service-Handover			PRESENCE optional	}|
+-- Extension for Release Release 9 to enable a new value --
+	{ ID id-PDP-TypeInformation-extension		CRITICALITY ignore	EXTENSION PDP-TypeInformation-extension	PRESENCE optional	},
+	...
+}
+
+TNLInformationEnhRelInfoReq ::=SEQUENCE{
+	transportLayerAddress				TransportLayerAddress,
+	iuTransportAssociation				IuTransportAssociation,
+	iE-Extensions					ProtocolExtensionContainer { { TNLInformationEnhRelInfoReq-ExtIEs} }			OPTIONAL,
+	...
+}
+
+TNLInformationEnhRelInfoReq-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+
+RANAP-EnhancedRelocationInformationRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	{ ID id-IntegrityProtectionInformation	CRITICALITY ignore	EXTENSION IntegrityProtectionInformation	PRESENCE optional} |
+	{ ID id-EncryptionInformation			CRITICALITY ignore	EXTENSION EncryptionInformation					PRESENCE optional} |
+	{ ID id-UE-AggregateMaximumBitRate		CRITICALITY ignore	EXTENSION UE-AggregateMaximumBitRate			PRESENCE optional} |
+-- Extension for Release 10 to enable RNSAP Relocation --
+	{ ID id-RABParametersList				CRITICALITY reject	EXTENSION RABParametersList						PRESENCE optional} |
+	{ ID id-CSG-Id							CRITICALITY reject	EXTENSION CSG-Id								PRESENCE optional} |
+	{ ID id-CSG-Membership-Status			CRITICALITY reject	EXTENSION CSG-Membership-Status					PRESENCE optional} |
+-- Extension for Release 11 to support rSRVCC in case of network sharing –
+	{ ID id-AnchorPLMN-ID					CRITICALITY ignore	EXTENSION PLMNidentity							PRESENCE optional},
+	...
+}
+
+-- **************************************************************
+--
+-- RANAP Enhanced Relocation Information Response
+--
+-- **************************************************************
+
+RANAP-EnhancedRelocationInformationResponse ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {RANAP-EnhancedRelocationInformationResponseIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {RANAP-EnhancedRelocationInformationResponseExtensions} }			OPTIONAL,
+	...
+}
+
+RANAP-EnhancedRelocationInformationResponseIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-Target-ToSource-TransparentContainer
+							CRITICALITY ignore	TYPE TargetRNC-ToSourceRNC-TransparentContainer PRESENCE optional	} |
+	{ ID id-RAB-SetupList-EnhRelocInfoRes		CRITICALITY ignore	TYPE RAB-SetupList-EnhRelocInfoRes			PRESENCE optional} |
+	{ ID id-RAB-FailedList-EnhRelocInfoRes		CRITICALITY ignore	TYPE RAB-FailedList-EnhRelocInfoRes			PRESENCE optional }|
+	{ ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics 			PRESENCE optional	},
+	...
+}
+
+RAB-SetupList-EnhRelocInfoRes 				::= RAB-IE-ContainerList { { RAB-SetupItem-EnhRelocInfoRes-IEs} }
+
+RAB-SetupItem-EnhRelocInfoRes-IEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-SetupItem-EnhRelocInfoRes		CRITICALITY reject	TYPE RAB-SetupItem-EnhRelocInfoRes			PRESENCE mandatory 	},
+	...
+}
+
+RAB-SetupItem-EnhRelocInfoRes ::= SEQUENCE {
+	cN-DomainIndicator			CN-DomainIndicator,
+	rAB-ID						RAB-ID,
+	dataForwardingInformation		TNLInformationEnhRelInfoRes	OPTIONAL,
+	ass-RAB-Parameters					Ass-RAB-Parameters		OPTIONAL,
+	iE-Extensions						ProtocolExtensionContainer { { RAB-SetupItem-EnhRelocInfoRes-ExtIEs} }			OPTIONAL,
+	...
+}
+
+RAB-SetupItem-EnhRelocInfoRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+RAB-FailedList-EnhRelocInfoRes 				::= RAB-IE-ContainerList { { RAB-FailedItem-EnhRelocInfoRes-IEs} }
+
+RAB-FailedItem-EnhRelocInfoRes-IEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-FailedItem-EnhRelocInfoRes		CRITICALITY reject	TYPE RAB-FailedItem-EnhRelocInfoRes			PRESENCE mandatory 	},
+	...
+}
+
+RAB-FailedItem-EnhRelocInfoRes ::= SEQUENCE {
+	cN-DomainIndicator			CN-DomainIndicator,
+	rAB-ID						RAB-ID,
+	cause						Cause,
+	iE-Extensions					ProtocolExtensionContainer { { RAB-FailedItem-EnhRelocInfoRes-ExtIEs} }			OPTIONAL,
+	...
+}
+
+RAB-FailedItem-EnhRelocInfoRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+TNLInformationEnhRelInfoRes ::=SEQUENCE{
+	dl-forwardingTransportLayerAddress				TransportLayerAddress,
+	dl-forwardingTransportAssociation				IuTransportAssociation,
+	iE-Extensions						ProtocolExtensionContainer { { TNLInformationEnhRelInfoRes-ExtIEs} }			OPTIONAL,
+	...
+}
+
+TNLInformationEnhRelInfoRes-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+RANAP-EnhancedRelocationInformationResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+-- **************************************************************
+--
+-- RAB MODIFICATION REQUEST ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- RAB Modify Request
+--
+-- **************************************************************
+
+RAB-ModifyRequest ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {RAB-ModifyRequestIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {RAB-ModifyRequestExtensions} }				OPTIONAL,
+	...
+}
+
+RAB-ModifyRequestIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-ModifyList			CRITICALITY ignore	TYPE RAB-ModifyList			PRESENCE mandatory},
+	...
+}
+
+RAB-ModifyList 			::= RAB-IE-ContainerList { {RAB-ModifyItemIEs} }
+
+RAB-ModifyItemIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RAB-ModifyItem		CRITICALITY ignore	TYPE RAB-ModifyItem		PRESENCE mandatory	},
+	...
+}
+
+RAB-ModifyItem ::= SEQUENCE {
+	rAB-ID						RAB-ID,
+	requested-RAB-Parameter-Values	Requested-RAB-Parameter-Values,
+	iE-Extensions					ProtocolExtensionContainer { {RAB-ModifyItem-ExtIEs} }			OPTIONAL,
+	...
+}
+
+RAB-ModifyItem-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+RAB-ModifyRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- LOCATION RELATED DATA ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Location Related Data Request
+--
+-- **************************************************************
+
+LocationRelatedDataRequest ::= SEQUENCE {
+	protocolIEs				ProtocolIE-Container		{ {LocationRelatedDataRequestIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {LocationRelatedDataRequestExtensions} }				OPTIONAL,
+	...
+}
+
+LocationRelatedDataRequestIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-LocationRelatedDataRequestType		CRITICALITY reject	TYPE LocationRelatedDataRequestType		PRESENCE optional	},
+	-- This IE is mandatory for UTRAN, optional for GERAN Iu Mode –-
+	...
+}
+
+LocationRelatedDataRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 5 to enable LCS support for GERAN Iu mode --
+	{ ID id-LocationRelatedDataRequestTypeSpecificToGERANIuMode		CRITICALITY reject	EXTENSION LocationRelatedDataRequestTypeSpecificToGERANIuMode		PRESENCE optional	}|
+	-- The previous extension is optional for GERAN Iu Mode only, not applicable for UTRAN --
+	-- Extension for Release 7 to request GANSS Assistance Data. This IE shall be present if the Requested Location Related Data Type IE is set to
+	-- ‘Dedicated Assistance Data for Assisted GANSS’ or `Dedicated Assistance Data for Assisted GPS and GANSS’--
+	{ ID id-RequestedGANSSAssistanceData							CRITICALITY reject	EXTENSION RequestedGANSSAssistanceData							PRESENCE conditional	},
+	...
+}
+
+-- **************************************************************
+--
+-- Location Related Data Response
+--
+-- **************************************************************
+
+LocationRelatedDataResponse ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ { LocationRelatedDataResponseIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ { LocationRelatedDataResponseExtensions} }				OPTIONAL,
+	...
+}
+
+LocationRelatedDataResponseIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-BroadcastAssistanceDataDecipheringKeys		CRITICALITY ignore	TYPE BroadcastAssistanceDataDecipheringKeys		PRESENCE optional	},
+	...
+}
+
+LocationRelatedDataResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for error handling
+	{ ID id-CriticalityDiagnostics						CRITICALITY ignore	EXTENSION CriticalityDiagnostics							PRESENCE optional	}|
+	{ ID id-BroadcastGANSSAssistanceDataDecipheringKeys	CRITICALITY ignore	EXTENSION BroadcastAssistanceDataDecipheringKeys		PRESENCE optional},
+	...
+}
+
+-- **************************************************************
+--
+-- Location Related Data Failure
+--
+-- **************************************************************
+
+LocationRelatedDataFailure ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ { LocationRelatedDataFailureIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ { LocationRelatedDataFailureExtensions} }				OPTIONAL,
+	...
+}
+
+LocationRelatedDataFailureIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-Cause				CRITICALITY ignore	TYPE Cause					PRESENCE mandatory	},
+	...
+}
+
+LocationRelatedDataFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for error handling
+	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	EXTENSION CriticalityDiagnostics		PRESENCE optional	},
+	...
+}
+
+-- **************************************************************
+--
+-- INFORMATION TRANSFER ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Information Transfer Indication
+--
+-- **************************************************************
+
+InformationTransferIndication ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ { InformationTransferIndicationIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ { InformationTransferIndicationExtensions} }				OPTIONAL,
+	...
+}
+
+InformationTransferIndicationIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-InformationTransferID		CRITICALITY reject	TYPE InformationTransferID		PRESENCE mandatory	} |
+	{ ID id-ProvidedData				CRITICALITY reject	TYPE ProvidedData				PRESENCE mandatory	} |
+	{ ID id-CN-DomainIndicator			CRITICALITY reject	TYPE CN-DomainIndicator			PRESENCE mandatory	} |
+	{ ID id-GlobalCN-ID					CRITICALITY ignore	TYPE GlobalCN-ID				PRESENCE optional},
+	...
+}
+
+InformationTransferIndicationExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- Information Transfer Confirmation
+--
+-- **************************************************************
+
+InformationTransferConfirmation ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ { InformationTransferConfirmationIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ { InformationTransferConfirmationExtensions} }				OPTIONAL,
+	...
+}
+
+InformationTransferConfirmationIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-InformationTransferID		CRITICALITY ignore	TYPE InformationTransferID		PRESENCE mandatory	} |
+	{ ID id-CN-DomainIndicator			CRITICALITY ignore	TYPE CN-DomainIndicator			PRESENCE mandatory	} |
+	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	TYPE CriticalityDiagnostics		PRESENCE optional 	} |
+	{ ID id-GlobalRNC-ID				CRITICALITY ignore	TYPE GlobalRNC-ID				PRESENCE mandatory	},
+	...
+}
+
+InformationTransferConfirmationExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 7 to indicate extended RNC-ID --
+	{ ID id-ExtendedRNC-ID				CRITICALITY reject	EXTENSION ExtendedRNC-ID		PRESENCE optional	},
+	...
+}
+
+-- **************************************************************
+--
+-- Information Transfer Failure
+--
+-- **************************************************************
+
+InformationTransferFailure ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ { InformationTransferFailureIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ { InformationTransferFailureExtensions} }				OPTIONAL,
+	...
+}
+
+InformationTransferFailureIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-InformationTransferID		CRITICALITY ignore	TYPE InformationTransferID		PRESENCE mandatory	} |
+	{ ID id-CN-DomainIndicator			CRITICALITY ignore	TYPE CN-DomainIndicator			PRESENCE mandatory	} |
+	{ ID id-Cause						CRITICALITY ignore	TYPE Cause						PRESENCE mandatory	} |
+	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	TYPE CriticalityDiagnostics		PRESENCE optional 	} |
+	{ ID id-GlobalRNC-ID				CRITICALITY ignore	TYPE GlobalRNC-ID				PRESENCE mandatory	},
+	...
+}
+
+InformationTransferFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 7 to indicate extended RNC-ID --
+	{ ID id-ExtendedRNC-ID				CRITICALITY reject	EXTENSION ExtendedRNC-ID		PRESENCE optional	},
+	...
+}
+
+-- **************************************************************
+--
+-- UE SPECIFIC INFORMATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- UE Specific Information Indication
+--
+-- **************************************************************
+
+UESpecificInformationIndication ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {UESpecificInformationIndicationIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {UESpecificInformationIndicationExtensions} }					OPTIONAL,
+	...
+}
+
+UESpecificInformationIndicationIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-UESBI-Iu				CRITICALITY ignore	TYPE UESBI-Iu				PRESENCE optional	},
+	...
+}
+
+UESpecificInformationIndicationExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- DIRECT INFORMATION TRANSFER ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Direct Information Transfer
+--
+-- **************************************************************
+
+DirectInformationTransfer ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ { DirectInformationTransferIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ { DirectInformationTransferExtensions} }				OPTIONAL,
+	...
+}
+
+DirectInformationTransferIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-InterSystemInformationTransferType	CRITICALITY ignore	TYPE InterSystemInformationTransferType	PRESENCE optional } |
+	{ ID id-CN-DomainIndicator					CRITICALITY ignore	TYPE CN-DomainIndicator							PRESENCE mandatory } |
+	{ ID id-GlobalRNC-ID 						CRITICALITY ignore	TYPE GlobalRNC-ID								PRESENCE optional } |
+	{ ID id-GlobalCN-ID 						CRITICALITY ignore	TYPE GlobalCN-ID								PRESENCE optional },
+	...
+}
+
+DirectInformationTransferExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 7 to indicate extended RNC-ID --
+	{ ID id-ExtendedRNC-ID			CRITICALITY reject	EXTENSION ExtendedRNC-ID		PRESENCE optional },
+	...
+}
+
+-- **************************************************************
+--
+-- UPLINK INFORMATION EXCHANGE ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- Uplink Information Exchange Request
+--
+-- **************************************************************
+
+UplinkInformationExchangeRequest ::= SEQUENCE {
+	protocolIEs				ProtocolIE-Container		{ { UplinkInformationExchangeRequestIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ { UplinkInformationExchangeRequestExtensions} }			OPTIONAL,
+	...
+}
+
+UplinkInformationExchangeRequestIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-InformationExchangeID		CRITICALITY reject	TYPE InformationExchangeID		PRESENCE mandatory	} |
+	{ ID id-InformationExchangeType		CRITICALITY reject	TYPE InformationExchangeType	PRESENCE mandatory	} |
+	{ ID id-InformationTransferType		CRITICALITY reject	TYPE InformationTransferType	PRESENCE conditional
+	-- This IE shall be present if the Information Exchange Type IE is set to "transfer"	--											} |
+	{ ID id-InformationRequestType		CRITICALITY reject	TYPE InformationRequestType	PRESENCE conditional
+	-- This IE shall be present if the Information Exchange Type IE is set to "request"		--											} |
+	{ ID id-CN-DomainIndicator			CRITICALITY reject	TYPE CN-DomainIndicator			PRESENCE mandatory	} |
+	{ ID id-GlobalRNC-ID				CRITICALITY reject	TYPE GlobalRNC-ID				PRESENCE mandatory	},
+	...
+}
+
+UplinkInformationExchangeRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 7 to indicate extended RNC-ID --
+	{ ID id-ExtendedRNC-ID				CRITICALITY reject	EXTENSION ExtendedRNC-ID		PRESENCE optional	},
+	...
+}
+
+-- **************************************************************
+--
+-- Uplink Information Exchange Response
+--
+-- **************************************************************
+
+UplinkInformationExchangeResponse ::= SEQUENCE {
+	protocolIEs				ProtocolIE-Container		{ { UplinkInformationExchangeResponseIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ { UplinkInformationExchangeResponseExtensions} }		OPTIONAL,
+	...
+}
+
+UplinkInformationExchangeResponseIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-InformationExchangeID		CRITICALITY ignore	TYPE InformationExchangeID		PRESENCE mandatory	} |
+	{ ID id-InformationRequested		CRITICALITY ignore	TYPE InformationRequested		PRESENCE optional		} |
+	{ ID id-CN-DomainIndicator			CRITICALITY ignore	TYPE CN-DomainIndicator			PRESENCE mandatory	} |
+	{ ID id-GlobalCN-ID					CRITICALITY ignore	TYPE GlobalCN-ID				PRESENCE optional		} |
+	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	TYPE CriticalityDiagnostics		PRESENCE optional		} ,
+	...
+}
+
+UplinkInformationExchangeResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- Uplink Information Exchange Failure
+--
+-- **************************************************************
+
+UplinkInformationExchangeFailure ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ { UplinkInformationExchangeFailureIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ { UplinkInformationExchangeFailureExtensions} }				OPTIONAL,
+	...
+}
+
+UplinkInformationExchangeFailureIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-InformationExchangeID		CRITICALITY ignore	TYPE InformationExchangeID		PRESENCE mandatory	} |
+	{ ID id-CN-DomainIndicator			CRITICALITY ignore	TYPE CN-DomainIndicator			PRESENCE mandatory	} |
+	{ ID id-GlobalCN-ID					CRITICALITY ignore	TYPE GlobalCN-ID				PRESENCE optional		} |
+	{ ID id-Cause						CRITICALITY ignore	TYPE Cause						PRESENCE mandatory	} |
+	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	TYPE CriticalityDiagnostics		PRESENCE optional		} ,
+	...
+}
+
+UplinkInformationExchangeFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- MBMS SESSION START PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MBMS Session Start
+--
+-- **************************************************************
+
+MBMSSessionStart ::= SEQUENCE {
+	protocolIEs				ProtocolIE-Container		{ { MBMSSessionStartIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ { MBMSSessionStartExtensions} }			OPTIONAL,
+	...
+}
+
+MBMSSessionStartIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-TMGI						CRITICALITY reject	TYPE TMGI									PRESENCE mandatory	} |
+	{ ID id-MBMSSessionIdentity		CRITICALITY ignore	TYPE MBMSSessionIdentity						PRESENCE optional	} |
+	{ ID id-MBMSBearerServiceType		CRITICALITY reject	TYPE MBMSBearerServiceType					PRESENCE mandatory	} |
+	{ ID id-IuSigConId					CRITICALITY reject 	TYPE IuSignallingConnectionIdentifier		PRESENCE mandatory	}|
+	{ ID id-RAB-Parameters				CRITICALITY reject 	TYPE RAB-Parameters							PRESENCE mandatory	} |
+	{ ID id-PDP-TypeInformation			CRITICALITY ignore	TYPE PDP-TypeInformation					PRESENCE optional		} |
+	{ ID id-MBMSSessionDuration			CRITICALITY reject	TYPE MBMSSessionDuration					PRESENCE mandatory		} |
+	{ ID id-MBMSServiceArea				CRITICALITY reject	TYPE MBMSServiceArea						PRESENCE mandatory	} |
+	{ ID id-FrequenceLayerConvergenceFlag	CRITICALITY ignore	TYPE FrequenceLayerConvergenceFlag	PRESENCE optional		} |
+	{ ID id-RAListofIdleModeUEs			CRITICALITY ignore	TYPE RAListofIdleModeUEs					PRESENCE optional		} |
+	{ ID id-GlobalCN-ID					CRITICALITY reject	TYPE GlobalCN-ID							PRESENCE optional		} |
+	{ ID id-MBMSSessionRepetitionNumber	CRITICALITY	ignore	TYPE MBMSSessionRepetitionNumber			PRESENCE optional		} |
+	{ ID id-TimeToMBMSDataTransfer		CRITICALITY reject	TYPE TimeToMBMSDataTransfer					PRESENCE mandatory	},
+	...
+}
+
+MBMSSessionStartExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 6 to enable MBMS counting in broadcast mode --
+	{ ID id-MBMSCountingInformation				CRITICALITY ignore	EXTENSION MBMSCountingInformation					PRESENCE optional}|
+	{ ID id-MBMSSynchronisationInformation		CRITICALITY ignore	EXTENSION MBMSSynchronisationInformation			PRESENCE optional}|
+-- Extension for Release Release 9 to enable a new value --
+	{ ID id-PDP-TypeInformation-extension		CRITICALITY ignore	EXTENSION PDP-TypeInformation-extension			PRESENCE optional}|
+-- Extension for Release 12 to support Session re-establishment --
+	{ ID id-Session-Re-establishment-Indicator	CRITICALITY ignore	EXTENSION Session-Re-establishment-Indicator		PRESENCE optional},
+	...
+}
+
+MBMSSynchronisationInformation ::= SEQUENCE {
+	mBMSHCIndicator					MBMSHCIndicator,
+	iPMulticastAddress				IPMulticastAddress,
+	gTPDLTEID						GTP-TEI,
+	iE-Extensions					ProtocolExtensionContainer { {MBMSSynchronisationInformation-ExtIEs} }			OPTIONAL,
+	...
+}
+
+MBMSSynchronisationInformation-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	{ ID id-IP-Source-Address			CRITICALITY reject		EXTENSION IPMulticastAddress				PRESENCE optional	},
+	...
+}
+
+-- **************************************************************
+--
+-- MBMS Session Start Response
+--
+-- **************************************************************
+
+MBMSSessionStartResponse::= SEQUENCE {
+	protocolIEs				ProtocolIE-Container		{ {MBMSSessionStartResponseIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {MBMSSessionStartResponseExtensions} }		OPTIONAL,
+	...
+}
+
+MBMSSessionStartResponseIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-TransportLayerInformation		CRITICALITY ignore	TYPE TransportLayerInformation		PRESENCE optional		} |
+	{ ID id-Cause							CRITICALITY ignore	TYPE Cause							PRESENCE optional		} |
+	{ ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional		} ,
+	...
+}
+
+MBMSSessionStartResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- MBMS Session Start Failure
+--
+-- **************************************************************
+
+MBMSSessionStartFailure ::= SEQUENCE {
+	protocolIEs				ProtocolIE-Container		{ { MBMSSessionStartFailureIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ { MBMSSessionStartFailureExtensions} }		OPTIONAL,
+	...
+}
+
+MBMSSessionStartFailureIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-Cause							CRITICALITY ignore	TYPE Cause							PRESENCE mandatory	} |
+	{ ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional		} ,
+	...
+}
+
+MBMSSessionStartFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- MBMS SESSION UPDATE PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MBMS Session Update
+--
+-- **************************************************************
+
+MBMSSessionUpdate ::= SEQUENCE {
+	protocolIEs				ProtocolIE-Container		{ { MBMSSessionUpdateIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ { MBMSSessionUpdateExtensions} }			OPTIONAL,
+	...
+}
+
+MBMSSessionUpdateIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-SessionUpdateID				CRITICALITY reject	TYPE SessionUpdateID						PRESENCE mandatory	} |
+	{ ID id-DeltaRAListofIdleModeUEs	CRITICALITY reject	TYPE DeltaRAListofIdleModeUEs				PRESENCE mandatory	},
+	...
+}
+
+MBMSSessionUpdateExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- MBMS Session Update Response
+--
+-- **************************************************************
+
+MBMSSessionUpdateResponse ::= SEQUENCE {
+	protocolIEs				ProtocolIE-Container		{ { MBMSSessionUpdateResponseIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ { MBMSSessionUpdateResponseExtensions} }		OPTIONAL,
+	...
+}
+
+MBMSSessionUpdateResponseIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-SessionUpdateID					CRITICALITY ignore	TYPE SessionUpdateID				PRESENCE mandatory	} |
+	{ ID id-TransportLayerInformation		CRITICALITY ignore	TYPE TransportLayerInformation		PRESENCE optional		} |
+	{ ID id-Cause							CRITICALITY ignore	TYPE Cause							PRESENCE optional		} |
+	{ ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional		} ,
+	...
+}
+
+MBMSSessionUpdateResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- MBMS Session Update Failure
+--
+-- **************************************************************
+
+MBMSSessionUpdateFailure ::= SEQUENCE {
+	protocolIEs				ProtocolIE-Container		{ { MBMSSessionUpdateFailureIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ { MBMSSessionUpdateFailureExtensions} }		OPTIONAL,
+	...
+}
+
+MBMSSessionUpdateFailureIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-SessionUpdateID					CRITICALITY ignore	TYPE SessionUpdateID				PRESENCE mandatory	} |
+	{ ID id-Cause							CRITICALITY ignore	TYPE Cause							PRESENCE mandatory	} |
+	{ ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional		} ,
+	...
+}
+
+MBMSSessionUpdateFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- MBMS SESSION STOP PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MBMS Session Stop
+--
+-- **************************************************************
+
+MBMSSessionStop ::= SEQUENCE {
+	protocolIEs				ProtocolIE-Container		{ { MBMSSessionStopIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ { MBMSSessionStopExtensions} }			OPTIONAL,
+	...
+}
+
+MBMSSessionStopIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-MBMSCNDe-Registration	CRITICALITY reject	TYPE MBMSCNDe-Registration				PRESENCE mandatory	},
+	...
+}
+
+MBMSSessionStopExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- MBMS Session Stop Response
+--
+-- **************************************************************
+
+MBMSSessionStopResponse ::= SEQUENCE {
+	protocolIEs				ProtocolIE-Container		{ { MBMSSessionStopResponseIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ { MBMSSessionStopResponseExtensions} }		OPTIONAL,
+	...
+}
+
+MBMSSessionStopResponseIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-Cause							CRITICALITY ignore	TYPE Cause							PRESENCE optional		} |
+	{ ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional		} ,
+	...
+}
+
+MBMSSessionStopResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- MBMS UE LINKING PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MBMS UE Linking Request
+--
+-- **************************************************************
+
+MBMSUELinkingRequest ::= SEQUENCE {
+	protocolIEs				ProtocolIE-Container		{ { MBMSUELinkingRequestIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ { MBMSUELinkingRequestExtensions} }			OPTIONAL,
+	...
+}
+
+MBMSUELinkingRequestIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-JoinedMBMSBearerServicesList	CRITICALITY reject	TYPE JoinedMBMSBearerService-IEs		PRESENCE optional	} |
+	{ ID id-LeftMBMSBearerServicesList		CRITICALITY reject	TYPE LeftMBMSBearerService-IEs			PRESENCE optional	},
+	...
+}
+
+LeftMBMSBearerService-IEs ::= SEQUENCE (SIZE (1.. maxnoofMulticastServicesPerUE)) OF
+	SEQUENCE {
+		tMGI				TMGI,
+		iE-Extensions		ProtocolExtensionContainer { {LeftMBMSBearerService-ExtIEs} } OPTIONAL,
+		...
+	}
+
+LeftMBMSBearerService-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+MBMSUELinkingRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- MBMS UE Linking Response
+--
+-- **************************************************************
+
+MBMSUELinkingResponse ::= SEQUENCE {
+	protocolIEs				ProtocolIE-Container		{ { MBMSUELinkingResponseIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ { MBMSUELinkingResponseExtensions} }		OPTIONAL,
+	...
+}
+
+MBMSUELinkingResponseIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-UnsuccessfulLinkingList			CRITICALITY ignore	TYPE UnsuccessfulLinking-IEs		PRESENCE optional		} |
+	{ ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional		} ,
+	...
+}
+
+UnsuccessfulLinking-IEs ::= SEQUENCE (SIZE (1.. maxnoofMulticastServicesPerUE)) OF
+	SEQUENCE {
+		tMGI				TMGI,
+		cause				Cause,
+		iE-Extensions		ProtocolExtensionContainer { {UnsuccessfulLinking-ExtIEs} } OPTIONAL,
+		...
+	}
+
+UnsuccessfulLinking-ExtIEs RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+MBMSUELinkingResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- MBMS REGISTRATION PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MBMS Registration Request
+--
+-- **************************************************************
+
+MBMSRegistrationRequest ::= SEQUENCE {
+	protocolIEs				ProtocolIE-Container		{ { MBMSRegistrationRequestIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ { MBMSRegistrationRequestExtensions} }			OPTIONAL,
+	...
+}
+
+MBMSRegistrationRequestIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-MBMSRegistrationRequestType		CRITICALITY reject	TYPE MBMSRegistrationRequestType				PRESENCE mandatory	} |
+	{ ID id-TMGI						CRITICALITY reject	TYPE TMGI									PRESENCE mandatory	} |
+	{ ID id-IPMulticastAddress			CRITICALITY reject	TYPE IPMulticastAddress						PRESENCE conditional
+	-- This IE shall be present if the MBMS Registration Request Type IE is set to "register"	--								} |
+	{ ID id-APN							CRITICALITY reject	TYPE APN									PRESENCE conditional
+	-- This IE shall be present if the MBMS Registration Request Type IE is set to "register"	--								} |
+	{ ID id-GlobalRNC-ID				CRITICALITY reject	TYPE GlobalRNC-ID							PRESENCE optional		},
+	...
+}
+
+MBMSRegistrationRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 7 to indicate extended RNC-ID --
+	{ ID id-ExtendedRNC-ID				CRITICALITY reject	EXTENSION ExtendedRNC-ID		PRESENCE optional	},
+	...
+}
+
+-- **************************************************************
+--
+-- MBMS Registration Response
+--
+-- **************************************************************
+
+MBMSRegistrationResponse ::= SEQUENCE {
+	protocolIEs				ProtocolIE-Container		{ { MBMSRegistrationResponseIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ { MBMSRegistrationResponseExtensions} }		OPTIONAL,
+	...
+}
+
+MBMSRegistrationResponseIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-TMGI							CRITICALITY ignore	TYPE TMGI							PRESENCE optional		} |
+	{ ID id-GlobalCN-ID						CRITICALITY ignore	TYPE GlobalCN-ID					PRESENCE optional		} |
+	{ ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional		} ,
+	...
+}
+
+MBMSRegistrationResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- MBMS Registration Failure
+--
+-- **************************************************************
+
+MBMSRegistrationFailure ::= SEQUENCE {
+	protocolIEs				ProtocolIE-Container		{ { MBMSRegistrationFailureIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ { MBMSRegistrationFailureExtensions} }		OPTIONAL,
+	...
+}
+
+MBMSRegistrationFailureIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-TMGI							CRITICALITY ignore	TYPE TMGI							PRESENCE optional		} |
+	{ ID id-GlobalCN-ID						CRITICALITY ignore	TYPE GlobalCN-ID					PRESENCE optional		} |
+	{ ID id-Cause							CRITICALITY ignore	TYPE Cause							PRESENCE mandatory	} |
+	{ ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional		} ,
+	...
+}
+
+MBMSRegistrationFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- MBMS CN DE-REGISTRATION PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MBMS CN De-Registration Request
+--
+-- **************************************************************
+
+MBMSCNDe-RegistrationRequest ::= SEQUENCE {
+	protocolIEs				ProtocolIE-Container		{ { MBMSCNDe-RegistrationRequestIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ { MBMSCNDe-RegistrationRequestExtensions} }			OPTIONAL,
+	...
+}
+
+MBMSCNDe-RegistrationRequestIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-TMGI						CRITICALITY reject	TYPE TMGI									PRESENCE mandatory	} |
+	{ ID id-GlobalCN-ID					CRITICALITY reject	TYPE GlobalCN-ID							PRESENCE optional		},
+	...
+}
+
+MBMSCNDe-RegistrationRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- MBMS CN De-Registration Response
+--
+-- **************************************************************
+
+MBMSCNDe-RegistrationResponse ::= SEQUENCE {
+	protocolIEs				ProtocolIE-Container		{ { MBMSCNDe-RegistrationResponseIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ { MBMSCNDe-RegistrationResponseExtensions} }		OPTIONAL,
+	...
+}
+
+MBMSCNDe-RegistrationResponseIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-TMGI							CRITICALITY ignore	TYPE TMGI							PRESENCE mandatory	} |
+	{ ID id-GlobalRNC-ID					CRITICALITY ignore	TYPE GlobalRNC-ID					PRESENCE mandatory	} |
+	{ ID id-Cause							CRITICALITY ignore	TYPE Cause							PRESENCE optional		} |
+	{ ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional		} ,
+	...
+}
+
+MBMSCNDe-RegistrationResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
+-- Extension for Release 7 to indicate extended RNC-ID --
+	{ ID id-ExtendedRNC-ID				CRITICALITY reject	EXTENSION ExtendedRNC-ID		PRESENCE optional	},
+	...
+}
+
+-- **************************************************************
+--
+-- MBMS RAB ESTABLISHMENT INDICATION PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MBMS RAB Establishment Indication
+--
+-- **************************************************************
+
+MBMSRABEstablishmentIndication ::= SEQUENCE {
+	protocolIEs				ProtocolIE-Container		{ { MBMSRABEstablishmentIndicationIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ { MBMSRABEstablishmentIndicationExtensions} }			OPTIONAL,
+	...
+}
+
+MBMSRABEstablishmentIndicationIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-TransportLayerInformation		CRITICALITY ignore	TYPE TransportLayerInformation		PRESENCE mandatory	} ,
+	...
+}
+
+MBMSRABEstablishmentIndicationExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- MBMS RAB RELEASE PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- MBMS RAB Release Request
+--
+-- **************************************************************
+
+MBMSRABReleaseRequest ::= SEQUENCE {
+	protocolIEs				ProtocolIE-Container		{ {MBMSRABReleaseRequestIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {MBMSRABReleaseRequestExtensions} }			OPTIONAL,
+	...
+}
+
+MBMSRABReleaseRequestIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-Cause		CRITICALITY ignore	TYPE Cause				PRESENCE mandatory	},
+	...
+}
+
+
+MBMSRABReleaseRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- MBMS RAB Release
+--
+-- **************************************************************
+
+MBMSRABRelease ::= SEQUENCE {
+	protocolIEs				ProtocolIE-Container		{ {MBMSRABReleaseIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {MBMSRABReleaseExtensions} }			OPTIONAL,
+	...
+}
+
+MBMSRABReleaseIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-Cause		CRITICALITY ignore	TYPE Cause	 			PRESENCE mandatory	}|
+	{ ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional		},
+	...
+}
+
+MBMSRABReleaseExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- MBMS RAB Release Failure
+--
+-- **************************************************************
+
+MBMSRABReleaseFailure ::= SEQUENCE {
+	protocolIEs				ProtocolIE-Container		{ {MBMSRABReleaseFailureIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {MBMSRABReleaseFailureExtensions} }			OPTIONAL,
+	...
+}
+
+MBMSRABReleaseFailureIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-Cause		CRITICALITY ignore	TYPE Cause				PRESENCE mandatory	}|
+	{ ID id-CriticalityDiagnostics			CRITICALITY ignore	TYPE CriticalityDiagnostics			PRESENCE optional		},
+	...
+}
+
+MBMSRABReleaseFailureExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- SRVCC PREPARATION ELEMENTARY PROCEDURE
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- SRVCC CS Keys Request
+--
+-- **************************************************************
+
+SRVCC-CSKeysRequest ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {SRVCC-CSKeysRequestIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {SRVCC-CSKeysRequestExtensions} }				OPTIONAL,
+	...
+}
+
+SRVCC-CSKeysRequestIEs RANAP-PROTOCOL-IES ::= {
+	...
+}
+
+SRVCC-CSKeysRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- SRVCC CS Keys Response
+--
+-- **************************************************************
+
+SRVCC-CSKeysResponse ::= SEQUENCE {
+	protocolIEs			ProtocolIE-Container			{ {SRVCC-CSKeysResponseIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {SRVCC-CSKeysResponseExtensions} }				OPTIONAL,
+	...
+}
+
+SRVCC-CSKeysResponseIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-IntegrityProtectionKey		CRITICALITY reject	TYPE IntegrityProtectionKey		PRESENCE mandatory	}|
+	{ ID id-EncryptionKey				CRITICALITY reject	TYPE EncryptionKey				PRESENCE mandatory	}|
+	{ ID id-SRVCC-Information			CRITICALITY reject	TYPE SRVCC-Information			PRESENCE mandatory	}|
+	{ ID id-CriticalityDiagnostics		CRITICALITY ignore	TYPE CriticalityDiagnostics		PRESENCE optional		},
+	...
+}
+
+SRVCC-CSKeysResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- UE RADIO CAPABILITY MATCH PROCEDURE
+--
+-- **************************************************************
+
+
+-- **************************************************************
+--
+-- UE Radio Capability Match Request
+--
+-- **************************************************************
+
+UeRadioCapabilityMatchRequest ::= SEQUENCE {
+	protocolIEs				ProtocolIE-Container		{ {UeRadioCapabilityMatchRequestIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {UeRadioCapabilityMatchRequestExtensions} }			OPTIONAL,
+	...
+}
+
+UeRadioCapabilityMatchRequestIEs RANAP-PROTOCOL-IES ::= {
+	...
+}
+
+UeRadioCapabilityMatchRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- UE Radio Capability Match Response
+--
+-- **************************************************************
+
+UeRadioCapabilityMatchResponse ::= SEQUENCE {
+	protocolIEs				ProtocolIE-Container		{ {UeRadioCapabilityMatchResponseIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {UeRadioCapabilityMatchResponseExtensions} }				OPTIONAL,
+	...
+}
+
+UeRadioCapabilityMatchResponseIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-VoiceSupportMatchIndicator		CRITICALITY reject	TYPE VoiceSupportMatchIndicator		PRESENCE mandatory	},
+	...
+}
+
+UeRadioCapabilityMatchResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- UE REGISTRATION QUERY PROCEDURE
+--
+-- **************************************************************
+
+
+-- **************************************************************
+--
+-- UE Registration Query Request
+--
+-- **************************************************************
+
+UeRegistrationQueryRequest ::= SEQUENCE {
+	protocolIEs				ProtocolIE-Container		{ {UeRegistrationQueryRequestIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {UeRegistrationQueryRequestExtensions} }			OPTIONAL,
+	...
+}
+
+UeRegistrationQueryRequestIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-IuSigConId				CRITICALITY ignore	TYPE IuSignallingConnectionIdentifier	PRESENCE mandatory}|
+	{ ID id-PermanentNAS-UE-ID		CRITICALITY ignore	TYPE PermanentNAS-UE-ID					PRESENCE mandatory},
+	...
+}
+
+UeRegistrationQueryRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- UE Registration Query Response
+--
+-- **************************************************************
+
+UeRegistrationQueryResponse ::= SEQUENCE {
+	protocolIEs				ProtocolIE-Container		{ {UeRegistrationQueryResponseIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {UeRegistrationQueryResponseExtensions} }				OPTIONAL,
+	...
+}
+
+UeRegistrationQueryResponseIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-UERegistrationQueryResult		CRITICALITY ignore	TYPE UERegistrationQueryResult	PRESENCE mandatory},
+	...
+}
+
+UeRegistrationQueryResponseExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+-- **************************************************************
+--
+-- REROUTE NAS REQUEST PROCEDURE
+--
+-- **************************************************************
+
+
+-- **************************************************************
+--
+-- Reroute NAS Request
+--
+-- **************************************************************
+
+RerouteNASRequest ::= SEQUENCE {
+	protocolIEs				ProtocolIE-Container		{ {RerouteNASRequestIEs} },
+	protocolExtensions		ProtocolExtensionContainer	{ {RerouteNASRequestExtensions} }			OPTIONAL,
+	...
+}
+
+RerouteNASRequestIEs RANAP-PROTOCOL-IES ::= {
+	{ ID id-RANAP-Message				CRITICALITY ignore	TYPE OCTET STRING			PRESENCE mandatory}|
+	{ ID id-SGSN-Group-Identity			CRITICALITY ignore	TYPE SGSN-Group-Identity	PRESENCE mandatory}|
+	{ ID id-P-TMSI						CRITICALITY ignore	TYPE P-TMSI					PRESENCE optional}|
+	{ ID id-UE-Usage-Type				CRITICALITY ignore	TYPE UE-Usage-Type			PRESENCE optional},
+	...
+}
+
+RerouteNASRequestExtensions RANAP-PROTOCOL-EXTENSION ::= {
+	...
+}
+
+END
diff --git a/library/ranap/RANAP_PDU_Descriptions.asn b/library/ranap/RANAP_PDU_Descriptions.asn
new file mode 100644
index 0000000..92d4b0f
--- /dev/null
+++ b/library/ranap/RANAP_PDU_Descriptions.asn
@@ -0,0 +1,646 @@
+-- RANAP-PDU-Descriptions.asn
+--
+-- 3GPP TS 25.413 V14.0.0 (2017-03)
+-- http://www.3gpp.org/ftp/Specs/html-info/25413.htm
+--
+-- 9.3.2	Elementary Procedure Definitions
+--
+
+-- **************************************************************
+--
+-- Elementary Procedure definitions
+--
+-- **************************************************************
+
+RANAP-PDU-Descriptions {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+umts-Access (20) modules (3) ranap (0) version1 (1) ranap-PDU-Descriptions (0)}
+
+DEFINITIONS AUTOMATIC TAGS ::=
+
+BEGIN
+
+-- **************************************************************
+--
+-- IE parameter types from other modules.
+--
+-- **************************************************************
+
+IMPORTS
+	Criticality,
+	ProcedureCode
+FROM RANAP-CommonDataTypes
+
+	Iu-ReleaseCommand,
+	Iu-ReleaseComplete,
+	RelocationCommand,
+	RelocationPreparationFailure,
+	RelocationRequired,
+	RelocationRequest,
+	RelocationRequestAcknowledge,
+	RelocationFailure,
+	RelocationCancel,
+	RelocationCancelAcknowledge,
+	EnhancedRelocationCompleteRequest,
+	EnhancedRelocationCompleteResponse,
+	EnhancedRelocationCompleteFailure,
+	EnhancedRelocationCompleteConfirm,
+	SRNS-ContextRequest,
+	SRNS-ContextResponse,
+	SecurityModeCommand,
+	SecurityModeComplete,
+	SecurityModeReject,
+	DataVolumeReportRequest,
+	DataVolumeReport,
+	Reset,
+	ResetAcknowledge,
+	RAB-ReleaseRequest,
+	Iu-ReleaseRequest,
+	RelocationDetect,
+	RelocationComplete,
+	Paging,
+	CommonID,
+	CN-InvokeTrace,
+	CN-DeactivateTrace,
+	LocationReportingControl,
+	LocationReport,
+	InitialUE-Message,
+	DirectTransfer,
+	Overload,
+	ErrorIndication,
+	SRNS-DataForwardCommand,
+	ForwardSRNS-Context,
+	RAB-AssignmentRequest,
+	RAB-AssignmentResponse,
+	RAB-ModifyRequest,
+	PrivateMessage,
+	ResetResource,
+	ResetResourceAcknowledge,
+	RANAP-RelocationInformation,
+	RANAP-EnhancedRelocationInformationRequest,
+	RANAP-EnhancedRelocationInformationResponse,
+	LocationRelatedDataRequest,
+	LocationRelatedDataResponse,
+	LocationRelatedDataFailure,
+	InformationTransferIndication,
+	InformationTransferConfirmation,
+	InformationTransferFailure,
+	UESpecificInformationIndication,
+	DirectInformationTransfer,
+	UplinkInformationExchangeRequest,
+	UplinkInformationExchangeResponse,
+	UplinkInformationExchangeFailure,
+	MBMSSessionStart,
+	MBMSSessionStartResponse,
+	MBMSSessionStartFailure,
+	MBMSSessionUpdate,
+	MBMSSessionUpdateResponse,
+	MBMSSessionUpdateFailure,
+	MBMSSessionStop,
+	MBMSSessionStopResponse,
+	MBMSUELinkingRequest,
+	MBMSUELinkingResponse,
+	MBMSRegistrationRequest,
+	MBMSRegistrationResponse,
+	MBMSRegistrationFailure,
+	MBMSCNDe-RegistrationRequest,
+	MBMSCNDe-RegistrationResponse,
+	MBMSRABEstablishmentIndication,
+	MBMSRABReleaseRequest,
+	MBMSRABRelease,
+	MBMSRABReleaseFailure,
+	SRVCC-CSKeysRequest,
+	SRVCC-CSKeysResponse,
+	UeRadioCapabilityMatchRequest,
+	UeRadioCapabilityMatchResponse,
+	UeRegistrationQueryRequest,
+	UeRegistrationQueryResponse,
+	RerouteNASRequest
+
+FROM RANAP-PDU-Contents
+
+	id-LocationRelatedData,
+	id-CN-DeactivateTrace,
+	id-CN-InvokeTrace,
+	id-CommonID,
+	id-DataVolumeReport,
+	id-DirectTransfer,
+	id-ErrorIndication,
+	id-ForwardSRNS-Context,
+	id-InformationTransfer,
+	id-InitialUE-Message,
+	id-Iu-Release,
+	id-Iu-ReleaseRequest,
+	id-LocationReport,
+	id-LocationReportingControl,
+	id-OverloadControl,
+	id-Paging,
+	id-privateMessage,
+	id-RAB-Assignment,
+	id-RAB-ReleaseRequest,
+	id-RAB-ModifyRequest,
+	id-RANAP-Relocation,
+	id-RANAPenhancedRelocation,
+	id-RelocationCancel,
+	id-RelocationComplete,
+	id-RelocationDetect,
+	id-RelocationPreparation,
+	id-RelocationResourceAllocation,
+	id-enhancedRelocationComplete,
+	id-enhancedRelocationCompleteConfirm,
+	id-Reset,
+	id-SRNS-ContextTransfer,
+	id-SRNS-DataForward,
+	id-SecurityModeControl,
+	id-ResetResource,
+	id-UESpecificInformation,
+	id-DirectInformationTransfer,
+	id-UplinkInformationExchange,
+	id-MBMSSessionStart,
+	id-MBMSSessionUpdate,
+	id-MBMSSessionStop,
+	id-MBMSUELinking,
+	id-MBMSRegistration,
+	id-MBMSCNDe-Registration-Procedure,
+	id-MBMSRABEstablishmentIndication,
+	id-MBMSRABRelease,
+	id-SRVCCPreparation,
+	id-UeRadioCapabilityMatch,
+	id-UeRegistrationQuery,
+	id-RerouteNASRequest
+
+FROM RANAP-Constants;
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure Class
+--
+-- **************************************************************
+
+RANAP-ELEMENTARY-PROCEDURE ::= CLASS {
+	&InitiatingMessage				,
+	&SuccessfulOutcome				OPTIONAL,
+	&UnsuccessfulOutcome				OPTIONAL,
+	&Outcome					OPTIONAL,
+	&procedureCode			ProcedureCode 	UNIQUE,
+	&criticality			Criticality 	DEFAULT ignore
+}
+WITH SYNTAX {
+	INITIATING MESSAGE		&InitiatingMessage
+	[SUCCESSFUL OUTCOME		&SuccessfulOutcome]
+	[UNSUCCESSFUL OUTCOME		&UnsuccessfulOutcome]
+	[OUTCOME			&Outcome]
+	PROCEDURE CODE				&procedureCode
+	[CRITICALITY			&criticality]
+}
+
+-- **************************************************************
+--
+-- Interface PDU Definition
+--
+-- **************************************************************
+
+RANAP-PDU ::= CHOICE {
+	initiatingMessage	InitiatingMessage,
+	successfulOutcome	SuccessfulOutcome,
+	unsuccessfulOutcome	UnsuccessfulOutcome,
+	outcome			Outcome,
+	...
+}
+
+InitiatingMessage ::= SEQUENCE {
+	procedureCode	RANAP-ELEMENTARY-PROCEDURE.&procedureCode	({RANAP-ELEMENTARY-PROCEDURES}),
+	criticality	RANAP-ELEMENTARY-PROCEDURE.&criticality		({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+	value		RANAP-ELEMENTARY-PROCEDURE.&InitiatingMessage	({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+SuccessfulOutcome ::= SEQUENCE {
+	procedureCode	RANAP-ELEMENTARY-PROCEDURE.&procedureCode	({RANAP-ELEMENTARY-PROCEDURES}),
+	criticality	RANAP-ELEMENTARY-PROCEDURE.&criticality		({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+	value		RANAP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome	({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+UnsuccessfulOutcome ::= SEQUENCE {
+	procedureCode	RANAP-ELEMENTARY-PROCEDURE.&procedureCode	({RANAP-ELEMENTARY-PROCEDURES}),
+	criticality	RANAP-ELEMENTARY-PROCEDURE.&criticality		({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+	value		RANAP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome	({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+Outcome ::= SEQUENCE {
+	procedureCode	RANAP-ELEMENTARY-PROCEDURE.&procedureCode	({RANAP-ELEMENTARY-PROCEDURES}),
+	criticality	RANAP-ELEMENTARY-PROCEDURE.&criticality		({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode}),
+	value		RANAP-ELEMENTARY-PROCEDURE.&Outcome		({RANAP-ELEMENTARY-PROCEDURES}{@procedureCode})
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedure List
+--
+-- **************************************************************
+
+RANAP-ELEMENTARY-PROCEDURES RANAP-ELEMENTARY-PROCEDURE ::= {
+	RANAP-ELEMENTARY-PROCEDURES-CLASS-1	|
+	RANAP-ELEMENTARY-PROCEDURES-CLASS-2	|
+	RANAP-ELEMENTARY-PROCEDURES-CLASS-3	,
+	...
+}
+
+
+RANAP-ELEMENTARY-PROCEDURES-CLASS-1 RANAP-ELEMENTARY-PROCEDURE ::= {
+	iu-Release			|
+	relocationPreparation		|
+	relocationResourceAllocation	|
+	relocationCancel		|
+	sRNS-ContextTransfer		|
+	securityModeControl		|
+	dataVolumeReport		|
+	reset		|
+	resetResource				,
+	...,
+	locationRelatedData		|
+	informationTransfer		|
+	uplinkInformationExchange	|
+	mBMSSessionStart			|
+	mBMSSessionUpdate			|
+	mBMSSessionStop				|
+	mBMSUELinking				|
+	mBMSRegistration			|
+	mBMSCNDe-Registration		|
+	mBMSRABRelease				|
+	enhancedRelocationComplete	|
+	rANAP-enhancedRelocation	|
+	sRVCCPreparation			|
+	ueRadioCapabilityMatch		|
+	ueRegistrationQuery }
+
+RANAP-ELEMENTARY-PROCEDURES-CLASS-2 RANAP-ELEMENTARY-PROCEDURE ::= {
+	rAB-ReleaseRequest		|
+	iu-ReleaseRequest		|
+	relocationDetect		|
+	relocationComplete		|
+	paging					|
+	commonID				|
+	cN-InvokeTrace			|
+	cN-DeactivateTrace		|
+	locationReportingControl	|
+	locationReport			|
+	initialUE-Message		|
+	directTransfer			|
+	overloadControl			|
+	errorIndication			|
+	sRNS-DataForward		|
+	forwardSRNS-Context		|
+	privateMessage			|
+	rANAP-Relocation		,
+	...,
+	rAB-ModifyRequest		|
+	uESpecificInformation	|
+	directInformationTransfer	|
+	mBMSRABEstablishmentIndication	|
+	enhancedRelocationCompleteConfirm	|
+	rerouteNASRequest
+}
+
+RANAP-ELEMENTARY-PROCEDURES-CLASS-3 RANAP-ELEMENTARY-PROCEDURE ::= {
+	rAB-Assignment			,
+	...
+}
+
+-- **************************************************************
+--
+-- Interface Elementary Procedures
+--
+-- **************************************************************
+
+iu-Release RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	Iu-ReleaseCommand
+	SUCCESSFUL OUTCOME	Iu-ReleaseComplete
+	PROCEDURE CODE		id-Iu-Release
+	CRITICALITY		reject
+}
+
+relocationPreparation RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	RelocationRequired
+	SUCCESSFUL OUTCOME	RelocationCommand
+	UNSUCCESSFUL OUTCOME	RelocationPreparationFailure
+	PROCEDURE CODE			id-RelocationPreparation
+	CRITICALITY		reject
+}
+
+relocationResourceAllocation RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	RelocationRequest
+	SUCCESSFUL OUTCOME	RelocationRequestAcknowledge
+	UNSUCCESSFUL OUTCOME	RelocationFailure
+	PROCEDURE CODE			id-RelocationResourceAllocation
+	CRITICALITY		reject
+}
+
+relocationCancel RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	RelocationCancel
+	SUCCESSFUL OUTCOME	RelocationCancelAcknowledge
+	PROCEDURE CODE		id-RelocationCancel
+	CRITICALITY		reject
+}
+
+sRNS-ContextTransfer RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	SRNS-ContextRequest
+	SUCCESSFUL OUTCOME	SRNS-ContextResponse
+	PROCEDURE CODE		id-SRNS-ContextTransfer
+	CRITICALITY		reject
+}
+
+securityModeControl RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	SecurityModeCommand
+	SUCCESSFUL OUTCOME	SecurityModeComplete
+	UNSUCCESSFUL OUTCOME	SecurityModeReject
+	PROCEDURE CODE		id-SecurityModeControl
+	CRITICALITY		reject
+}
+	
+dataVolumeReport RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	DataVolumeReportRequest
+	SUCCESSFUL OUTCOME	DataVolumeReport
+	PROCEDURE CODE		id-DataVolumeReport
+	CRITICALITY		reject
+}
+	
+
+reset RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	Reset
+	SUCCESSFUL OUTCOME	ResetAcknowledge
+	PROCEDURE CODE		id-Reset
+	CRITICALITY		reject
+}
+
+rAB-ReleaseRequest RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	RAB-ReleaseRequest
+	PROCEDURE CODE		id-RAB-ReleaseRequest
+	CRITICALITY		ignore
+}
+
+iu-ReleaseRequest RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	Iu-ReleaseRequest
+	PROCEDURE CODE		id-Iu-ReleaseRequest
+	CRITICALITY		ignore
+}
+
+relocationDetect RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	RelocationDetect
+	PROCEDURE CODE		id-RelocationDetect
+	CRITICALITY		ignore
+}
+
+relocationComplete RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	RelocationComplete
+	PROCEDURE CODE		id-RelocationComplete
+	CRITICALITY		ignore
+}
+
+paging RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	Paging
+	PROCEDURE CODE		id-Paging
+	CRITICALITY		ignore
+}
+
+commonID RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	CommonID
+	PROCEDURE CODE		id-CommonID
+	CRITICALITY		ignore
+}
+
+cN-InvokeTrace RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	CN-InvokeTrace
+	PROCEDURE CODE		id-CN-InvokeTrace
+	CRITICALITY		ignore
+}
+
+cN-DeactivateTrace RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	CN-DeactivateTrace
+	PROCEDURE CODE			id-CN-DeactivateTrace
+	CRITICALITY		ignore
+}
+
+locationReportingControl RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	LocationReportingControl
+	PROCEDURE CODE		id-LocationReportingControl
+	CRITICALITY		ignore
+}
+
+locationReport RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	LocationReport
+	PROCEDURE CODE		id-LocationReport
+	CRITICALITY		ignore
+}
+
+initialUE-Message RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	InitialUE-Message
+	PROCEDURE CODE		id-InitialUE-Message
+	CRITICALITY		ignore
+}
+
+directTransfer RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	DirectTransfer
+	PROCEDURE CODE		id-DirectTransfer
+	CRITICALITY		ignore
+}
+
+overloadControl RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	Overload
+	PROCEDURE CODE		id-OverloadControl
+	CRITICALITY		ignore
+}
+
+errorIndication RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	ErrorIndication
+	PROCEDURE CODE		id-ErrorIndication
+	CRITICALITY		ignore
+}
+
+sRNS-DataForward RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	SRNS-DataForwardCommand
+	PROCEDURE CODE		id-SRNS-DataForward
+	CRITICALITY		ignore
+}
+
+forwardSRNS-Context RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	ForwardSRNS-Context
+	PROCEDURE CODE		id-ForwardSRNS-Context
+	CRITICALITY		ignore
+}
+
+rAB-Assignment RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	RAB-AssignmentRequest
+	OUTCOME			RAB-AssignmentResponse
+	PROCEDURE CODE		id-RAB-Assignment
+	CRITICALITY		reject
+}
+
+privateMessage RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	PrivateMessage
+
+	PROCEDURE CODE	id-privateMessage
+	CRITICALITY		ignore
+}
+
+resetResource RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	ResetResource
+	SUCCESSFUL OUTCOME	ResetResourceAcknowledge
+	PROCEDURE CODE			id-ResetResource
+	CRITICALITY		reject
+}
+
+rANAP-Relocation RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	RANAP-RelocationInformation
+	PROCEDURE CODE			id-RANAP-Relocation
+	CRITICALITY		ignore
+}
+
+rAB-ModifyRequest RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	RAB-ModifyRequest
+	PROCEDURE CODE		id-RAB-ModifyRequest
+	CRITICALITY		ignore
+}
+
+locationRelatedData RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE		LocationRelatedDataRequest
+	SUCCESSFUL OUTCOME		LocationRelatedDataResponse
+	UNSUCCESSFUL OUTCOME	LocationRelatedDataFailure
+	PROCEDURE CODE			id-LocationRelatedData
+	CRITICALITY				reject
+}
+
+informationTransfer RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE		InformationTransferIndication
+	SUCCESSFUL OUTCOME		InformationTransferConfirmation
+	UNSUCCESSFUL OUTCOME	InformationTransferFailure
+	PROCEDURE CODE			id-InformationTransfer
+	CRITICALITY				reject
+}
+
+uESpecificInformation RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	UESpecificInformationIndication
+	PROCEDURE CODE		id-UESpecificInformation
+	CRITICALITY		ignore
+}
+
+directInformationTransfer RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE		DirectInformationTransfer
+	PROCEDURE CODE			id-DirectInformationTransfer
+	CRITICALITY				ignore
+}
+
+uplinkInformationExchange RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE		UplinkInformationExchangeRequest
+	SUCCESSFUL OUTCOME		UplinkInformationExchangeResponse
+	UNSUCCESSFUL OUTCOME	UplinkInformationExchangeFailure
+	PROCEDURE CODE			id-UplinkInformationExchange
+	CRITICALITY				reject
+}
+
+mBMSSessionStart RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE		MBMSSessionStart
+	SUCCESSFUL OUTCOME		MBMSSessionStartResponse
+	UNSUCCESSFUL OUTCOME	MBMSSessionStartFailure
+	PROCEDURE CODE			id-MBMSSessionStart
+	CRITICALITY				reject
+}
+
+mBMSSessionUpdate RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE		MBMSSessionUpdate
+	SUCCESSFUL OUTCOME		MBMSSessionUpdateResponse
+	UNSUCCESSFUL OUTCOME	MBMSSessionUpdateFailure
+	PROCEDURE CODE			id-MBMSSessionUpdate
+	CRITICALITY				reject
+}
+
+mBMSSessionStop RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE		MBMSSessionStop
+	SUCCESSFUL OUTCOME		MBMSSessionStopResponse
+	PROCEDURE CODE			id-MBMSSessionStop
+	CRITICALITY				reject
+}
+
+mBMSUELinking RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE		MBMSUELinkingRequest
+	OUTCOME					MBMSUELinkingResponse
+	PROCEDURE CODE			id-MBMSUELinking
+	CRITICALITY				reject
+}
+
+mBMSRegistration RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE		MBMSRegistrationRequest
+	SUCCESSFUL OUTCOME		MBMSRegistrationResponse
+	UNSUCCESSFUL OUTCOME	MBMSRegistrationFailure
+	PROCEDURE CODE			id-MBMSRegistration
+	CRITICALITY				reject
+}
+
+mBMSCNDe-Registration RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE		MBMSCNDe-RegistrationRequest
+	SUCCESSFUL OUTCOME		MBMSCNDe-RegistrationResponse
+	PROCEDURE CODE			id-MBMSCNDe-Registration-Procedure
+	CRITICALITY				reject
+}
+
+mBMSRABEstablishmentIndication RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	MBMSRABEstablishmentIndication
+	PROCEDURE CODE		id-MBMSRABEstablishmentIndication
+	CRITICALITY		ignore
+}
+
+mBMSRABRelease RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	MBMSRABReleaseRequest
+	SUCCESSFUL OUTCOME		MBMSRABRelease
+	UNSUCCESSFUL OUTCOME	MBMSRABReleaseFailure
+	PROCEDURE CODE		id-MBMSRABRelease
+	CRITICALITY		reject
+}
+enhancedRelocationComplete RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	EnhancedRelocationCompleteRequest
+	SUCCESSFUL OUTCOME		EnhancedRelocationCompleteResponse
+	UNSUCCESSFUL OUTCOME	EnhancedRelocationCompleteFailure
+	PROCEDURE CODE		id-enhancedRelocationComplete
+	CRITICALITY		reject
+}
+
+enhancedRelocationCompleteConfirm RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	EnhancedRelocationCompleteConfirm
+	PROCEDURE CODE		id-enhancedRelocationCompleteConfirm
+	CRITICALITY		ignore
+}
+
+rANAP-enhancedRelocation RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	RANAP-EnhancedRelocationInformationRequest
+	SUCCESSFUL OUTCOME	RANAP-EnhancedRelocationInformationResponse
+	PROCEDURE CODE			id-RANAPenhancedRelocation
+	CRITICALITY		reject
+}
+
+sRVCCPreparation RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	SRVCC-CSKeysRequest
+	OUTCOME				SRVCC-CSKeysResponse
+	PROCEDURE CODE		id-SRVCCPreparation
+	CRITICALITY			reject
+}
+
+ueRadioCapabilityMatch RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE		UeRadioCapabilityMatchRequest
+	OUTCOME					UeRadioCapabilityMatchResponse
+	PROCEDURE CODE			id-UeRadioCapabilityMatch
+	CRITICALITY				ignore
+}
+
+ueRegistrationQuery RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE		UeRegistrationQueryRequest
+	OUTCOME					UeRegistrationQueryResponse
+	PROCEDURE CODE			id-UeRegistrationQuery
+	CRITICALITY				ignore
+}
+
+rerouteNASRequest RANAP-ELEMENTARY-PROCEDURE ::= {
+	INITIATING MESSAGE	RerouteNASRequest
+	PROCEDURE CODE		id-RerouteNASRequest
+	CRITICALITY			reject
+}
+
+END
diff --git a/library/ranap/RANAP_Selftests.ttcn b/library/ranap/RANAP_Selftests.ttcn
new file mode 100644
index 0000000..dd72e35
--- /dev/null
+++ b/library/ranap/RANAP_Selftests.ttcn
@@ -0,0 +1,76 @@
+module RANAP_Selftests {
+
+import from RANAP_CommonDataTypes all;
+import from RANAP_Constants all;
+import from RANAP_Containers all;
+import from RANAP_IEs all;
+import from RANAP_PDU_Contents all;
+import from RANAP_PDU_Descriptions all;
+import from RANAP_Types all;
+
+type component test_CT {
+};
+
+const octetstring c_InitUE_CM_SRV_REQ := '001340400000060003400100000f40060046f3120064003a40080046f312006400000010400e0d052471034f188005f407000008004f40030000000056400546f312000f'O;
+const octetstring c_CommonId :=	'000f4010000001001740095046239134707780f3'O;
+const octetstring c_DT_CM_SRV_ACK := '0014400f000002003b40010000104003020521'O;
+const octetstring c_DT_MO_SETUP := '00144019000001001040121103450404600200815e0381654215021101'O;
+const octetstring c_DT_MT_CALL_PROC := '00144010000002003b4001000010400403830280'O;
+const octetstring c_RAB_AssReq := '0000404700000100360040000001003500363802d0012fa7202fa80000f44c080a028000514000272028140067400000222814003c40000000503d0800101faf026ed64047d40000400100'O;
+const octetstring c_RAB_AssResp := '6000001a000001003440130000010033400c60087c0a80242240e2040000'O;
+const octetstring c_IuRelReq := '000b4009000001000440020340'O;
+const octetstring c_ResetResource := '001b001c00000300030001000004400142004d400b000001004e000400000000'O;
+const octetstring c_IuRelCmd := '00014009000001000400020340'O;
+
+type record EnDecTestcase {
+	charstring name,
+	octetstring encoded
+};
+
+type record of EnDecTestcase EnDecTestcases;
+
+const EnDecTestcases test_data := {
+	{
+		name := "InitialUE_CM_SRV_REQ",
+		encoded := c_InitUE_CM_SRV_REQ
+	}, {
+		name := "CommonID",
+		encoded := c_CommonId
+	}, {
+		name := "DirectTransfer CM SERVICE ACK",
+		encoded := c_DT_CM_SRV_ACK
+	}, {
+		name := "DirectTransfer MO CC SETUP",
+		encoded := c_DT_MO_SETUP
+	}, {
+		name := "DirectTransfer MT CC CALL PROCEEDING",
+		encoded := c_DT_MT_CALL_PROC
+	}, {
+		name := "RAB Assignment Request",
+		encoded := c_RAB_AssReq
+	}, {
+		name := "RAB Assignment Response",
+		encoded := c_RAB_AssResp
+	}, {
+		name := "Iu Release Request",
+		encoded := c_IuRelReq
+	}, {
+		name := "Reset Resource",
+		encoded := c_ResetResource
+	}, {
+		name := "Iu Release Command",
+		encoded := c_IuRelCmd
+	}
+};
+
+testcase TC_foo() runs on test_CT {
+	var integer i;
+	for (i := 0; i < lengthof(test_data); i := i+1) {
+		var EnDecTestcase tc := test_data[i];
+		var RANAP_PDU pdu := dec_RANAP_PDU(tc.encoded);
+		log(tc.name, " decoded: ", pdu);
+	}
+	setverdict(pass);
+}
+
+}
diff --git a/library/ranap/RANAP_Templates.ttcn b/library/ranap/RANAP_Templates.ttcn
new file mode 100644
index 0000000..e55f212
--- /dev/null
+++ b/library/ranap/RANAP_Templates.ttcn
@@ -0,0 +1,1427 @@
+module RANAP_Templates {
+
+import from General_Types all;
+
+import from RANAP_IEs all;
+import from RANAP_CommonDataTypes all;
+import from RANAP_Constants all;
+import from RANAP_Containers all;
+import from RANAP_PDU_Contents all;
+import from RANAP_PDU_Descriptions all;
+
+template (value) Cause ts_RanapCause_om_intervention := { misc := 113 };
+
+/*****************************************************************************************************
+ * Reset
+ *****************************************************************************************************/
+
+template (value) RANAP_PDU
+ts_RANAP_Reset(template (value) Cause cause, template (value) CN_DomainIndicator dom,
+			  template (omit) Reset.protocolExtensions exts := omit) := {
+	initiatingMessage := {
+		procedureCode := id_Reset,
+		criticality := reject,
+		value_ := {
+			Reset := {
+				protocolIEs := {
+					{
+						id := id_Cause,
+						criticality := ignore,
+						value_ := {
+							cause := cause
+						}
+					}, {
+						id := id_CN_DomainIndicator,
+						criticality := reject,
+						value_ := {
+							cN_DomainIndicator := dom
+						}
+					}
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+template RANAP_PDU
+tr_RANAP_Reset(template Cause cause := ?, template CN_DomainIndicator dom := ?,
+			  template Reset.protocolExtensions exts := *) := {
+	initiatingMessage := {
+		procedureCode := id_Reset,
+		criticality := reject,
+		value_ := {
+			Reset := {
+				protocolIEs := {
+					{
+						id := id_Cause,
+						criticality := ignore,
+						value_ := {
+							cause := cause
+						}
+					}, {
+						id := id_CN_DomainIndicator,
+						criticality := reject,
+						value_ := {
+							cN_DomainIndicator := dom
+						}
+					}, *
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+
+template (value) RANAP_PDU
+ts_RANAP_ResetAck(template (value) CN_DomainIndicator dom,
+		  template (omit) ResetAcknowledge.protocolExtensions exts := omit) := {
+	successfulOutcome := {
+		procedureCode := id_Reset,
+		criticality := reject,
+		value_ := {
+			ResetAcknowledge := {
+				protocolIEs := {
+					{
+						id := id_CN_DomainIndicator,
+						criticality := reject,
+						value_ := {
+							cN_DomainIndicator := dom
+						}
+					}
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+template RANAP_PDU
+tr_RANAP_ResetAck(template CN_DomainIndicator dom := ?,
+		  template ResetAcknowledge.protocolExtensions exts := *) := {
+	successfulOutcome := {
+		procedureCode := id_Reset,
+		criticality := reject,
+		value_ := {
+			ResetAcknowledge := {
+				protocolIEs := {
+					{
+						id := id_CN_DomainIndicator,
+						criticality := reject,
+						value_ := {
+							cN_DomainIndicator := dom
+						}
+					}, *
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+
+/*****************************************************************************************************
+ * Security Mode Control
+ *****************************************************************************************************/
+
+template (value) RANAP_PDU
+ts_RANAP_SecurityModeCmd(template (value) PermittedIntegrityProtectionAlgorithms uia_algs,
+			 template (value) IntegrityProtectionKey uia_key,
+			 template (value) KeyStatus key_sts,
+		  	 template (omit) SecurityModeCommand.protocolExtensions exts := omit) := {
+	initiatingMessage := {
+		procedureCode := id_SecurityModeControl,
+		criticality := reject,
+		value_ := {
+			securityModeCommand := {
+				protocolIEs := {
+					{
+						id := id_IntegrityProtectionInformation,
+						criticality := reject,
+						value_ := {
+							integrityProtectionInformation := {
+								permittedAlgorithms := uia_algs,
+								key := uia_key,
+								iE_Extensions := omit
+							}
+						}
+					}, {
+						id := id_KeyStatus,
+						criticality := reject,
+						value_ := {
+							keyStatus := key_sts
+						}
+					}
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+template RANAP_PDU
+tr_RANAP_SecurityModeCmd(template PermittedIntegrityProtectionAlgorithms uia_algs,
+			 template IntegrityProtectionKey uia_key,
+			 template KeyStatus key_sts,
+		  	 template SecurityModeCommand.protocolExtensions exts := *) := {
+	initiatingMessage := {
+		procedureCode := id_SecurityModeControl,
+		criticality := reject,
+		value_ := {
+			securityModeCommand := {
+				protocolIEs := {
+					{
+						id := id_IntegrityProtectionInformation,
+						criticality := reject,
+						value_ := {
+							integrityProtectionInformation := {
+								permittedAlgorithms := uia_algs,
+								key := uia_key,
+								iE_Extensions := *
+							}
+						}
+					}, {
+						id := id_KeyStatus,
+						criticality := reject,
+						value_ := {
+							keyStatus := key_sts
+						}
+					}
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+
+template (value) RANAP_PDU
+ts_RANAP_SecurityModeCmdEnc(template (value) PermittedIntegrityProtectionAlgorithms uia_algs,
+			    template (value) IntegrityProtectionKey uia_key,
+			    template (value) KeyStatus key_sts,
+			    template (value) PermittedEncryptionAlgorithms uea_algs,
+			    template (value) EncryptionKey uea_key,
+		  	    template (omit) SecurityModeCommand.protocolExtensions exts := omit) := {
+	initiatingMessage := {
+		procedureCode := id_SecurityModeControl,
+		criticality := reject,
+		value_ := {
+			securityModeCommand := {
+				protocolIEs := {
+					{
+						id := id_IntegrityProtectionInformation,
+						criticality := reject,
+						value_ := {
+							integrityProtectionInformation := {
+								permittedAlgorithms := uia_algs,
+								key := uia_key,
+								iE_Extensions := omit
+							}
+						}
+					}, {
+						id := id_EncryptionInformation,
+						criticality := ignore,
+						value_ := {
+							encryptionInformation := {
+								permittedAlgorithms := uea_algs,
+								key := uea_key,
+								iE_Extensions := omit
+							}
+						}
+					}, {
+						id := id_KeyStatus,
+						criticality := reject,
+						value_ := {
+							keyStatus := key_sts
+						}
+					}
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+template RANAP_PDU
+tr_RANAP_SecurityModeCmdEnc(template PermittedIntegrityProtectionAlgorithms uia_algs,
+			    template IntegrityProtectionKey uia_key,
+			    template KeyStatus key_sts,
+			    template PermittedEncryptionAlgorithms uea_algs,
+			    template EncryptionKey uea_key,
+		  	    template SecurityModeCommand.protocolExtensions exts := *) := {
+	initiatingMessage := {
+		procedureCode := id_SecurityModeControl,
+		criticality := reject,
+		value_ := {
+			securityModeCommand := {
+				protocolIEs := {
+					{
+						id := id_IntegrityProtectionInformation,
+						criticality := reject,
+						value_ := {
+							integrityProtectionInformation := {
+								permittedAlgorithms := uia_algs,
+								key := uia_key,
+								iE_Extensions := *
+							}
+						}
+					}, {
+						id := id_EncryptionInformation,
+						criticality := ignore,
+						value_ := {
+							encryptionInformation := {
+								permittedAlgorithms := uea_algs,
+								key := uea_key,
+								iE_Extensions := *
+							}
+						}
+					}, {
+						id := id_KeyStatus,
+						criticality := reject,
+						value_ := {
+							keyStatus := key_sts
+						}
+					}
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+
+template (value) RANAP_PDU
+ts_RANAP_SecurityModeComplete(template (value) IntegrityProtectionAlgorithm uia_alg,
+			      template (omit) SecurityModeComplete.protocolExtensions exts := omit) := {
+	successfulOutcome := {
+		procedureCode := id_SecurityModeControl,
+		criticality := reject,
+		value_ := {
+			securityModeComplete := {
+				protocolIEs := {
+					{
+						id := id_ChosenIntegrityProtectionAlgorithm,
+						criticality := reject,
+						value_ := {
+							chosenIntegrityProtectionAlgorithm := uia_alg
+						}
+					}
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+template RANAP_PDU
+tr_RANAP_SecurityModeComplete(template IntegrityProtectionAlgorithm uia_alg,
+			      template SecurityModeComplete.protocolExtensions exts := *) := {
+	successfulOutcome := {
+		procedureCode := id_SecurityModeControl,
+		criticality := reject,
+		value_ := {
+			securityModeComplete := {
+				protocolIEs := {
+					{
+						id := id_ChosenIntegrityProtectionAlgorithm,
+						criticality := reject,
+						value_ := {
+							chosenIntegrityProtectionAlgorithm := uia_alg
+						}
+					}
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+
+template (value) RANAP_PDU
+ts_RANAP_SecurityModeCompleteEnc(template (value) IntegrityProtectionAlgorithm uia_alg,
+				 template (value) EncryptionAlgorithm uea_alg,
+				 template (omit) SecurityModeComplete.protocolExtensions exts := omit) := {
+	successfulOutcome := {
+		procedureCode := id_SecurityModeControl,
+		criticality := reject,
+		value_ := {
+			securityModeComplete := {
+				protocolIEs := {
+					{
+						id := id_ChosenIntegrityProtectionAlgorithm,
+						criticality := reject,
+						value_ := {
+							chosenIntegrityProtectionAlgorithm := uia_alg
+						}
+					}, {
+						id := id_ChosenEncryptionAlgorithm,
+						criticality := ignore,
+						value_ := {
+							chosenEncryptionAlgorithm := uea_alg
+						}
+					}
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+template RANAP_PDU
+tr_RANAP_SecurityModeCompleteEnc(template IntegrityProtectionAlgorithm uia_alg,
+				 template EncryptionAlgorithm uea_alg,
+				 template SecurityModeComplete.protocolExtensions exts := *) := {
+	successfulOutcome := {
+		procedureCode := id_SecurityModeControl,
+		criticality := reject,
+		value_ := {
+			securityModeComplete := {
+				protocolIEs := {
+					{
+						id := id_ChosenIntegrityProtectionAlgorithm,
+						criticality := reject,
+						value_ := {
+							chosenIntegrityProtectionAlgorithm := uia_alg
+						}
+					}, {
+						id := id_ChosenEncryptionAlgorithm,
+						criticality := ignore,
+						value_ := {
+							chosenEncryptionAlgorithm := uea_alg
+						}
+					}
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+
+template (value) RANAP_PDU
+ts_RANAP_SecurityModeReject(template (value) Cause cause,
+			    template (omit) SecurityModeReject.protocolExtensions exts := omit) := {
+	unsuccessfulOutcome := {
+		procedureCode := id_SecurityModeControl,
+		criticality := reject,
+		value_ := {
+			securityModeReject := {
+				protocolIEs := {
+					{
+						id := id_Cause,
+						criticality := ignore,
+						value_ := {
+							cause := cause
+						}
+					}
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+template RANAP_PDU
+tr_RANAP_SecurityModeReject(template Cause cause,
+			    template SecurityModeReject.protocolExtensions exts := *) := {
+	unsuccessfulOutcome := {
+		procedureCode := id_SecurityModeControl,
+		criticality := reject,
+		value_ := {
+			securityModeReject := {
+				protocolIEs := {
+					{
+						id := id_Cause,
+						criticality := ignore,
+						value_ := {
+							cause := cause
+						}
+					}
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+
+
+
+/*****************************************************************************************************
+ * Iu Release Request
+ *****************************************************************************************************/
+
+template (value) RANAP_PDU
+ts_RANAP_IuReleaseRequest(template (value) Cause cause,
+			  template (omit) Iu_ReleaseRequest.protocolExtensions exts := omit) := {
+	initiatingMessage := {
+		procedureCode := id_Iu_ReleaseRequest,
+		criticality := ignore,
+		value_ := {
+			iu_ReleaseRequest := {
+				protocolIEs := {
+					{
+						id := id_Cause,
+						criticality := reject,
+						value_ := {
+							cause := cause
+						}
+					}
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+template RANAP_PDU
+tr_RANAP_IuReleaseRequest(template Cause cause,
+			  template Iu_ReleaseRequest.protocolExtensions exts := *) := {
+	initiatingMessage := {
+		procedureCode := id_Iu_ReleaseRequest,
+		criticality := ignore,
+		value_ := {
+			iu_ReleaseRequest := {
+				protocolIEs := {
+					{
+						id := id_Cause,
+						criticality := reject,
+						value_ := {
+							cause := cause
+						}
+					}
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+
+/*****************************************************************************************************
+ * RAB Release
+ *****************************************************************************************************/
+
+template (value) RANAP_PDU
+ts_RANAP_RabReleaseRequest(template (value) RAB_ID rab_id, template (value) Cause cause,
+			   template (omit) RAB_ReleaseRequest.protocolExtensions exts := omit) := {
+	initiatingMessage := {
+		procedureCode := id_RAB_ReleaseRequest,
+		criticality := ignore,
+		value_ := {
+			rAB_ReleaseRequest := {
+				protocolIEs := {
+					{
+						id := id_RAB_ReleaseList,
+						criticality := ignore,
+						value_ := {
+							rAB_ReleaseList := {{
+								{
+									id := id_RAB_ReleaseItem,
+									criticality := ignore,
+									value_ := {
+										rAB_ReleaseItem := {
+											rAB_ID := rab_id,
+											cause := cause,
+											iE_Extensions := omit
+										}
+									}
+								}
+							}}
+						}
+					}
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+template RANAP_PDU
+tr_RANAP_RabReleaseRequest(template RAB_ID rab_id, template Cause cause,
+			   template RAB_ReleaseRequest.protocolExtensions exts := *) := {
+	initiatingMessage := {
+		procedureCode := id_RAB_ReleaseRequest,
+		criticality := ignore,
+		value_ := {
+			rAB_ReleaseRequest := {
+				protocolIEs := {
+					{
+						id := id_RAB_ReleaseList,
+						criticality := ignore,
+						value_ := {
+							rAB_ReleaseList := {{
+								{
+									id := id_RAB_ReleaseItem,
+									criticality := ignore,
+									value_ := {
+										rAB_ReleaseItem := {
+											rAB_ID := rab_id,
+											cause := cause,
+											iE_Extensions := *
+										}
+									}
+								}
+							}}
+						}
+					}
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+
+
+/*****************************************************************************************************
+ * Iu Release
+ *****************************************************************************************************/
+
+template (value) RANAP_PDU
+ts_RANAP_IuReleaseCommand(template (value) Cause cause,
+			  template (omit) Iu_ReleaseCommand.protocolExtensions exts := omit) := {
+	initiatingMessage := {
+		procedureCode := id_Iu_Release,
+		criticality := reject,
+		value_ := {
+			iu_ReleaseCommand := {
+				protocolIEs := {
+					{
+						id := id_Cause,
+						criticality := ignore,
+						value_ := {
+							cause := cause
+						}
+					}
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+template RANAP_PDU
+tr_RANAP_IuReleaseCommand(template Cause cause,
+			  template Iu_ReleaseCommand.protocolExtensions exts := *) := {
+	initiatingMessage := {
+		procedureCode := id_Iu_Release,
+		criticality := reject,
+		value_ := {
+			iu_ReleaseCommand := {
+				protocolIEs := {
+					{
+						id := id_Cause,
+						criticality := ignore,
+						value_ := {
+							cause := cause
+						}
+					}
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+
+template (value) RANAP_PDU
+ts_RANAP_IuReleaseComplete(template (omit) Iu_ReleaseComplete.protocolIEs ies := {},
+			   template (omit) Iu_ReleaseComplete.protocolExtensions exts := omit) := {
+	successfulOutcome := {
+		procedureCode := id_Iu_Release,
+		criticality := reject,
+		value_ := {
+			iu_ReleaseComplete := {
+				protocolIEs := ies,
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+template RANAP_PDU
+tr_RANAP_IuReleaseComplete(template Iu_ReleaseComplete.protocolIEs ies := *,
+			   template Iu_ReleaseComplete.protocolExtensions exts := *) := {
+	successfulOutcome := {
+		procedureCode := id_Iu_Release,
+		criticality := reject,
+		value_ := {
+			iu_ReleaseComplete:= {
+				protocolIEs := ies,
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+
+/*****************************************************************************************************
+ * Paging
+ *****************************************************************************************************/
+
+template (value) RANAP_PDU
+ts_RANAP_Paging(template (value) CN_DomainIndicator dom, template (value) IMSI imsi,
+		template (omit) TemporaryUE_ID temp_id := omit,
+		template (omit) Paging.protocolExtensions exts := omit) := {
+	initiatingMessage := {
+		procedureCode := id_Paging,
+		criticality := ignore,
+		value_ := {
+			paging := {
+				protocolIEs := {
+					{
+						id := id_CN_DomainIndicator,
+						criticality := ignore,
+						value_ := {
+							cN_DomainIndicator := dom
+						}
+					}, {
+						id := id_PermanentNAS_UE_ID,
+						criticality := ignore,
+						value_ := {
+							permanentNAS_UE_ID := {
+								iMSI := imsi
+							}
+						}
+					}
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+template RANAP_PDU
+tr_RANAP_Paging(template CN_DomainIndicator dom, template IMSI imsi,
+		template Paging.protocolExtensions exts := *) := {
+	initiatingMessage := {
+		procedureCode := id_Paging,
+		criticality := ignore,
+		value_ := {
+			paging := {
+				protocolIEs := {
+					{
+						id := id_CN_DomainIndicator,
+						criticality := ignore,
+						value_ := {
+							cN_DomainIndicator := dom
+						}
+					}, {
+						id := id_PermanentNAS_UE_ID,
+						criticality := ignore,
+						value_ := {
+							permanentNAS_UE_ID := {
+								iMSI := imsi
+							}
+						}
+					}, *
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+
+
+
+/*****************************************************************************************************
+ * Common ID
+ *****************************************************************************************************/
+
+template (value) RANAP_PDU
+ts_RANAP_CommonId(template (value) IMSI imsi,
+		template (omit) CommonID.protocolExtensions exts := omit) := {
+	initiatingMessage := {
+		procedureCode := id_CommonID,
+		criticality := ignore,
+		value_ := {
+			commonID := {
+				protocolIEs := {
+					{
+						id := id_PermanentNAS_UE_ID,
+						criticality := ignore,
+						value_ := {
+							permanentNAS_UE_ID := {
+								iMSI := imsi
+							}
+						}
+					}
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+template RANAP_PDU
+tr_RANAP_CommonId(template IMSI imsi,
+		  template CommonID.protocolExtensions exts := *) := {
+	initiatingMessage := {
+		procedureCode := id_CommonID,
+		criticality := ignore,
+		value_ := {
+			commonID := {
+				protocolIEs := {
+					{
+						id := id_PermanentNAS_UE_ID,
+						criticality := ignore,
+						value_ := {
+							permanentNAS_UE_ID := {
+								iMSI := imsi
+							}
+						}
+					}
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+
+/*****************************************************************************************************
+ * Initial UE Message
+ *****************************************************************************************************/
+
+template (value) RANAP_PDU
+ts_RANAP_initialUE_CS(template (value) LAI lai, template (value) SAI sai,
+		      template (value) NAS_PDU nas,
+		      template (value) IuSignallingConnectionIdentifier sigc_id,
+		      template (value) GlobalRNC_ID grnc_id,
+		      template (omit) InitialUE_Message.protocolExtensions exts := omit) := {
+	initiatingMessage := {
+		procedureCode := id_InitialUE_Message,
+		criticality := ignore,
+		value_ := {
+			initialUE_Message := {
+				protocolIEs := {
+					{
+						id := id_CN_DomainIndicator,
+						criticality := ignore,
+						value_ := {
+							cN_DomainIndicator := cs_domain
+						}
+					}, {
+						id := id_LAI,
+						criticality := ignore,
+						value_ := {
+							lAI := lai
+						}
+					}, {
+						id := id_SAI,
+						criticality := ignore,
+						value_ := {
+							sAI := sai
+						}
+					}, {
+						id := id_NAS_PDU,
+						criticality := ignore,
+						value_ := {
+							nAS_PDU := nas
+						}
+					}, {
+						id := id_IuSigConId,
+						criticality := ignore,
+						value_ := {
+							iuSignallingConnectionIdentifier := sigc_id
+						}
+					}, {
+						id := id_GlobalRNC_ID,
+						criticality := ignore,
+						value_ := {
+							globalRNC_ID := grnc_id
+						}
+					}
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+template RANAP_PDU
+tr_RANAP_initialUE_CS(template LAI lai, template SAI sai,
+		      template NAS_PDU nas,
+		      template IuSignallingConnectionIdentifier sigc_id,
+		      template GlobalRNC_ID grnc_id,
+		      template InitialUE_Message.protocolExtensions exts := *) := {
+	initiatingMessage := {
+		procedureCode := id_InitialUE_Message,
+		criticality := ignore,
+		value_ := {
+			initialUE_Message := {
+				protocolIEs := {
+					{
+						id := id_CN_DomainIndicator,
+						criticality := ignore,
+						value_ := {
+							cN_DomainIndicator := cs_domain
+						}
+					}, {
+						id := id_LAI,
+						criticality := ignore,
+						value_ := {
+							lAI := lai
+						}
+					}, {
+						id := id_SAI,
+						criticality := ignore,
+						value_ := {
+							sAI := sai
+						}
+					}, {
+						id := id_NAS_PDU,
+						criticality := ignore,
+						value_ := {
+							nAS_PDU := nas
+						}
+					}, {
+						id := id_IuSigConId,
+						criticality := ignore,
+						value_ := {
+							iuSignallingConnectionIdentifier := sigc_id
+						}
+					}, {
+						id := id_GlobalRNC_ID,
+						criticality := ignore,
+						value_ := {
+							globalRNC_ID := grnc_id
+						}
+					}
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+
+template (value) RANAP_PDU
+ts_RANAP_initialUE_PS(template (value) LAI lai, template (value) RAC rac, template (value) SAI sai,
+		      template (value) NAS_PDU nas,
+		      template (value) IuSignallingConnectionIdentifier sigc_id,
+		      template (value) GlobalRNC_ID grnc_id,
+		      template (omit) InitialUE_Message.protocolExtensions exts := omit) := {
+	initiatingMessage := {
+		procedureCode := id_InitialUE_Message,
+		criticality := ignore,
+		value_ := {
+			initialUE_Message := {
+				protocolIEs := {
+					{
+						id := id_CN_DomainIndicator,
+						criticality := ignore,
+						value_ := {
+							cN_DomainIndicator := ps_domain
+						}
+					}, {
+						id := id_LAI,
+						criticality := ignore,
+						value_ := {
+							lAI := lai
+						}
+					}, {
+						id := id_RAC,
+						criticality := ignore,
+						value_ := {
+							rAC := rac
+						}
+					}, {
+						id := id_SAI,
+						criticality := ignore,
+						value_ := {
+							sAI := sai
+						}
+					}, {
+						id := id_NAS_PDU,
+						criticality := ignore,
+						value_ := {
+							nAS_PDU := nas
+						}
+					}, {
+						id := id_IuSigConId,
+						criticality := ignore,
+						value_ := {
+							iuSignallingConnectionIdentifier := sigc_id
+						}
+					}, {
+						id := id_GlobalRNC_ID,
+						criticality := ignore,
+						value_ := {
+							globalRNC_ID := grnc_id
+						}
+					}
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+template RANAP_PDU
+tr_RANAP_initialUE_PS(template LAI lai, template RAC rac, template SAI sai,
+		      template NAS_PDU nas,
+		      template IuSignallingConnectionIdentifier sigc_id,
+		      template GlobalRNC_ID grnc_id,
+		      template InitialUE_Message.protocolExtensions exts := *) := {
+	initiatingMessage := {
+		procedureCode := id_InitialUE_Message,
+		criticality := ignore,
+		value_ := {
+			initialUE_Message := {
+				protocolIEs := {
+					{
+						id := id_CN_DomainIndicator,
+						criticality := ignore,
+						value_ := {
+							cN_DomainIndicator := ps_domain
+						}
+					}, {
+						id := id_LAI,
+						criticality := ignore,
+						value_ := {
+							lAI := lai
+						}
+					}, {
+						id := id_RAC,
+						criticality := ignore,
+						value_ := {
+							rAC := rac
+						}
+					}, {
+						id := id_SAI,
+						criticality := ignore,
+						value_ := {
+							sAI := sai
+						}
+					}, {
+						id := id_NAS_PDU,
+						criticality := ignore,
+						value_ := {
+							nAS_PDU := nas
+						}
+					}, {
+						id := id_IuSigConId,
+						criticality := ignore,
+						value_ := {
+							iuSignallingConnectionIdentifier := sigc_id
+						}
+					}, {
+						id := id_GlobalRNC_ID,
+						criticality := ignore,
+						value_ := {
+							globalRNC_ID := grnc_id
+						}
+					}
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+
+/*****************************************************************************************************
+ * Direct Transfer
+ *****************************************************************************************************/
+
+template (value) RANAP_PDU
+ts_RANAP_DirectTransfer(template (value) NAS_PDU nas,
+			/* template DirectTransfer.protocolIEs ies := {}, */
+			template (omit) DirectTransfer.protocolExtensions exts := omit) := {
+	initiatingMessage := {
+		procedureCode := id_DirectTransfer,
+		criticality := ignore,
+		value_ := {
+			directTransfer := {
+				protocolIEs := {
+					{
+						id := id_NAS_PDU,
+						criticality := ignore,
+						value_ := {
+							nAS_PDU := nas
+						}
+					}
+					/* LAI, RAC, SAI */
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+template RANAP_PDU
+tr_RANAP_DirectTransfer(template NAS_PDU nas,
+			template SAPI sapi := sapi_0,
+			/* template DirectTransfer.protocolIEs ies := {}, */
+			template DirectTransfer.protocolExtensions exts := *) := {
+	initiatingMessage := {
+		procedureCode := id_DirectTransfer,
+		criticality := ignore,
+		value_ := {
+			directTransfer := {
+				protocolIEs := {
+					{
+						id := id_NAS_PDU,
+						criticality := ignore,
+						value_ := {
+							nAS_PDU := nas
+						}
+					},
+					* /* LAI, RAC, SAI */
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+
+template (value) RANAP_PDU
+ts_RANAP_DirectTransferSAPI(template (value) NAS_PDU nas,
+			    template (value) SAPI sapi := sapi_0,
+			    /* template DirectTransfer.protocolIEs ies := {}, */
+			    template (omit) DirectTransfer.protocolExtensions exts := omit) := {
+	initiatingMessage := {
+		procedureCode := id_DirectTransfer,
+		criticality := ignore,
+		value_ := {
+			directTransfer := {
+				protocolIEs := {
+					{
+						id := id_NAS_PDU,
+						criticality := ignore,
+						value_ := {
+							nAS_PDU := nas
+						}
+					},
+					/* LAI, RAC, SAI */
+					{
+						id := id_SAPI,
+						criticality := ignore,
+						value_ := {
+							sAPI := sapi
+						}
+					}
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+template RANAP_PDU
+tr_RANAP_DirectTransferSAPI(template NAS_PDU nas,
+			    template SAPI sapi := sapi_0,
+			    /* template DirectTransfer.protocolIEs ies := {}, */
+			    template DirectTransfer.protocolExtensions exts := *) := {
+	initiatingMessage := {
+		procedureCode := id_DirectTransfer,
+		criticality := ignore,
+		value_ := {
+			directTransfer := {
+				protocolIEs := {
+					{
+						id := id_NAS_PDU,
+						criticality := ignore,
+						value_ := {
+							nAS_PDU := nas
+						}
+					},
+					*, /* LAI, RAC, SAI */
+					{
+						id := id_SAPI,
+						criticality := ignore,
+						value_ := {
+							sAPI := sapi
+						}
+					}
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+
+
+/*****************************************************************************************************
+ * RAB Assignment Request
+ *****************************************************************************************************/
+
+template (value) RAB_Parameters ts_RabParams := {
+	trafficClass := conversational,
+	rAB_AsymmetryIndicator := symmetric_bidirectional,
+	maxBitrate := { 12200 },
+	guaranteedBitRate := { 12200 },
+	deliveryOrder := delivery_order_requested,
+	maxSDU_Size := 244,
+	sDU_Parameters := {
+		{
+			sDU_ErrorRatio := { mantissa := 1, exponent := 5, iE_Extensions := omit },
+			residualBitErrorRatio := { mantissa := 1, exponent := 6, iE_Extensions := omit },
+			deliveryOfErroneousSDU := yes,
+			sDU_FormatInformationParameters := {
+				{
+					subflowSDU_Size := 81,
+					rAB_SubflowCombinationBitRate := omit,
+					iE_Extensions := omit
+				}, {
+					subflowSDU_Size := 39,
+					rAB_SubflowCombinationBitRate := omit,
+					iE_Extensions := omit
+				}
+			},
+			iE_Extensions := omit
+		}, {
+			sDU_ErrorRatio := omit,
+			residualBitErrorRatio := { mantissa := 1, exponent := 3, iE_Extensions := omit },
+			deliveryOfErroneousSDU := no_error_detection_consideration,
+			sDU_FormatInformationParameters := {
+				{
+					subflowSDU_Size := 103,
+					rAB_SubflowCombinationBitRate := omit,
+					iE_Extensions := omit
+				}, {
+					subflowSDU_Size := 0,
+					rAB_SubflowCombinationBitRate := omit,
+					iE_Extensions := omit
+				}
+			},
+			iE_Extensions := omit
+		}, {
+			sDU_ErrorRatio := omit,
+			residualBitErrorRatio := { mantissa := 5, exponent := 3, iE_Extensions := omit },
+			deliveryOfErroneousSDU := no_error_detection_consideration,
+			sDU_FormatInformationParameters := {
+				{
+					subflowSDU_Size := 60,
+					rAB_SubflowCombinationBitRate := omit,
+					iE_Extensions := omit
+				}, {
+					subflowSDU_Size := 0,
+					rAB_SubflowCombinationBitRate := omit,
+					iE_Extensions := omit
+				}
+			},
+			iE_Extensions := omit
+		}
+	},
+	transferDelay := 80,
+	trafficHandlingPriority := omit,
+	allocationOrRetentionPriority := {
+		priorityLevel := 15,
+		pre_emptionCapability := shall_not_trigger_pre_emption,
+		pre_emptionVulnerability := pre_emptable,
+		queuingAllowed := queueing_not_allowed,
+		iE_Extensions := omit
+	},
+	sourceStatisticsDescriptor := omit,
+	relocationRequirement := omit,
+	iE_Extensions := omit
+}
+
+template (value) UserPlaneInformation ts_UserPlaneInfo := {
+	userPlaneMode := support_mode_for_predefined_SDU_sizes,
+	uP_ModeVersions := '0000000000000010'B,
+	iE_Extensions := omit
+}
+
+template (value) TransportLayerInformation ts_TLI(template (value) TransportLayerAddress tla,
+						  template (value) BindingID binding_id) := {
+	transportLayerAddress := tla,
+	iuTransportAssociation := {
+		bindingID := binding_id
+	},
+	iE_Extensions := omit
+}
+template TransportLayerInformation tr_TLI(template TransportLayerAddress tla,
+					  template BindingID binding_id) := {
+	transportLayerAddress := tla,
+	iuTransportAssociation := {
+		bindingID := binding_id
+	},
+	iE_Extensions := *
+}
+
+template (value) RAB_SetupOrModifyList ts_RAB_SML(template (value) RAB_ID rab_id,
+						  template (value) TransportLayerAddress tla,
+						  template (value) BindingID binding_id) := { {
+	{
+		id := id_RAB_SetupOrModifyItem,
+		firstCriticality := reject,
+		firstValue := {
+			rAB_SetupOrModifyItemFirst := {
+				rAB_ID := rab_id,
+				nAS_SynchronisationIndicator := omit,
+				rAB_Parameters := ts_RabParams,
+				userPlaneInformation := ts_UserPlaneInfo,
+				transportLayerInformation := ts_TLI(tla, binding_id),
+				service_Handover := omit,
+				iE_Extensions := omit
+			}
+		},
+		secondCriticality := ignore,
+		secondValue := {
+			rAB_SetupOrModifyItemSecond := {
+				pDP_TypeInformation := omit,
+				dataVolumeReportingIndication := omit,
+				dl_GTP_PDU_SequenceNumber := omit,
+				ul_GTP_PDU_SequenceNumber := omit,
+				dl_N_PDU_SequenceNumber := omit,
+				ul_N_PDU_SequenceNumber := omit,
+				iE_Extensions := omit
+			}
+		}
+	}
+} }
+template RAB_SetupOrModifyList tr_RAB_SML(template RAB_ID rab_id,
+					  template TransportLayerAddress tla,
+					  template BindingID binding_id) := { {
+	{
+		id := id_RAB_SetupOrModifyItem,
+		firstCriticality := reject,
+		firstValue := {
+			rAB_SetupOrModifyItemFirst := {
+				rAB_ID := rab_id,
+				nAS_SynchronisationIndicator := *,
+				rAB_Parameters := ts_RabParams,
+				userPlaneInformation := ts_UserPlaneInfo,
+				transportLayerInformation := tr_TLI(tla, binding_id),
+				service_Handover := *,
+				iE_Extensions := *
+			}
+		},
+		secondCriticality := ignore,
+		secondValue := {
+			rAB_SetupOrModifyItemSecond := {
+				pDP_TypeInformation := omit,
+				dataVolumeReportingIndication := omit,
+				dl_GTP_PDU_SequenceNumber := omit,
+				ul_GTP_PDU_SequenceNumber := omit,
+				dl_N_PDU_SequenceNumber := omit,
+				ul_N_PDU_SequenceNumber := omit,
+				iE_Extensions := omit
+			}
+		}
+	}
+} }
+
+
+template (value) RANAP_PDU
+ts_RANAP_RabAssReq(template (value) RAB_SetupOrModifyList rab_sml,
+		   template (omit) RAB_AssignmentRequest.protocolExtensions exts := omit) := {
+	initiatingMessage := {
+		procedureCode := id_RAB_Assignment,
+		criticality := reject,
+		value_ := {
+			rAB_AssignmentRequest := {
+				protocolIEs := {
+					{
+						id := id_RAB_SetupOrModifyList,
+						criticality := reject,
+						value_ := {
+							rAB_SetupOrModifyList := rab_sml
+						}
+					}
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+template RANAP_PDU
+tr_RANAP_RabAssReq(template RAB_SetupOrModifyList rab_sml,
+		   template RAB_AssignmentRequest.protocolExtensions exts := *) := {
+	initiatingMessage := {
+		procedureCode := id_RAB_Assignment,
+		criticality := reject,
+		value_ := {
+			rAB_AssignmentRequest := {
+				protocolIEs := {
+					{
+						id := id_RAB_SetupOrModifyList,
+						criticality := reject,
+						value_ := {
+							rAB_SetupOrModifyList := rab_sml
+						}
+					}
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+
+
+template (value) RANAP_PDU
+ts_RANAP_RabAssResp(template (value) RAB_SetupOrModifiedList rab_sml,
+		    template (omit) RAB_AssignmentResponse.protocolExtensions exts := omit) := {
+	outcome := {
+		procedureCode := id_RAB_Assignment,
+		criticality := reject,
+		value_ := {
+			rAB_AssignmentResponse := {
+				protocolIEs := {
+					{
+						id := id_RAB_SetupOrModifiedList,
+						criticality := ignore,
+						value_ := {
+							rAB_SetupOrModifiedList := rab_sml
+						}
+					}
+					/* RAB-ReleasedList */
+					/* RAB-QueuedList */
+					/* RAB-FailedList */
+					/* RAB-ReleaseFailedList */
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+template RANAP_PDU
+tr_RANAP_RabAssResp(template RAB_SetupOrModifiedList rab_sml,
+		    template RAB_AssignmentResponse.protocolExtensions exts := *) := {
+	outcome := {
+		procedureCode := id_RAB_Assignment,
+		criticality := reject,
+		value_ := {
+			rAB_AssignmentResponse := {
+				protocolIEs := {
+					{
+						id := id_RAB_SetupOrModifiedList,
+						criticality := ignore,
+						value_ := {
+							rAB_SetupOrModifiedList := rab_sml
+						}
+					}, *
+					/* RAB-ReleasedList */
+					/* RAB-QueuedList */
+					/* RAB-FailedList */
+					/* RAB-ReleaseFailedList */
+				},
+				protocolExtensions := exts
+			}
+		}
+	}
+}
+
+
+/*****************************************************************************************************
+ *
+ *****************************************************************************************************/
+
+/* extract the L3 (NAS) from a given RANAP message */
+function f_ranap_extract_l3(RANAP_PDU ranap) return template (omit) octetstring
+{
+	var integer i;
+
+	if (match(ranap, tr_RANAP_initialUE_CS(?, ?, ?, ?, ?)) or
+	    match(ranap, tr_RANAP_initialUE_PS(?, ?, ?, ?, ?, ?)) ) {
+		var InitialUE_Message.protocolIEs ies := ranap.initiatingMessage.value_.initialUE_Message.protocolIEs;
+		for (i := 0; i < lengthof(ies); i := i+1) {
+			if (ies[i].id == id_NAS_PDU) {
+				return ies[i].value_.nAS_PDU;
+			}
+		}
+	} else if (match(ranap, tr_RANAP_DirectTransfer(?, ?))) {
+		var DirectTransfer.protocolIEs ies := ranap.initiatingMessage.value_.directTransfer.protocolIEs;
+		for (i := 0; i < lengthof(ies); i := i+1) {
+			if (ies[i].id == id_NAS_PDU) {
+				return ies[i].value_.nAS_PDU;
+			}
+		}
+	} else {
+		/* relocationInformation not supported yet*/
+	}
+	return omit;
+}
+
+function f_ranap_extract_sapi(RANAP_PDU ranap) return template (omit) SAPI
+{
+	var integer i;
+
+	/* InitialUE message has no SAPI */
+	if (match(ranap, tr_RANAP_DirectTransfer(?, ?))) {
+		var DirectTransfer.protocolIEs ies := ranap.initiatingMessage.value_.directTransfer.protocolIEs;
+		for (i := 0; i < lengthof(ies); i := i+1) {
+			if (ies[i].id == id_SAPI) {
+				return ies[i].value_.sAPI;
+			}
+		}
+	}
+	return omit;
+}
+
+
+}
diff --git a/library/ranap/RANAP_Types.ttcn b/library/ranap/RANAP_Types.ttcn
new file mode 100644
index 0000000..2e40aba
--- /dev/null
+++ b/library/ranap/RANAP_Types.ttcn
@@ -0,0 +1,7 @@
+module RANAP_Types {
+
+	import from RANAP_PDU_Descriptions language "ASN.1:1997" all;
+
+	external function enc_RANAP_PDU(in RANAP_PDU pdu) return octetstring;
+	external function dec_RANAP_PDU(in octetstring stream) return RANAP_PDU;
+}
diff --git a/library/ranap/regen_makefile.sh b/library/ranap/regen_makefile.sh
new file mode 100755
index 0000000..0ae1cfd
--- /dev/null
+++ b/library/ranap/regen_makefile.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+FILES="*.asn *.ttcn RANAP_EncDec.cc"
+
+../../regen-makefile.sh $FILES
+
+sed -i -e '/^CPPFLAGS/ s/$/ `pkg-config --cflags libfftranscode`/' Makefile
+sed -i -e '/^LDFLAGS/ s/$/ `pkg-config --libs libfftranscode`/' Makefile
+sed -i -e '/^LINUX_LIBS/ s/$/ `pkg-config --libs libfftranscode`/' Makefile